Skip to content

Commit a989727

Browse files
author
Pavel Siska
committed
Refactor functional tests
1 parent c1ffd6a commit a989727

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+102
-333
lines changed

CMakeLists.txt

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,16 @@ include(cmake/installation.cmake)
1212

1313
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
1414

15-
option(ENABLE_INPUT_PCAP "Enable build of input PCAP plugin" ON)
16-
option(ENABLE_INPUT_DPDK "Enable build of input DPDK plugin" OFF)
17-
option(ENABLE_INPUT_NFB "Enable build of input NFB plugin" OFF)
18-
19-
option(ENABLE_OUTPUT_UNIREC "Enable build of output UNIREC plugin" OFF)
20-
21-
option(ENABLE_PROCESS_EXPERIMENTAL "Enable build of experimental process plugins" OFF)
22-
option(ENABLE_RPMBUILD "Enable build of RPM package" ON)
23-
15+
option(ENABLE_INPUT_PCAP "Enable build of input PCAP plugin" ON)
16+
option(ENABLE_INPUT_DPDK "Enable build of input DPDK plugin" OFF)
17+
option(ENABLE_INPUT_NFB "Enable build of input NFB plugin" OFF)
18+
option(ENABLE_OUTPUT_UNIREC "Enable build of output UNIREC plugin" OFF)
19+
option(ENABLE_PROCESS_EXPERIMENTAL "Enable build of experimental process plugins" OFF)
2420
option(ENABLE_MILISECONDS_TIMESTAMP "Compile ipfixprobe with miliseconds timestamp precesion" OFF)
25-
option(ENABLE_NEMEA "Enable build of NEMEA plugins" OFF)
21+
option(ENABLE_NEMEA "Enable build of NEMEA plugins" OFF)
22+
23+
option(ENABLE_RPMBUILD "Enable build of RPM package" ON)
24+
option(ENABLE_TESTS "Build tests (make test)" OFF)
2625

2726
if(ENABLE_MILISECONDS_TIMESTAMP)
2827
add_compile_definitions(IPXP_TS_MSEC)
@@ -55,3 +54,14 @@ include(cmake/dependencies.cmake)
5554
add_subdirectory(external)
5655
add_subdirectory(src)
5756
add_subdirectory(pkg)
57+
58+
if (ENABLE_TESTS)
59+
if (NOT ENABLE_NEMEA OR NOT ENABLE_OUTPUT_UNIREC OR NOT ENABLE_INPUT_PCAP)
60+
message(FATAL_ERROR
61+
"ENABLE_TESTS requires ENABLE_NEMEA, "
62+
"ENABLE_INPUT_PCAP and ENABLE_OUTPUT_UNIREC to be enabled."
63+
)
64+
endif()
65+
enable_testing()
66+
add_subdirectory(tests)
67+
endif()

cmake/dependencies.cmake

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,7 @@ if (ENABLE_OUTPUT_UNIREC OR ENABLE_NEMEA)
2323
find_package(LIBTRAP REQUIRED)
2424
find_package(UNIREC REQUIRED)
2525
endif()
26+
27+
if (ENABLE_TESTS)
28+
#find_package(NEMEA_MODULES REQUIRED) // TODO: NEMEA_MODULES
29+
endif()

pcaps/README.md

Lines changed: 0 additions & 3 deletions
This file was deleted.

pcaps/more_initial_samples.pcapng

-83.2 KB
Binary file not shown.

pcaps/more_initial_samples2.pcapng

-93.5 KB
Binary file not shown.

tests/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
add_subdirectory(functional)

tests/Makefile.am

Lines changed: 0 additions & 1 deletion
This file was deleted.

tests/functional/CMakeLists.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/tests/functional/results)
2+
3+
macro(add_process_plugin_test test_name plugin_name pcap_file)
4+
add_test(
5+
NAME ${test_name}
6+
COMMAND bash ${CMAKE_CURRENT_SOURCE_DIR}/scripts/run_test.sh ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR} ${plugin_name} ${pcap_file}
7+
)
8+
endmacro()
9+
10+
add_process_plugin_test(BasicProcessPlugin basic mixed.pcap)
11+
add_process_plugin_test(BasicPlusProcessPlugin basicplus http.pcap)
12+
add_process_plugin_test(BstatsProcessPlugin bstats bstats.pcap)
13+
add_process_plugin_test(DnsProcessPlugin dns dns.pcap)
14+
add_process_plugin_test(DnssdProcessPlugin dnssd dnssd.pcap)
15+
add_process_plugin_test(HttpProcessPlugin http http.pcap)
16+
add_process_plugin_test(IdpcontentProcessPlugin idpcontent idpcontent.pcap)
17+
add_process_plugin_test(MqttProcessPlugin mqtt mqtt.pcap)
18+
add_process_plugin_test(NetbiosProcessPlugin netbios netbios.pcap)
19+
add_process_plugin_test(NettisaProcessPlugin nettisa mixed.pcap)
20+
add_process_plugin_test(NtpProcessPlugin ntp ntp.pcap)
21+
add_process_plugin_test(OvpnProcessPlugin ovpn ovpn.pcap)
22+
add_process_plugin_test(PassivednsProcessPlugin passivedns dns.pcap)
23+
add_process_plugin_test(PhistsProcessPlugin phists mixed.pcap)
24+
add_process_plugin_test(PstatsProcessPlugin pstats mixed.pcap)
25+
add_process_plugin_test(QuicProcessPlugin quic quic_initial-sample.pcap.pcap)
26+
add_process_plugin_test(RtspProcessPlugin rtsp rtsp.pcap)
27+
add_process_plugin_test(SipProcessPlugin sip sip.pcap)
28+
add_process_plugin_test(SmtpProcessPlugin smtp smtp.pcap)
29+
add_process_plugin_test(SsadetectorProcessPlugin ssadetector ovpn.pcap)
30+
add_process_plugin_test(SsdpProcessPlugin ssdp ssdp.pcap)
31+
add_process_plugin_test(TlsProcessPlugin tls tls.pcap)
32+
add_process_plugin_test(VlanProcessPlugin vlan vlan.pcap)
33+
add_process_plugin_test(WgProcessPlugin wg wg.pcap)
34+
35+
36+
add_custom_target(tests
37+
COMMAND ${CMAKE_CTEST_COMMAND} --output-on-failure
38+
WORKING_DIRECTORY ${CMAKE_BINARY_DIR} # 📌 Testy spouštíme z build dir
39+
)

tests/functional/Makefile.am

Lines changed: 0 additions & 81 deletions
This file was deleted.

tests/functional/basic.sh

Lines changed: 0 additions & 8 deletions
This file was deleted.

0 commit comments

Comments
 (0)