add_test: Allow special characters in test name (w/ policy CMP0110)

Restore the change from commit f84af8e270 (add_test: Allow special
characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be
reverted by commit f84af8e270 (add_test: Allow special characters in
test name, 2020-05-16, v3.18.0-rc1~142^2) for compatibility.

Add policy CMP0110 to make the change in a compatible way.
Also, support even more characters than before by generating the
test scripts using bracket arguments around the test names.

Fixes: #19391
Signed-off-by: Deniz Bahadir <dbahadir@benocs.com>
This commit is contained in:
Deniz Bahadir
2020-05-16 01:52:34 +02:00
committed by Brad King
parent d6ee9b4a43
commit a20987732b
107 changed files with 437 additions and 13 deletions

View File

@@ -10,8 +10,9 @@ Add a test to the project to be run by :manual:`ctest(1)`.
[WORKING_DIRECTORY <dir>]
[COMMAND_EXPAND_LISTS])
Adds a test called ``<name>``. The test name may not contain spaces,
quotes, or other characters special in CMake syntax. The options are:
Adds a test called ``<name>``. The test name may contain arbitrary
characters, expressed as a :ref:`Quoted Argument` or :ref:`Bracket Argument`
if necessary. See policy :policy:`CMP0110`. The options are:
``COMMAND``
Specify the test command-line. If ``<command>`` specifies an

View File

@@ -51,12 +51,13 @@ The :variable:`CMAKE_MINIMUM_REQUIRED_VERSION` variable may also be used
to determine whether to report an error on use of deprecated macros or
functions.
Policies Introduced by CMake 3.18
Policies Introduced by CMake 3.19
=================================
.. toctree::
:maxdepth: 1
CMP0110: add_test() supports arbitrary characters in test names. </policy/CMP0110>
CMP0109: find_program() requires permission to execute but not to read. </policy/CMP0109>
Policies Introduced by CMake 3.18

24
Help/policy/CMP0110.rst Normal file
View File

@@ -0,0 +1,24 @@
CMP0110
-------
:command:`add_test` supports arbitrary characters in test names.
:command:`add_test` can now (officially) create tests with whitespace and
other special characters in its name. Before CMake version 3.19 that was not
allowed, however, it was possible to work around this limitation by explicitly
putting escaped quotes arount the test's name in the ``add_test`` command.
Although never officially supported several projects in the wild found and
implemented this workaround. However, the new change which officially allows
the ``add_test`` command to support whitespace and other special characters in
test names now breaks that workaround. In order for these projects to work
smoothly with newer CMake versions, this policy was introduced.
The ``OLD`` behavior of this policy is to still prevent ``add_test`` from
handling whitespace and special characters properly (if not using the
mentioned workaround). The ``NEW`` behavior on the other hand allows names
with whitespace and special characters for tests created by ``add_test``.
This policy was introduced in CMake version 3.19. CMake version |release|
warns when the policy is not set and uses ``OLD`` behavior. Use the
:command:`cmake_policy` command to set it to ``OLD`` or ``NEW`` explicitly.

View File

@@ -0,0 +1,6 @@
add_test-special-chars-in-name
------------------------------
* The :command:`add_test` command now (officially) supports whitespace and
other special characters in the name for the test it creates.
See policy :policy:`CMP0110`.

View File

@@ -323,7 +323,10 @@ class cmMakefile;
3, 18, 0, cmPolicies::WARN) \
SELECT(POLICY, CMP0109, \
"find_program() requires permission to execute but not to read.", 3, \
19, 0, cmPolicies::WARN)
19, 0, cmPolicies::WARN) \
SELECT(POLICY, CMP0110, \
"add_test() supports arbitrary characters in test names.", 3, 19, 0, \
cmPolicies::WARN)
#define CM_SELECT_ID(F, A1, A2, A3, A4, A5, A6) F(A1)
#define CM_FOR_EACH_POLICY_ID(POLICY) \

View File

@@ -2,8 +2,12 @@
file Copyright.txt or https://cmake.org/licensing for details. */
#include "cmTestGenerator.h"
#include <algorithm>
#include <cstddef> // IWYU pragma: keep
#include <iterator>
#include <memory>
#include <ostream>
#include <string>
#include <utility>
#include <vector>
@@ -11,7 +15,10 @@
#include "cmGeneratorTarget.h"
#include "cmListFileCache.h"
#include "cmLocalGenerator.h"
#include "cmMakefile.h"
#include "cmMessageType.h"
#include "cmOutputConverter.h"
#include "cmPolicies.h"
#include "cmProperty.h"
#include "cmPropertyMap.h"
#include "cmRange.h"
@@ -20,6 +27,52 @@
#include "cmSystemTools.h"
#include "cmTest.h"
namespace /* anonymous */
{
bool needToQuoteTestName(const cmMakefile& mf, const std::string& name)
{
// Determine if policy CMP0110 is set to NEW.
switch (mf.GetPolicyStatus(cmPolicies::CMP0110)) {
case cmPolicies::WARN:
// Only warn if a forbidden character is used in the name.
if (name.find_first_of("$[] #;\t\n\"\\") != std::string::npos) {
mf.IssueMessage(
MessageType::AUTHOR_WARNING,
cmStrCat(cmPolicies::GetPolicyWarning(cmPolicies::CMP0110),
"\nThe following name given to add_test() is invalid if "
"CMP0110 is not set or set to OLD:\n `",
name, "´\n"));
}
CM_FALLTHROUGH;
case cmPolicies::OLD:
// OLD behavior is to not quote the test's name.
return false;
case cmPolicies::REQUIRED_IF_USED:
case cmPolicies::REQUIRED_ALWAYS:
case cmPolicies::NEW:
default:
// NEW behavior is to quote the test's name.
return true;
}
}
std::size_t countMaxConsecutiveEqualSigns(const std::string& name)
{
std::size_t max = 0;
auto startIt = find(name.begin(), name.end(), '=');
auto endIt = startIt;
for (; startIt != name.end(); startIt = find(endIt, name.end(), '=')) {
endIt =
find_if_not(startIt + 1, name.end(), [](char c) { return c == '='; });
max =
std::max(max, static_cast<std::size_t>(std::distance(startIt, endIt)));
}
return max;
}
} // End: anonymous namespace
cmTestGenerator::cmTestGenerator(
cmTest* test, std::vector<std::string> const& configurations)
: cmScriptGenerator("CTEST_CONFIGURATION_TYPE", configurations)
@@ -76,8 +129,21 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
// Set up generator expression evaluation context.
cmGeneratorExpression ge(this->Test->GetBacktrace());
// Determine if policy CMP0110 is set to NEW.
const bool quote_test_name =
needToQuoteTestName(*this->Test->GetMakefile(), this->Test->GetName());
// Determine the number of equal-signs needed for quoting test name with
// [==[...]==] syntax.
const std::string equalSigns(
1 + countMaxConsecutiveEqualSigns(this->Test->GetName()), '=');
// Start the test command.
os << indent << "add_test(" << this->Test->GetName() << " ";
if (quote_test_name) {
os << indent << "add_test([" << equalSigns << "[" << this->Test->GetName()
<< "]" << equalSigns << "] ";
} else {
os << indent << "add_test(" << this->Test->GetName() << " ";
}
// Evaluate command line arguments
std::vector<std::string> argv =
@@ -127,8 +193,13 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
os << ")\n";
// Output properties for the test.
os << indent << "set_tests_properties(" << this->Test->GetName()
<< " PROPERTIES ";
if (quote_test_name) {
os << indent << "set_tests_properties([" << equalSigns << "["
<< this->Test->GetName() << "]" << equalSigns << "] PROPERTIES ";
} else {
os << indent << "set_tests_properties(" << this->Test->GetName()
<< " PROPERTIES ";
}
for (auto const& i : this->Test->GetProperties().GetList()) {
os << " " << i.first << " "
<< cmOutputConverter::EscapeForCMake(
@@ -140,7 +211,21 @@ void cmTestGenerator::GenerateScriptForConfig(std::ostream& os,
void cmTestGenerator::GenerateScriptNoConfig(std::ostream& os, Indent indent)
{
os << indent << "add_test(" << this->Test->GetName() << " NOT_AVAILABLE)\n";
// Determine if policy CMP0110 is set to NEW.
const bool quote_test_name =
needToQuoteTestName(*this->Test->GetMakefile(), this->Test->GetName());
// Determine the number of equal-signs needed for quoting test name with
// [==[...]==] syntax.
const std::string equalSigns(
1 + countMaxConsecutiveEqualSigns(this->Test->GetName()), '=');
if (quote_test_name) {
os << indent << "add_test([" << equalSigns << "[" << this->Test->GetName()
<< "]" << equalSigns << "] NOT_AVAILABLE)\n";
} else {
os << indent << "add_test(" << this->Test->GetName()
<< " NOT_AVAILABLE)\n";
}
}
bool cmTestGenerator::NeedsScriptNoConfig() const
@@ -155,14 +240,27 @@ void cmTestGenerator::GenerateOldStyle(std::ostream& fout, Indent indent)
{
this->TestGenerated = true;
// Determine if policy CMP0110 is set to NEW.
const bool quote_test_name =
needToQuoteTestName(*this->Test->GetMakefile(), this->Test->GetName());
// Determine the number of equal-signs needed for quoting test name with
// [==[...]==] syntax.
const std::string equalSigns(
1 + countMaxConsecutiveEqualSigns(this->Test->GetName()), '=');
// Get the test command line to be executed.
std::vector<std::string> const& command = this->Test->GetCommand();
std::string exe = command[0];
cmSystemTools::ConvertToUnixSlashes(exe);
fout << indent;
fout << "add_test(";
fout << this->Test->GetName() << " \"" << exe << "\"";
if (quote_test_name) {
fout << indent << "add_test([" << equalSigns << "["
<< this->Test->GetName() << "]" << equalSigns << "] \"" << exe
<< "\"";
} else {
fout << indent << "add_test(" << this->Test->GetName() << " \"" << exe
<< "\"";
}
for (std::string const& arg : cmMakeRange(command).advance(1)) {
// Just double-quote all arguments so they are re-parsed
@@ -182,8 +280,13 @@ void cmTestGenerator::GenerateOldStyle(std::ostream& fout, Indent indent)
fout << ")\n";
// Output properties for the test.
fout << indent << "set_tests_properties(" << this->Test->GetName()
<< " PROPERTIES ";
if (quote_test_name) {
fout << indent << "set_tests_properties([" << equalSigns << "["
<< this->Test->GetName() << "]" << equalSigns << "] PROPERTIES ";
} else {
fout << indent << "set_tests_properties(" << this->Test->GetName()
<< " PROPERTIES ";
}
for (auto const& i : this->Test->GetProperties().GetList()) {
fout << " " << i.first << " "
<< cmOutputConverter::EscapeForCMake(i.second);

View File

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

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "abcdefghijklmnopqrstuvwxyz0123456789")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "[=[InBracketBeforeSemi;InBracketAfterSemi]=]")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME \(\)\ \# )
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "$[] #;\t\n\"\\")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME " SurroundedByWhitespace ")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "!§%&/ü:*😤~")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "BeforeQuote\"\"AfterEscapedQuote")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "BeforeSemi;AfterSemi")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "BeforeSpace AfterSpace")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,2 @@
set(TEST_NAME "abc_.+-012")
include(CMP0110-Common.cmake)

View File

@@ -0,0 +1,9 @@
include(CTest)
add_test(
NAME "${TEST_NAME}"
COMMAND "${CMAKE_COMMAND}" -P "${CMAKE_CURRENT_LIST_DIR}/CMP0110-Test.cmake"
)
set_property(
TEST "${TEST_NAME}"
PROPERTY ENVIRONMENT CMAKE_add_test_ENVVAR=1
)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-AlphaNumeric.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-BracketArgument.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-EscapedSpecialChars.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)

View File

@@ -0,0 +1 @@
include(CMP0110-NEW-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-OtherSpecialChars.cmake)

View File

@@ -0,0 +1 @@
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-Quote.cmake)

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-Semicolon.cmake)

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-Space.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 NEW)
include(CMP0110-Common-ValidSpecialChars.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-AlphaNumeric.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-BracketArgument.cmake)

View File

@@ -0,0 +1,5 @@
CMake Error at CTestTestfile.cmake:[0-9]+:
Parse error\. Function missing ending "\)"\. End of file reached\.
No tests were found!!!

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-EscapedSpecialChars.cmake)

View File

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

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)

View File

@@ -0,0 +1,3 @@
CMake Error at CTestTestfile.cmake:[0-9]+:
Parse error. Function missing ending "\)". Instead found unterminated
string with text "\\ NOT_AVAILABLE\)

View File

@@ -0,0 +1 @@
include(CMP0110-OLD-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-OtherSpecialChars.cmake)

View File

@@ -0,0 +1 @@
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-Quote.cmake)

View File

@@ -0,0 +1 @@
8

View File

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

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-Semicolon.cmake)

View File

@@ -0,0 +1 @@
8

View File

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

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-Space.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
cmake_policy(SET CMP0110 OLD)
include(CMP0110-Common-ValidSpecialChars.cmake)

View File

@@ -0,0 +1,3 @@
if(NOT DEFINED ENV{CMAKE_add_test_ENVVAR})
message(FATAL_ERROR "Setting property on test did not succeed!")
endif()

View File

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

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-AlphaNumeric.cmake)

View File

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

View File

@@ -0,0 +1,11 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`\[=\[InBracketBeforeSemi;InBracketAfterSemi\]=\]´
This warning is for project developers\. Use -Wno-dev to suppress it\.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-BracketArgument.cmake)

View File

@@ -0,0 +1,5 @@
CMake Error at CTestTestfile.cmake:[0-9]+:
Parse error\. Function missing ending "\)"\. End of file reached\.
No tests were found!!!

View File

@@ -0,0 +1,11 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`\(\) #´
This warning is for project developers\. Use -Wno-dev to suppress it\.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-EscapedSpecialChars.cmake)

View File

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

View File

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

View File

@@ -0,0 +1,13 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`\$\[\] #;[ ]
"\\´
This warning is for project developers\. Use -Wno-dev to suppress it.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)

View File

@@ -0,0 +1,3 @@
CMake Error at CTestTestfile.cmake:[0-9]+:
Parse error. Function missing ending "\)". Instead found unterminated
string with text "\\ NOT_AVAILABLE\)

View File

@@ -0,0 +1,13 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`\$\[\] #;[ ]
"\\´
This warning is for project developers\. Use -Wno-dev to suppress it.

View File

@@ -0,0 +1 @@
include(CMP0110-WARN-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)

View File

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

View File

@@ -0,0 +1,11 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
` SurroundedByWhitespace ´
This warning is for project developers\. Use -Wno-dev to suppress it\.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)

View File

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

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-OtherSpecialChars.cmake)

View File

@@ -0,0 +1 @@
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed

View File

@@ -0,0 +1,11 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`BeforeQuote""AfterEscapedQuote´
This warning is for project developers\. Use -Wno-dev to suppress it\.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-Quote.cmake)

View File

@@ -0,0 +1 @@
8

View File

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

View File

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

View File

@@ -0,0 +1,11 @@
CMake Warning \(dev\) in CMakeLists\.txt:
Policy CMP0110 is not set: add_test\(\) supports arbitrary characters in test
names\. Run "cmake --help-policy CMP0110" for policy details\. Use the
cmake_policy command to set the policy and suppress this warning\.
The following name given to add_test\(\) is invalid if CMP0110 is not set or
set to OLD:
`BeforeSemi;AfterSemi´
This warning is for project developers\. Use -Wno-dev to suppress it\.

View File

@@ -0,0 +1,2 @@
# CMP0110 not set
include(CMP0110-Common-Semicolon.cmake)

View File

@@ -0,0 +1 @@
8

View File

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

Some files were not shown because too many files have changed in this diff Show More