diff --git a/cmake/ci.cmake b/cmake/ci.cmake index 2e01f55f7..834687f57 100644 --- a/cmake/ci.cmake +++ b/cmake/ci.cmake @@ -721,10 +721,14 @@ add_custom_target(ci_icpx # (needed for the dtoa/grisu and NaN-comparison code paths). # # The following tests are excluded as they trigger known nvc++ 25.5 defects (not -# library bugs); see https://github.com/nlohmann/json for tracking: -# - test-comparison* : miscompiles cross-type/<=> comparison (e.g. `-17 <= null`) -# - test-constructor1 : std::initializer_list lifetime bug -> SIGSEGV -# - test-deserialization : mangles UTF-8 u8"" string literals +# library bugs); see https://github.com/nlohmann/json for tracking. Only the +# affected language-standard variants are excluded so coverage is otherwise kept: +# - test-comparison_cpp20, test-comparison_legacy_cpp20 +# miscompiles cross-type/<=> comparison (e.g. `-17 <= null`) +# - test-constructor1_cpp11 +# std::initializer_list lifetime bug -> SIGSEGV +# - test-deserialization_cpp20 +# mangles the UTF-8 u8"" string literal in the char8_t (C++20) section add_custom_target(ci_nvhpc COMMAND ${CMAKE_COMMAND} -DCMAKE_BUILD_TYPE=Debug -GNinja @@ -733,7 +737,9 @@ add_custom_target(ci_nvhpc -DJSON_BuildTests=ON -DJSON_FastTests=ON -S${PROJECT_SOURCE_DIR} -B${PROJECT_BINARY_DIR}/build_nvhpc COMMAND ${CMAKE_COMMAND} --build ${PROJECT_BINARY_DIR}/build_nvhpc - COMMAND cd ${PROJECT_BINARY_DIR}/build_nvhpc && ${CMAKE_CTEST_COMMAND} --parallel ${N} --exclude-regex "test-unicode|test-comparison|test-constructor1|test-deserialization" --output-on-failure + # the pipes are escaped so the surrounding shell passes them to ctest verbatim + # instead of treating them as shell pipe operators + COMMAND cd ${PROJECT_BINARY_DIR}/build_nvhpc && ${CMAKE_CTEST_COMMAND} --parallel ${N} --exclude-regex "test-unicode\\|test-comparison_cpp20\\|test-comparison_legacy_cpp20\\|test-constructor1_cpp11\\|test-deserialization_cpp20" --output-on-failure COMMENT "Compile and test with NVIDIA HPC SDK (nvc++)" )