summaryrefslogtreecommitdiffstats
path: root/src/plugins/nat/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/nat/CMakeLists.txt')
-rw-r--r--src/plugins/nat/CMakeLists.txt19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/plugins/nat/CMakeLists.txt b/src/plugins/nat/CMakeLists.txt
index 623c92ace69..2545da6da18 100644
--- a/src/plugins/nat/CMakeLists.txt
+++ b/src/plugins/nat/CMakeLists.txt
@@ -172,16 +172,33 @@ add_vpp_plugin(pnat
)
# Unit tests
+set (PACKET_HEADER ${CMAKE_CURRENT_SOURCE_DIR}/pnat/tests/test_packets.h)
+set (PACKET_DEFS
+ ${CMAKE_CURRENT_SOURCE_DIR}/pnat/tests/packets.def
+ ${CMAKE_CURRENT_SOURCE_DIR}/pnat/tests/missing_rule.def)
+set (PACKET_TESTGET ${CMAKE_CURRENT_SOURCE_DIR}/pnat/tests/test_genpackets.py)
+
add_vpp_executable(test_pnat
SOURCES
- pnat/pnat_test.c
+ pnat/tests/pnat_test.c
pnat/pnat_node.c
pnat/pnat.c
../../vnet/ip/ip_checksum.c
+
LINK_LIBRARIES vppinfra vlib
NO_INSTALL
)
+add_custom_target(test_pnat-generate
+ COMMAND ${PACKET_TESTGET} ${PACKET_DEFS} > ${PACKET_HEADER}
+ COMMENT "Generating packet test definitions ${PACKET_DEFS}"
+)
+
+add_custom_target(test_pnat-run
+ COMMAND test_pnat
+ DEPENDS test_pnat
+)
+
if("${CMAKE_VERSION}" VERSION_GREATER_EQUAL "3.13" AND "${CMAKE_C_COMPILER_ID}" MATCHES "(Apple)?[Cc]lang")
set(TARGET_NAME test_pnat)
set(COV_SOURCES ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat.c ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat_node.h ${CMAKE_SOURCE_DIR}/plugins/nat/pnat/pnat_node.c)