mirror of
https://gitlab.eurecom.fr/oai/openairinterface5g.git
synced 2026-07-13 04:30:28 +00:00
Convert physims in cmake_targets/autotests/test_case_list.xml to ctest
Convert physim testcases defined in cmake_targets/autotests/test_case_list.xml into CTest based tests. These test are activated when '-DENABLE_PHYSIM_TESTS=ON' CMake flag is set. Note: Tests for dlsim_tm4 are excluded, due to compilation issues. CTest evaluates success based on return code: '0' = pass, non-zero = fail. The following table outlines the physim executables, their success expressions (`expr_true`), and the return codes for success (`ret_success`) and failure (`ret_fail`). The `expr_true` is used in test_case_list.xml to check for test results. | test_exec | expr_true | ret_succ | ret_fail | | ------------- | -------------- | --------------- | ----------------- | | dlsim | passed | 0 | -1 | | ulsim | passed | 0 (ret) | 1 (ret) | | ldpctest | BLER 0.000000 | 0 | 1 | | polartest | BLER= 0.000000 | 0 | 1 | | nr_pbchsim | PBCH test OK | 0 | 1 | | nr_dlsim | PDSCH test OK | 0 | 1 | | smallblocktest| BLER= 0.000000 | 0 | 1 | | nr_ulschsim | PUSCH test OK | 0 (n_errors) | n_errors | | nr_pucchsim | PUCCH test OK | 0 | 1 | | nr_ulsim | PUSCH test OK | 0 (ret) | -1 (ret) | | nr_prachsim | PRACH test OK | 0 (prach_errors)| > 0 (prach_errors)| | nr_psbchsim | PSBCH test OK | 0 (errors) | > 0 (errors) | Add CMake flag "ENABLE_PHYSIM_TESTS=ON" when building OAI with "-P" or "--phy_simulators" option. This allows physim-related ctest to be executed from build directory. Add dependency on coding lib for all 4G physims
This commit is contained in:
@@ -2052,6 +2052,7 @@ foreach(myExe dlsim dlsim_tm7 ulsim pbchsim scansim mbmssim pdcchsim pucchsim pr
|
||||
pthread m rt CONFIG_LIB ${T_LIB} dl shlib_loader
|
||||
)
|
||||
target_link_libraries(${myExe} PRIVATE asn1_lte_rrc_hdrs)
|
||||
add_dependencies(${myExe} coding)
|
||||
|
||||
endforeach(myExe)
|
||||
|
||||
@@ -2104,12 +2105,18 @@ include(${OPENAIR1_DIR}/PHY/CODING/nrLDPC_decoder/nrLDPC_tools/CMakeLists.txt)
|
||||
|
||||
set(ENABLE_TESTS OFF CACHE STRING "Activate build of tests")
|
||||
set_property(CACHE ENABLE_TESTS PROPERTY TYPE BOOL)
|
||||
if(ENABLE_TESTS)
|
||||
# activates globally adding tests such that they can be run using ctest
|
||||
enable_testing()
|
||||
set(ENABLE_PHYSIM_TESTS OFF CACHE STRING "Activate build of physim tests")
|
||||
set_property(CACHE ENABLE_PHYSIM_TESTS PROPERTY TYPE BOOL)
|
||||
|
||||
if(ENABLE_TESTS OR ENABLE_PHYSIM_TESTS)
|
||||
# meta-target: each test is supposed to add_dependencies(tests ${NEWTEST})
|
||||
# then, it is possible to build and execute all tests using "ninja tests && ctest"
|
||||
add_custom_target(tests)
|
||||
# activates globally adding tests such that they can be run using ctest
|
||||
enable_testing()
|
||||
endif()
|
||||
|
||||
if(ENABLE_TESTS)
|
||||
find_package(GTest)
|
||||
if (NOT GTest_FOUND)
|
||||
message(STATUS "GTest package not found, will download googletest automatically. To prevent that install google test on your system (libgtest-dev)")
|
||||
|
||||
Reference in New Issue
Block a user