Add CU-UP functional test to ctest

Use the CU-UP load tester to test the functionality of the CU-UP and
its loader tester. The requirements on this load test are intentionally
low, as it will be run with other unit tests in parallel, and should
still pass.

It uses an existing configuration file for the CU-UP. The test script
runs the CU-UP, runs the load tester, stops the CU-UP, and returns the
load tester return value as test result (which will be 0=success if all
packets have been received).
This commit is contained in:
Robert Schmidt
2025-10-28 08:25:06 +01:00
parent e9bf6344b0
commit eced5afdf7
2 changed files with 31 additions and 0 deletions

View File

@@ -1,4 +1,14 @@
add_executable(nr-cuup-load-test nr-cuup-load-test.c)
add_dependencies(nr-cuup-load-test params_libconfig)
target_link_libraries(nr-cuup-load-test PRIVATE GTPV1U ${T_LIB} utils ITTI e1ap
SCTP_CLIENT)
target_link_libraries(nr-cuup-load-test PRIVATE asn1_lte_rrc_hdrs asn1_nr_rrc_hdrs) # ITTI
if(ENABLE_TESTS)
# we add also nr-cuup as it is required for the test
add_dependencies(tests nr-cuup-load-test nr-cuup)
add_test(NAME nr_cuup_functional_test
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/nr-cuup-functional-test.sh ${CMAKE_CURRENT_SOURCE_DIR}/load-test.conf
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
)
endif()

View File

@@ -0,0 +1,21 @@
#!/bin/bash
# this script takes one argument, which is the path to the CU-UP configuration
if [ $# -ne 1 ]; then
echo "usage: $0 <cuup-config>"
exit 1
fi
CONFIG=$1
set -x
# current dir should be CMAKE_BINARY_DIR
./nr-cuup -O ${CONFIG} &
CUUP_PID=$!
timeout 5s ./tests/nr-cuup/nr-cuup-load-test -t 3 -d 10 -u 10
RET=$?
kill ${CUUP_PID}
exit ${RET}