From 3ede66e17a7160683a353c5414a131368eff4861 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 2 Jul 2021 07:24:15 -0400 Subject: [PATCH 1/2] Tests: Fix newline matching in several RunCMake.* cases The RunCMake infrastructure's `*-stdout.txt` expected output files interpret `\n` as a `\` and `n` rather than a newline. Use a literal newline instead. Otherwise the cases that were trying to match any configuration name via `[^\n]*` would fail on `RelWithDebInfo` because it contains the letter `n`. --- Tests/RunCMake/CPack/RPM/default_expected_stderr.txt | 3 ++- .../GoogleTest-discovery-POST_BUILD-timeout-test-stdout.txt | 6 ++++-- .../GoogleTest/GoogleTest-property-timeout1-stdout.txt | 6 ++++-- .../GoogleTest/GoogleTest-property-timeout2-stdout.txt | 6 ++++-- .../CMP0082-NEW-install-component-stdout.txt | 3 ++- .../add_subdirectory/CMP0082-NEW-install-stdout.txt | 3 ++- .../CMP0082-OLD-install-component-stdout.txt | 3 ++- .../add_subdirectory/CMP0082-OLD-install-stdout.txt | 3 ++- .../CMP0082-WARN-Nested-install-component-stdout.txt | 3 ++- .../add_subdirectory/CMP0082-WARN-Nested-install-stdout.txt | 3 ++- .../CMP0082-WARN-NestedSub-install-component-stdout.txt | 3 ++- .../CMP0082-WARN-NestedSub-install-stdout.txt | 3 ++- .../CMP0082-WARN-NoTopInstall-install-component-stdout.txt | 3 ++- .../CMP0082-WARN-NoTopInstall-install-stdout.txt | 3 ++- .../CMP0082-WARN-None-install-component-stdout.txt | 3 ++- .../add_subdirectory/CMP0082-WARN-None-install-stdout.txt | 3 ++- .../CMP0082-WARN-install-component-stdout.txt | 3 ++- .../add_subdirectory/CMP0082-WARN-install-stdout.txt | 3 ++- 18 files changed, 42 insertions(+), 21 deletions(-) diff --git a/Tests/RunCMake/CPack/RPM/default_expected_stderr.txt b/Tests/RunCMake/CPack/RPM/default_expected_stderr.txt index 6c87ca0c0a..404076bda9 100644 --- a/Tests/RunCMake/CPack/RPM/default_expected_stderr.txt +++ b/Tests/RunCMake/CPack/RPM/default_expected_stderr.txt @@ -1 +1,2 @@ -^(CPackRPM: Will use GENERATED spec file: (/[^/]*)*/Tests/RunCMake/RPM\.[^/]*/CPack/[^-]*(-package-target)?-build((-[^-]*-subtest/)|/)_CPack_Packages/.*/RPM/SPECS/[^\.]*\.spec(\n|$))*$ +^(CPackRPM: Will use GENERATED spec file: (/[^/]*)*/Tests/RunCMake/RPM\.[^/]*/CPack/[^-]*(-package-target)?-build((-[^-]*-subtest/)|/)_CPack_Packages/.*/RPM/SPECS/[^\.]*\.spec( +|$))*$ diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-test-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-test-stdout.txt index d9de3f8e57..904ed11775 100644 --- a/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-test-stdout.txt +++ b/Tests/RunCMake/GoogleTest/GoogleTest-discovery-POST_BUILD-timeout-test-stdout.txt @@ -8,11 +8,13 @@ Debug/discovery_timeout_test_NOT_BUILT Debug/discovery_timeout_test_NOT_BUILT(\.exe)? Debug/discovery_timeout_test_NOT_BUILT Debug/discovery_timeout_test_NOT_BUILT(\.exe)? -[^\n]+discovery_timeout_test_NOT_BUILT +\.+\*\*\*Not Run +[0-9.]+ sec +[^ +]+discovery_timeout_test_NOT_BUILT +\.+\*\*\*Not Run +[0-9.]+ sec + 0% tests passed, 1 tests failed out of 1 + Total Test time \(real\) = +[0-9.]+ sec + The following tests FAILED: -[^\n]+discovery_timeout_test_NOT_BUILT \(Not Run\) +[^ +]+discovery_timeout_test_NOT_BUILT \(Not Run\) diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout1-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout1-stdout.txt index 0dda49d7c4..5febfbfb00 100644 --- a/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout1-stdout.txt +++ b/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout1-stdout.txt @@ -1,10 +1,12 @@ Test project .*GoogleTest-build [ \t]*Start [0-9]+: property_timeout.case_no_discovery -[^\n]+property_timeout.case_no_discovery +\.+\*\*\*Timeout +[0-9.]+ sec +[^ +]+property_timeout.case_no_discovery +\.+\*\*\*Timeout +[0-9.]+ sec + 0% tests passed, 1 tests failed out of 1 + Total Test time \(real\) = +[0-9.]+ sec + The following tests FAILED: -[^\n]*property_timeout.case_no_discovery \(Timeout\) +[^ +]*property_timeout.case_no_discovery \(Timeout\) diff --git a/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout2-stdout.txt b/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout2-stdout.txt index 72cea558ec..c9c7198406 100644 --- a/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout2-stdout.txt +++ b/Tests/RunCMake/GoogleTest/GoogleTest-property-timeout2-stdout.txt @@ -1,10 +1,12 @@ Test project .*GoogleTest-build [ \t]*Start [0-9]+: property_timeout.case_with_discovery -[^\n]+property_timeout.case_with_discovery +\.+\*\*\*Timeout +[0-9.]+ sec +[^ +]+property_timeout.case_with_discovery +\.+\*\*\*Timeout +[0-9.]+ sec + 0% tests passed, 1 tests failed out of 1 + Total Test time \(real\) = +[0-9.]+ sec + The following tests FAILED: -[^\n]*property_timeout.case_with_discovery \(Timeout\) +[^ +]*property_timeout.case_with_discovery \(Timeout\) diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-component-stdout.txt index 7d76ed959c..169f0ccb2a 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-component-stdout.txt @@ -1,4 +1,5 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- sub -- top$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-stdout.txt index 35b0bb5e14..426114b592 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-NEW-install-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- sub -- top$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-component-stdout.txt index 4b39789f76..b26500ef62 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-component-stdout.txt @@ -1,4 +1,5 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-stdout.txt index 8f3a5f71d5..fcd556cb40 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-OLD-install-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-component-stdout.txt index 4b39789f76..b26500ef62 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-component-stdout.txt @@ -1,4 +1,5 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-stdout.txt index 8f3a5f71d5..fcd556cb40 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-Nested-install-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-component-stdout.txt index 4b39789f76..b26500ef62 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-component-stdout.txt @@ -1,4 +1,5 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-stdout.txt index 8f3a5f71d5..fcd556cb40 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NestedSub-install-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-component-stdout.txt index f7a331df2b..c6020bd466 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-component-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-stdout.txt index 6f22ae24dd..658386b626 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-NoTopInstall-install-stdout.txt @@ -1,2 +1,3 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-component-stdout.txt index 157ab37e2c..ad070d5801 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-component-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- top$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-stdout.txt index 9e15872bd9..5a44e46af0 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-None-install-stdout.txt @@ -1,2 +1,3 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- top$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-component-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-component-stdout.txt index 4b39789f76..b26500ef62 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-component-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-component-stdout.txt @@ -1,4 +1,5 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- Install component: "Unspecified" -- top -- sub$ diff --git a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-stdout.txt b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-stdout.txt index 8f3a5f71d5..fcd556cb40 100644 --- a/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-stdout.txt +++ b/Tests/RunCMake/add_subdirectory/CMP0082-WARN-install-stdout.txt @@ -1,3 +1,4 @@ -^-- Install configuration: "[^\n]*" +^-- Install configuration: "[^ +]*" -- top -- sub$ From 46c89c77de3216088afe11ffba33321b2cbb81e2 Mon Sep 17 00:00:00 2001 From: Brad King Date: Fri, 2 Jul 2021 07:26:46 -0400 Subject: [PATCH 2/2] gitlab-ci: Rename CI config variable to avoid conflict with CMAKE_BUILD_TYPE Since commit e216b9bbd3 (cmake: Allow CMAKE_BUILD_TYPE to be set by environment variable, 2021-06-29), the `CMAKE_BUILD_TYPE` environment variable is interpreted by CMake, and can affect the test suite. Rename our CI config variable to avoid conflict. --- .gitlab/ci/configure_common.cmake | 4 ++-- .gitlab/ci/gitlab_ci.cmake | 4 ++-- .gitlab/os-linux.yml | 4 ++-- .gitlab/os-windows.yml | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.gitlab/ci/configure_common.cmake b/.gitlab/ci/configure_common.cmake index 436e5824f4..a711f3bda4 100644 --- a/.gitlab/ci/configure_common.cmake +++ b/.gitlab/ci/configure_common.cmake @@ -6,8 +6,8 @@ set(CMAKE_SKIP_INSTALL_ALL_DEPENDENCY "ON" CACHE BOOL "") set(CMAKE_INSTALL_PREFIX "${CMAKE_BINARY_DIR}/install" CACHE PATH "") set(CMake_TEST_INSTALL "OFF" CACHE BOOL "") -if (NOT "$ENV{CMAKE_BUILD_TYPE}" STREQUAL "") - set(CMAKE_BUILD_TYPE "$ENV{CMAKE_BUILD_TYPE}" CACHE STRING "") +if (NOT "$ENV{CMAKE_CI_BUILD_TYPE}" STREQUAL "") + set(CMAKE_BUILD_TYPE "$ENV{CMAKE_CI_BUILD_TYPE}" CACHE STRING "") endif () if (NOT configure_no_sccache) diff --git a/.gitlab/ci/gitlab_ci.cmake b/.gitlab/ci/gitlab_ci.cmake index f166215804..697162c7dd 100644 --- a/.gitlab/ci/gitlab_ci.cmake +++ b/.gitlab/ci/gitlab_ci.cmake @@ -26,8 +26,8 @@ set(CTEST_SITE "gitlab-ci") set(ctest_model "Experimental") # Default to Release builds. -if (NOT "$ENV{CMAKE_BUILD_TYPE}" STREQUAL "") - set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_BUILD_TYPE}") +if (NOT "$ENV{CMAKE_CI_BUILD_TYPE}" STREQUAL "") + set(CTEST_BUILD_CONFIGURATION "$ENV{CMAKE_CI_BUILD_TYPE}") endif () if (NOT CTEST_BUILD_CONFIGURATION) set(CTEST_BUILD_CONFIGURATION "Release") diff --git a/.gitlab/os-linux.yml b/.gitlab/os-linux.yml index 8ce795e89c..95cab05e59 100644 --- a/.gitlab/os-linux.yml +++ b/.gitlab/os-linux.yml @@ -90,7 +90,7 @@ variables: CMAKE_CONFIGURATION: fedora34_clang_analyzer - CMAKE_BUILD_TYPE: Debug + CMAKE_CI_BUILD_TYPE: Debug CTEST_NO_WARNINGS_ALLOWED: 1 CMake_SKIP_INSTALL: 1 @@ -168,7 +168,7 @@ .fedora_memcheck: variables: - CMAKE_BUILD_TYPE: RelWithDebInfo + CMAKE_CI_BUILD_TYPE: RelWithDebInfo .fedora_asan_addon: extends: .fedora_memcheck diff --git a/.gitlab/os-windows.yml b/.gitlab/os-windows.yml index fb72ff14ee..90ff0a8ff0 100644 --- a/.gitlab/os-windows.yml +++ b/.gitlab/os-windows.yml @@ -28,7 +28,7 @@ # Debug and RelWithDebinfo build types use the `/Zi` which results in # uncacheable compiations. # https://github.com/mozilla/sccache/issues/242 - CMAKE_BUILD_TYPE: Release + CMAKE_CI_BUILD_TYPE: Release CTEST_NO_WARNINGS_ALLOWED: 1 .windows_vs2019_x64_ninja: