Просмотр исходного кода

Merge topic 'revert-add_test-special-chars' into release-3.18

5fc5f4d26e add_test: Revert "Allow special characters in test name"

Acked-by: Kitware Robot <[email protected]>
Merge-request: !5067
Brad King 5 лет назад
Родитель
Сommit
dde97681e9
59 измененных файлов с 22 добавлено и 383 удалено
  1. 2 3
      Help/command/add_test.rst
  2. 7 0
      Help/release/3.18.rst
  3. 7 7
      Source/cmTestGenerator.cxx
  4. 1 1
      Tests/RunCMake/AndroidTestUtilities/check.cmake
  5. 0 1
      Tests/RunCMake/CMakeLists.txt
  6. 5 5
      Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake
  7. 0 27
      Tests/RunCMake/add_test/CMakeLists.txt.in
  8. 0 1
      Tests/RunCMake/add_test/NameContainsBracketArgument1-stdout.txt
  9. 0 1
      Tests/RunCMake/add_test/NameContainsBracketArgument2-stdout.txt
  10. 0 1
      Tests/RunCMake/add_test/NameContainsBracketArgument3-result.txt
  11. 0 2
      Tests/RunCMake/add_test/NameContainsBracketArgument3-stderr.txt
  12. 0 1
      Tests/RunCMake/add_test/NameContainsBracketArgument4-result.txt
  13. 0 2
      Tests/RunCMake/add_test/NameContainsBracketArgument4-stderr.txt
  14. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote1-result.txt
  15. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote1-stderr.txt
  16. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote1-stdout.txt
  17. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote2-result.txt
  18. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote2-stderr.txt
  19. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote2-stdout.txt
  20. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote3-result.txt
  21. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote3-stderr.txt
  22. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote3-stdout.txt
  23. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote4-result.txt
  24. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote4-stderr.txt
  25. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedQuote4-stdout.txt
  26. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedSpecialChars1-stdout.txt
  27. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedSpecialChars2-stdout.txt
  28. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedSpecialChars3-stdout.txt
  29. 0 1
      Tests/RunCMake/add_test/NameContainsEscapedSpecialChars4-stdout.txt
  30. 0 1
      Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax1-stdout.txt
  31. 0 1
      Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax2-stdout.txt
  32. 0 1
      Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax3-stdout.txt
  33. 0 1
      Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax4-stdout.txt
  34. 0 1
      Tests/RunCMake/add_test/NameContainsOtherSpecialChars1-stdout.txt
  35. 0 1
      Tests/RunCMake/add_test/NameContainsOtherSpecialChars2-stdout.txt
  36. 0 1
      Tests/RunCMake/add_test/NameContainsOtherSpecialChars3-stdout.txt
  37. 0 1
      Tests/RunCMake/add_test/NameContainsOtherSpecialChars4-stdout.txt
  38. 0 1
      Tests/RunCMake/add_test/NameContainsSemicolon1-stdout.txt
  39. 0 1
      Tests/RunCMake/add_test/NameContainsSemicolon2-result.txt
  40. 0 2
      Tests/RunCMake/add_test/NameContainsSemicolon2-stderr.txt
  41. 0 3
      Tests/RunCMake/add_test/NameContainsSemicolon3-stdout.txt
  42. 0 1
      Tests/RunCMake/add_test/NameContainsSemicolon4-result.txt
  43. 0 2
      Tests/RunCMake/add_test/NameContainsSemicolon4-stderr.txt
  44. 0 1
      Tests/RunCMake/add_test/NameContainsSpaces1-stdout.txt
  45. 0 1
      Tests/RunCMake/add_test/NameContainsSpaces2-result.txt
  46. 0 2
      Tests/RunCMake/add_test/NameContainsSpaces2-stderr.txt
  47. 0 3
      Tests/RunCMake/add_test/NameContainsSpaces3-stdout.txt
  48. 0 1
      Tests/RunCMake/add_test/NameContainsSpaces4-result.txt
  49. 0 2
      Tests/RunCMake/add_test/NameContainsSpaces4-stderr.txt
  50. 0 1
      Tests/RunCMake/add_test/NameContainsValidSpecialChars1-stdout.txt
  51. 0 1
      Tests/RunCMake/add_test/NameContainsValidSpecialChars2-stdout.txt
  52. 0 1
      Tests/RunCMake/add_test/NameContainsValidSpecialChars3-stdout.txt
  53. 0 1
      Tests/RunCMake/add_test/NameContainsValidSpecialChars4-stdout.txt
  54. 0 1
      Tests/RunCMake/add_test/NameIsAlphaNumeric1-stdout.txt
  55. 0 1
      Tests/RunCMake/add_test/NameIsAlphaNumeric2-stdout.txt
  56. 0 1
      Tests/RunCMake/add_test/NameIsAlphaNumeric3-stdout.txt
  57. 0 1
      Tests/RunCMake/add_test/NameIsAlphaNumeric4-stdout.txt
  58. 0 263
      Tests/RunCMake/add_test/RunCMakeTest.cmake
  59. 0 16
      Tests/RunCMake/add_test/test.cmake.in

+ 2 - 3
Help/command/add_test.rst

@@ -10,9 +10,8 @@ Add a test to the project to be run by :manual:`ctest(1)`.
            [WORKING_DIRECTORY <dir>]
            [WORKING_DIRECTORY <dir>]
            [COMMAND_EXPAND_LISTS])
            [COMMAND_EXPAND_LISTS])
 
 
-Adds a test called ``<name>``.  The test name may contain arbitrary
-characters except for double-quotes.  However, if it contains spaces
-or semicolons it must be enclosed in double-quotes.  The options are:
+Adds a test called ``<name>``.  The test name may not contain spaces,
+quotes, or other characters special in CMake syntax.  The options are:
 
 
 ``COMMAND``
 ``COMMAND``
   Specify the test command-line.  If ``<command>`` specifies an
   Specify the test command-line.  If ``<command>`` specifies an

+ 7 - 0
Help/release/3.18.rst

@@ -332,3 +332,10 @@ Changes made since CMake 3.18.0 include the following.
   architecture (the Xcode ``ARCHS`` setting).  This is needed for Xcode 12
   architecture (the Xcode ``ARCHS`` setting).  This is needed for Xcode 12
   to select the host's architecture, which older versions of Xcode did
   to select the host's architecture, which older versions of Xcode did
   by default.
   by default.
+
+* In CMake 3.18.0 the :command:`add_test` command learned to support
+  special characters in test names.  This was accidentally left out of
+  its release notes.  Unfortunately the fix breaks existing projects
+  that were using manual quoting or escaping to work around the prior
+  limitation.  This fix has been reverted in 3.18.1, but may be
+  re-introduced in future versions of CMake with a policy for compatibility.

+ 7 - 7
Source/cmTestGenerator.cxx

@@ -77,7 +77,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
   cmGeneratorExpression ge(this->Test->GetBacktrace());
   cmGeneratorExpression ge(this->Test->GetBacktrace());
 
 
   // Start the test command.
   // Start the test command.
-  os << indent << "add_test(\"" << this->Test->GetName() << "\" ";
+  os << indent << "add_test(" << this->Test->GetName() << " ";
 
 
   // Evaluate command line arguments
   // Evaluate command line arguments
   std::vector<std::string> argv =
   std::vector<std::string> argv =
@@ -127,8 +127,8 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
   os << ")\n";
   os << ")\n";
 
 
   // Output properties for the test.
   // Output properties for the test.
-  os << indent << "set_tests_properties(\"" << this->Test->GetName()
-     << "\" PROPERTIES ";
+  os << indent << "set_tests_properties(" << this->Test->GetName()
+     << " PROPERTIES ";
   for (auto const& i : this->Test->GetProperties().GetList()) {
   for (auto const& i : this->Test->GetProperties().GetList()) {
     os << " " << i.first << " "
     os << " " << i.first << " "
        << cmOutputConverter::EscapeForCMake(
        << cmOutputConverter::EscapeForCMake(
@@ -140,8 +140,7 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
 
 
 void cmTestGenerator::GenerateScriptNoConfig(std::ostream& os, Indent indent)
 void cmTestGenerator::GenerateScriptNoConfig(std::ostream& os, Indent indent)
 {
 {
-  os << indent << "add_test(\"" << this->Test->GetName()
-     << "\" NOT_AVAILABLE)\n";
+  os << indent << "add_test(" << this->Test->GetName() << " NOT_AVAILABLE)\n";
 }
 }
 
 
 bool cmTestGenerator::NeedsScriptNoConfig() const
 bool cmTestGenerator::NeedsScriptNoConfig() const
@@ -161,8 +160,9 @@ void cmTestGenerator::GenerateOldStyle(std::ostream& fout, Indent indent)
 
 
   std::string exe = command[0];
   std::string exe = command[0];
   cmSystemTools::ConvertToUnixSlashes(exe);
   cmSystemTools::ConvertToUnixSlashes(exe);
-  fout << indent << "add_test(\"" << this->Test->GetName() << "\" \"" << exe
-       << "\"";
+  fout << indent;
+  fout << "add_test(";
+  fout << this->Test->GetName() << " \"" << exe << "\"";
 
 
   for (std::string const& arg : cmMakeRange(command).advance(1)) {
   for (std::string const& arg : cmMakeRange(command).advance(1)) {
     // Just double-quote all arguments so they are re-parsed
     // Just double-quote all arguments so they are re-parsed

+ 1 - 1
Tests/RunCMake/AndroidTestUtilities/check.cmake

@@ -13,7 +13,7 @@ function(compare_build_to_expected)
 endfunction()
 endfunction()
 
 
 function(check_for_setup_test)
 function(check_for_setup_test)
-  file(STRINGS "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" output_var REGEX "add_test\\(\"setup_test\".*")
+  file(STRINGS "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" output_var REGEX "add_test\\(setup_test.*")
   if(NOT output_var)
   if(NOT output_var)
     set(RunCMake_TEST_FAILED "Could not find the test: setup_test" PARENT_SCOPE)
     set(RunCMake_TEST_FAILED "Could not find the test: setup_test" PARENT_SCOPE)
   endif()
   endif()

+ 0 - 1
Tests/RunCMake/CMakeLists.txt

@@ -287,7 +287,6 @@ add_RunCMake_test(add_dependencies)
 add_RunCMake_test(add_executable)
 add_RunCMake_test(add_executable)
 add_RunCMake_test(add_library)
 add_RunCMake_test(add_library)
 add_RunCMake_test(add_subdirectory)
 add_RunCMake_test(add_subdirectory)
-add_RunCMake_test(add_test)
 add_RunCMake_test(build_command)
 add_RunCMake_test(build_command)
 add_executable(exit_code exit_code.c)
 add_executable(exit_code exit_code.c)
 set(execute_process_ARGS -DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>)
 set(execute_process_ARGS -DEXIT_CODE_EXE=$<TARGET_FILE:exit_code>)

+ 5 - 5
Tests/RunCMake/CrosscompilingEmulator/AddTest-check.cmake

@@ -7,22 +7,22 @@ endif()
 
 
 set(error_details "There is a problem with generated test file: ${testfile}")
 set(error_details "There is a problem with generated test file: ${testfile}")
 
 
-if(testfile_contents MATCHES "add_test[(][\"]DoesNotUseEmulator[\"] [^\n]+pseudo_emulator[^\n]+\n")
+if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulator [^\n]+pseudo_emulator[^\n]+\n")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
 endif()
 endif()
 
 
-if(NOT testfile_contents MATCHES "add_test[(][\"]UsesEmulator[\"] [^\n]+pseudo_emulator[^\n]+\n")
+if(NOT testfile_contents MATCHES "add_test[(]UsesEmulator [^\n]+pseudo_emulator[^\n]+\n")
   message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
   message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
 endif()
 endif()
 
 
-if(testfile_contents MATCHES "add_test[(][\"]DoesNotUseEmulatorWithGenex[\"] [^\n]+pseudo_emulator[^\n]+\n")
+if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithGenex [^\n]+pseudo_emulator[^\n]+\n")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
 endif()
 endif()
 
 
-if(NOT testfile_contents MATCHES "add_test[(][\"]UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex[\"] [^\n]+pseudo_emulator[^\n]+\n")
+if(NOT testfile_contents MATCHES "add_test[(]UsesEmulatorWithExecTargetFromSubdirAddedWithoutGenex [^\n]+pseudo_emulator[^\n]+\n")
   message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
   message(SEND_ERROR "Did not use emulator when it should be used. ${error_details}")
 endif()
 endif()
 
 
-if(testfile_contents MATCHES "add_test[(][\"]DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex[\"] [^\n]+pseudo_emulator[^\n]+\n")
+if(testfile_contents MATCHES "add_test[(]DoesNotUseEmulatorWithExecTargetFromSubdirAddedWithGenex [^\n]+pseudo_emulator[^\n]+\n")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
   message(SEND_ERROR "Used emulator when it should not be used. ${error_details}")
 endif()
 endif()

+ 0 - 27
Tests/RunCMake/add_test/CMakeLists.txt.in

@@ -1,27 +0,0 @@
-if (NOT DEFINED RUN_AS_SCRIPT)
-
-  cmake_minimum_required(VERSION 3.7)
-  project(@CASE_NAME@ NONE)
-  include(CTest)
-
-  # Two fallback tests for set_tests_properties.
-  add_test(NAME PrefixTest COMMAND "${CMAKE_COMMAND}" --version)
-  add_test(NAME SuffixTest COMMAND "${CMAKE_COMMAND}" --version)
-
-  add_test(
-    NAME @CASE_CMAKELISTS_NAME_1@
-    COMMAND "${CMAKE_COMMAND}" -D RUN_AS_SCRIPT=1 -P "${CMAKE_CURRENT_LIST_FILE}"
-  )
-  set_tests_properties(
-    @CASE_CMAKELISTS_NAME_2@
-    PROPERTIES
-      ENVIRONMENT CMAKE_add_test_ENVVAR=1
-  )
-
-else()
-
-  if(NOT DEFINED ENV{CMAKE_add_test_ENVVAR})
-    message(FATAL_ERROR "Setting property on test did not succeed!")
-  endif()
-
-endif()

+ 0 - 1
Tests/RunCMake/add_test/NameContainsBracketArgument1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \[=\[BracketArgument;SuffixTest\]=\] \.+[ ]+Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsBracketArgument2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: BracketArgument;SuffixTest \.+[ ]+Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsBracketArgument3-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsBracketArgument3-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsBracketArgument4-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsBracketArgument4-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote1-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote1-stderr.txt

@@ -1 +0,0 @@
-Unable to find executable: SuffixTest

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: EscapedQuote \.+\*\*\*Not Run

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote2-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote2-stderr.txt

@@ -1 +0,0 @@
-Unable to find executable: SuffixTest

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: EscapedQuote \.+\*\*\*Not Run

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote3-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote3-stderr.txt

@@ -1 +0,0 @@
-Unable to find executable: SuffixTest

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: EscapedQuote \.+\*\*\*Not Run

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote4-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote4-stderr.txt

@@ -1 +0,0 @@
-Unable to find executable: SuffixTest

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedQuote4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: EscapedQuote \.+\*\*\*Not Run

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedSpecialChars1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \(\) # \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedSpecialChars2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \(\) # \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedSpecialChars3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \(\) # \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsEscapedSpecialChars4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \(\) # \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \$<BOOL:0> \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \$<BOOL:0> \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \$<BOOL:0> \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsGeneratorExpressionSyntax4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: \$<BOOL:0> \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsOtherSpecialChars1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: !§\$%&/ü:\*😤~ \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsOtherSpecialChars2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: !§\$%&/ü:\*😤~ \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsOtherSpecialChars3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: !§\$%&/ü:\*😤~ \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsOtherSpecialChars4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: !§\$%&/ü:\*😤~ \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSemicolon1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: PrefixTest;SuffixTest \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSemicolon2-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsSemicolon2-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 3
Tests/RunCMake/add_test/NameContainsSemicolon3-stdout.txt

@@ -1,3 +0,0 @@
-3/3 Test #3: PrefixTest;SuffixTest \.+\*\*\*Failed.*
-CMake Error at .+/CMakeLists.txt:[0-9]+ \(message\):
-[ ]*Setting property on test did not succeed!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSemicolon4-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsSemicolon4-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSpaces1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: PrefixTest SuffixTest \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSpaces2-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsSpaces2-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 3
Tests/RunCMake/add_test/NameContainsSpaces3-stdout.txt

@@ -1,3 +0,0 @@
-3/3 Test #3: PrefixTest SuffixTest \.+\*\*\*Failed.*
-CMake Error at .+/CMakeLists.txt:[0-9]+ \(message\):
-[ ]*Setting property on test did not succeed!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsSpaces4-result.txt

@@ -1 +0,0 @@
-(-1|255)

+ 0 - 2
Tests/RunCMake/add_test/NameContainsSpaces4-stderr.txt

@@ -1,2 +0,0 @@
-Error\(s\) when configuring the project
-No tests were found!!!

+ 0 - 1
Tests/RunCMake/add_test/NameContainsValidSpecialChars1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsValidSpecialChars2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsValidSpecialChars3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameContainsValidSpecialChars4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameIsAlphaNumeric1-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameIsAlphaNumeric2-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameIsAlphaNumeric3-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed

+ 0 - 1
Tests/RunCMake/add_test/NameIsAlphaNumeric4-stdout.txt

@@ -1 +0,0 @@
-Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed

+ 0 - 263
Tests/RunCMake/add_test/RunCMakeTest.cmake

@@ -1,263 +0,0 @@
-include(RunCTest)
-
-set(ENV{CTEST_OUTPUT_ON_FAILURE} 1)
-
-function(run_NameIsAlphaNumeric1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ abcdefghijklmnopqrstuvwxyz0123456789 ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ abcdefghijklmnopqrstuvwxyz0123456789 ]==])
-  run_ctest(NameIsAlphaNumeric1)
-endfunction()
-run_NameIsAlphaNumeric1_test()
-
-function(run_NameIsAlphaNumeric2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["abcdefghijklmnopqrstuvwxyz0123456789"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["abcdefghijklmnopqrstuvwxyz0123456789"]==])
-  run_ctest(NameIsAlphaNumeric2)
-endfunction()
-run_NameIsAlphaNumeric2_test()
-
-function(run_NameIsAlphaNumeric3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["abcdefghijklmnopqrstuvwxyz0123456789"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ abcdefghijklmnopqrstuvwxyz0123456789 ]==])
-  run_ctest(NameIsAlphaNumeric3)
-endfunction()
-run_NameIsAlphaNumeric3_test()
-
-function(run_NameIsAlphaNumeric4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ abcdefghijklmnopqrstuvwxyz0123456789 ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["abcdefghijklmnopqrstuvwxyz0123456789"]==])
-  run_ctest(NameIsAlphaNumeric4)
-endfunction()
-run_NameIsAlphaNumeric4_test()
-
-
-function(run_NameContainsValidSpecialChars1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ abc_.+-012 ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ abc_.+-012 ]==])
-  run_ctest(NameContainsValidSpecialChars1)
-endfunction()
-run_NameContainsValidSpecialChars1_test()
-
-function(run_NameContainsValidSpecialChars2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["abc_.+-012"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["abc_.+-012"]==])
-  run_ctest(NameContainsValidSpecialChars2)
-endfunction()
-run_NameContainsValidSpecialChars2_test()
-
-function(run_NameContainsValidSpecialChars3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["abc_.+-012"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ abc_.+-012 ]==])
-  run_ctest(NameContainsValidSpecialChars3)
-endfunction()
-run_NameContainsValidSpecialChars3_test()
-
-function(run_NameContainsValidSpecialChars4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ abc_.+-012 ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["abc_.+-012"]==])
-  run_ctest(NameContainsValidSpecialChars4)
-endfunction()
-run_NameContainsValidSpecialChars4_test()
-
-
-function(run_NameContainsOtherSpecialChars1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ !§$%&/ü:*😤~ ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ !§$%&/ü:*😤~ ]==])
-  run_ctest(NameContainsOtherSpecialChars1)
-endfunction()
-run_NameContainsOtherSpecialChars1_test()
-
-function(run_NameContainsOtherSpecialChars2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["!§$%&/ü:*😤~"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["!§$%&/ü:*😤~"]==])
-  run_ctest(NameContainsOtherSpecialChars2)
-endfunction()
-run_NameContainsOtherSpecialChars2_test()
-
-function(run_NameContainsOtherSpecialChars3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["!§$%&/ü:*😤~"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ !§$%&/ü:*😤~ ]==])
-  run_ctest(NameContainsOtherSpecialChars3)
-endfunction()
-run_NameContainsOtherSpecialChars3_test()
-
-function(run_NameContainsOtherSpecialChars4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ !§$%&/ü:*😤~ ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["!§$%&/ü:*😤~"]==])
-  run_ctest(NameContainsOtherSpecialChars4)
-endfunction()
-run_NameContainsOtherSpecialChars4_test()
-
-
-function(run_NameContainsEscapedSpecialChars1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ \(\)\ \# ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ \(\)\ \# ]==])
-  run_ctest(NameContainsEscapedSpecialChars1)
-endfunction()
-run_NameContainsEscapedSpecialChars1_test()
-
-function(run_NameContainsEscapedSpecialChars2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["\(\)\ \#"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["\(\)\ \#"]==])
-  run_ctest(NameContainsEscapedSpecialChars2)
-endfunction()
-run_NameContainsEscapedSpecialChars2_test()
-
-function(run_NameContainsEscapedSpecialChars3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["\(\)\ \#"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ \(\)\ \# ]==])
-  run_ctest(NameContainsEscapedSpecialChars3)
-endfunction()
-run_NameContainsEscapedSpecialChars3_test()
-
-function(run_NameContainsEscapedSpecialChars4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ \(\)\ \# ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["\(\)\ \#"]==])
-  run_ctest(NameContainsEscapedSpecialChars4)
-endfunction()
-run_NameContainsEscapedSpecialChars4_test()
-
-
-function(run_NameContainsGeneratorExpressionSyntax1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ $<BOOL:0> ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ $<BOOL:0> ]==])
-  run_ctest(NameContainsGeneratorExpressionSyntax1)
-endfunction()
-run_NameContainsGeneratorExpressionSyntax1_test()
-
-function(run_NameContainsGeneratorExpressionSyntax2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["$<BOOL:0>"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["$<BOOL:0>"]==])
-  run_ctest(NameContainsGeneratorExpressionSyntax2)
-endfunction()
-run_NameContainsGeneratorExpressionSyntax2_test()
-
-function(run_NameContainsGeneratorExpressionSyntax3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["$<BOOL:0>"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ $<BOOL:0> ]==])
-  run_ctest(NameContainsGeneratorExpressionSyntax3)
-endfunction()
-run_NameContainsGeneratorExpressionSyntax3_test()
-
-function(run_NameContainsGeneratorExpressionSyntax4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ $<BOOL:0> ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["$<BOOL:0>"]==])
-  run_ctest(NameContainsGeneratorExpressionSyntax4)
-endfunction()
-run_NameContainsGeneratorExpressionSyntax4_test()
-
-
-function(run_NameContainsSpaces1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["PrefixTest SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["PrefixTest SuffixTest"]==])
-  run_ctest(NameContainsSpaces1)
-endfunction()
-run_NameContainsSpaces1_test()
-
-function(run_NameContainsSpaces2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ PrefixTest SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ PrefixTest SuffixTest ]==])
-  run_ctest(NameContainsSpaces2)
-endfunction()
-run_NameContainsSpaces2_test()
-
-function(run_NameContainsSpaces3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["PrefixTest SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ PrefixTest SuffixTest ]==])
-  run_ctest(NameContainsSpaces3)
-endfunction()
-run_NameContainsSpaces3_test()
-
-function(run_NameContainsSpaces4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ PrefixTest SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["PrefixTest SuffixTest"]==])
-  run_ctest(NameContainsSpaces4)
-endfunction()
-run_NameContainsSpaces4_test()
-
-
-function(run_NameContainsSemicolon1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["PrefixTest;SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["PrefixTest;SuffixTest"]==])
-  run_ctest(NameContainsSemicolon1)
-endfunction()
-run_NameContainsSemicolon1_test()
-
-function(run_NameContainsSemicolon2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ PrefixTest;SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ PrefixTest;SuffixTest ]==])
-  run_ctest(NameContainsSemicolon2)
-endfunction()
-run_NameContainsSemicolon2_test()
-
-function(run_NameContainsSemicolon3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["PrefixTest;SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ PrefixTest;SuffixTest ]==])
-  run_ctest(NameContainsSemicolon3)
-endfunction()
-run_NameContainsSemicolon3_test()
-
-function(run_NameContainsSemicolon4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ PrefixTest;SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["PrefixTest;SuffixTest"]==])
-  run_ctest(NameContainsSemicolon4)
-endfunction()
-run_NameContainsSemicolon4_test()
-
-
-function(run_NameContainsEscapedQuote1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["EscapedQuote\"\"SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["EscapedQuote\"\"SuffixTest"]==])
-  run_ctest(NameContainsEscapedQuote1)
-endfunction()
-run_NameContainsEscapedQuote1_test()
-
-function(run_NameContainsEscapedQuote2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ EscapedQuote\"\"SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ EscapedQuote\"\"SuffixTest ]==])
-  run_ctest(NameContainsEscapedQuote2)
-endfunction()
-run_NameContainsEscapedQuote2_test()
-
-function(run_NameContainsEscapedQuote3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["EscapedQuote\"\"SuffixTest"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ EscapedQuote\"\"SuffixTest ]==])
-  run_ctest(NameContainsEscapedQuote3)
-endfunction()
-run_NameContainsEscapedQuote3_test()
-
-function(run_NameContainsEscapedQuote4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ EscapedQuote\"\"SuffixTest ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["EscapedQuote\"\"SuffixTest"]==])
-  run_ctest(NameContainsEscapedQuote4)
-endfunction()
-run_NameContainsEscapedQuote4_test()
-
-
-function(run_NameContainsBracketArgument1_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["[=[BracketArgument;SuffixTest]=]"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["[=[BracketArgument;SuffixTest]=]"]==])
-  run_ctest(NameContainsBracketArgument1)
-endfunction()
-run_NameContainsBracketArgument1_test()
-
-function(run_NameContainsBracketArgument2_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ [=[BracketArgument;SuffixTest]=] ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ [=[BracketArgument;SuffixTest]=] ]==])
-  run_ctest(NameContainsBracketArgument2)
-endfunction()
-run_NameContainsBracketArgument2_test()
-
-function(run_NameContainsBracketArgument3_test)
-  set(CASE_CMAKELISTS_NAME_1 [==["[=[BracketArgument;SuffixTest]=]"]==])
-  set(CASE_CMAKELISTS_NAME_2 [==[ [=[BracketArgument;SuffixTest]=] ]==])
-  run_ctest(NameContainsBracketArgument3)
-endfunction()
-run_NameContainsBracketArgument3_test()
-
-function(run_NameContainsBracketArgument4_test)
-  set(CASE_CMAKELISTS_NAME_1 [==[ [=[BracketArgument;SuffixTest]=] ]==])
-  set(CASE_CMAKELISTS_NAME_2 [==["[=[BracketArgument;SuffixTest]=]"]==])
-  run_ctest(NameContainsBracketArgument4)
-endfunction()
-run_NameContainsBracketArgument4_test()

+ 0 - 16
Tests/RunCMake/add_test/test.cmake.in

@@ -1,16 +0,0 @@
-cmake_minimum_required(VERSION 3.17)
-
-set(CTEST_SITE                          "test-site")
-set(CTEST_BUILD_NAME                    "test-build-name")
-set(CTEST_SOURCE_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@")
-set(CTEST_BINARY_DIRECTORY              "@RunCMake_BINARY_DIR@/@CASE_NAME@-build")
-set(CTEST_CMAKE_GENERATOR               "@RunCMake_GENERATOR@")
-set(CTEST_CMAKE_GENERATOR_PLATFORM      "@RunCMake_GENERATOR_PLATFORM@")
-set(CTEST_CMAKE_GENERATOR_TOOLSET       "@RunCMake_GENERATOR_TOOLSET@")
-set(CTEST_BUILD_CONFIGURATION           "$ENV{CMAKE_CONFIG_TYPE}")
-
-set(ctest_test_args "@CASE_CTEST_TEST_ARGS@")
-ctest_start(Experimental)
-ctest_configure()
-#ctest_build()
-ctest_test(${ctest_test_args})