summaryrefslogtreecommitdiff
path: root/test/cmake/nx_secure_interoperability/regression/CMakeLists.txt
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-08-25 16:43:19 -0400
committerGitHub <[email protected]>2026-08-25 16:43:19 -0400
commit2c4e58f1e4193f91418d767622b633fbc62d38ad (patch)
tree38242ef05e07773c1e859debf55dcd1937c51ad0 /test/cmake/nx_secure_interoperability/regression/CMakeLists.txt
parent9e8e223103c35f702b18a2b432024b9992678e5f (diff)
Added conditional dev CI routing (#427)dev
* Added conditional dev CI routing Added the dev pull-request and push workflow with mandatory smoke coverage, component-aware profile selection, conservative full fallbacks, and a stable aggregate gate. Added a validated profile map and regression coverage for classifier and gate behavior. Assisted-by: Codex (gpt-5.6-sol) <[email protected]> * Fixed GCC 14 CI regressions Exposed the DNS internal API prototypes to its dedicated error-checking regression target and tolerated the documented gcov suspicious-hit counter defect while retaining a warning. Assisted-by: Codex (gpt-5.6-sol) <[email protected]> * Sharded secure interoperability CI profiles Capped individual interoperability tests at 180 seconds so retryable hangs cannot consume the complete workflow budget.\n\nAssisted-by: Codex (gpt-5.6-sol) * Allowed legacy server connections in disabled-renegotiation tests Scope OpenSSL's legacy server connection opt-in to interoperability profiles that deliberately disable RFC 5746 support. Cover both the default and opt-in wrapper behavior. Assisted-by: Codex (gpt-5.6-sol) * Hardened secure interoperability profile execution Permit legacy server connections only for DTLS and RFC 5746-disabled profiles, and keep legacy cases on TLS 1.2 in TLS 1.3-enabled builds unless a protocol is explicit. Extend the bounded OpenSSL startup window for loaded runners and cover the client wrapper behavior. Assisted-by: Codex (gpt-5.6-sol) * Corrected DTLS interoperability CA path Resolve the ECC CA certificate relative to the OpenSSL client script, matching the wrapper's execution directory and the other certificate-bearing interoperability cases. Assisted-by: Codex (gpt-5.6-sol) * Corrected TLS 1.3 interoperability selection Assisted-by: Codex (gpt-5.6-sol) * Corrected TLS 1.3 PSK server port Assisted-by: Codex (gpt-5.6-sol) * Corrected TLS 1.3 PSK client port Assisted-by: Codex (gpt-5.6-sol) * Extended secure dependency installation timeout Assisted-by: Codex (gpt-5.6-sol)
Diffstat (limited to 'test/cmake/nx_secure_interoperability/regression/CMakeLists.txt')
-rw-r--r--test/cmake/nx_secure_interoperability/regression/CMakeLists.txt27
1 files changed, 27 insertions, 0 deletions
diff --git a/test/cmake/nx_secure_interoperability/regression/CMakeLists.txt b/test/cmake/nx_secure_interoperability/regression/CMakeLists.txt
index f7e916e5..6939b9b1 100644
--- a/test/cmake/nx_secure_interoperability/regression/CMakeLists.txt
+++ b/test/cmake/nx_secure_interoperability/regression/CMakeLists.txt
@@ -371,6 +371,18 @@ include(network_config.cmake)
set(PCAP_SOURCE
${CMAKE_CURRENT_LIST_DIR}/../../../regression/interoperability_test/nx_pcap_network_driver.c
)
+set(legacy_server_connect_builds
+ dtls_build_coverage
+ ecjpake_build
+ no_ecc_build_coverage
+ no_renegotiation_build
+ sesip_build_coverage)
+set(tls_1_2_default_builds
+ curve25519_448_build
+ sesip_build_coverage
+ tls_1_3_client_disable_build
+ tls_1_3_enable_build_coverage
+ tls_1_3_server_disable_build)
foreach(test_case ${nx_secure_test_cases})
add_executable(${test_case} ${${test_case}_file_list} ${PCAP_SOURCE})
network_config(${test_case})
@@ -400,6 +412,21 @@ foreach(test_case ${nx_secure_test_cases})
kill -TERM $pid;
[[ $exit_code = 0 ]] || [[ $exit_code = 233 ]] || { echo Exit code: $exit_code; exit $exit_code; };"
WORKING_DIRECTORY ${SOURCE_DIR})
+ # Prevent a recovered interoperability hang from consuming the suite timeout.
+ set_tests_properties(${CMAKE_BUILD_TYPE}::${test_case} PROPERTIES TIMEOUT 180)
+ set(test_environment)
+ if(CMAKE_BUILD_TYPE IN_LIST legacy_server_connect_builds)
+ # NetX DTLS and builds without RFC 5746 need OpenSSL's explicit opt-in.
+ list(APPEND test_environment "NETXDUO_OPENSSL_LEGACY_SERVER_CONNECT=1")
+ endif()
+ if(CMAKE_BUILD_TYPE IN_LIST tls_1_2_default_builds)
+ # Keep legacy test cases on TLS 1.2 when the build also enables TLS 1.3.
+ list(APPEND test_environment "NETXDUO_OPENSSL_TLS_1_2_DEFAULT=1")
+ endif()
+ if(test_environment)
+ set_property(TEST ${CMAKE_BUILD_TYPE}::${test_case}
+ APPEND PROPERTY ENVIRONMENT ${test_environment})
+ endif()
endforeach()
add_test(