mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 02:39:48 -06:00
add_test: Allow special characters in test name (w/ policy CMP0110)
Restore the change from commitf84af8e270(add_test: Allow special characters in test name, 2020-05-16, v3.18.0-rc1~142^2) that had to be reverted by commitf84af8e270(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:
@@ -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
|
||||
|
||||
@@ -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
24
Help/policy/CMP0110.rst
Normal 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.
|
||||
6
Help/release/dev/add_test-special-chars-in-name.rst
Normal file
6
Help/release/dev/add_test-special-chars-in-name.rst
Normal 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`.
|
||||
@@ -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) \
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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>)
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "abcdefghijklmnopqrstuvwxyz0123456789")
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "[=[InBracketBeforeSemi;InBracketAfterSemi]=]")
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME \(\)\ \# )
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "$[] #;\t\n\"\\")
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME " SurroundedByWhitespace ")
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "!§%&/ü:*😤~")
|
||||
include(CMP0110-Common.cmake)
|
||||
2
Tests/RunCMake/add_test/CMP0110-Common-Quote.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-Common-Quote.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "BeforeQuote\"\"AfterEscapedQuote")
|
||||
include(CMP0110-Common.cmake)
|
||||
2
Tests/RunCMake/add_test/CMP0110-Common-Semicolon.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-Common-Semicolon.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "BeforeSemi;AfterSemi")
|
||||
include(CMP0110-Common.cmake)
|
||||
2
Tests/RunCMake/add_test/CMP0110-Common-Space.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-Common-Space.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "BeforeSpace AfterSpace")
|
||||
include(CMP0110-Common.cmake)
|
||||
@@ -0,0 +1,2 @@
|
||||
set(TEST_NAME "abc_.+-012")
|
||||
include(CMP0110-Common.cmake)
|
||||
9
Tests/RunCMake/add_test/CMP0110-Common.cmake
Normal file
9
Tests/RunCMake/add_test/CMP0110-Common.cmake
Normal 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
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed
|
||||
2
Tests/RunCMake/add_test/CMP0110-NEW-AlphaNumeric.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-NEW-AlphaNumeric.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-AlphaNumeric.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: \[=\[InBracketBeforeSemi;InBracketAfterSemi\]=\] \.+[ ]+Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-BracketArgument.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: \(\) # \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-EscapedSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: \$\[\] .+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
include(CMP0110-NEW-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: [ ]SurroundedByWhitespace[ ] \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: !§%&/ü:\*😤~ \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-OtherSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed
|
||||
2
Tests/RunCMake/add_test/CMP0110-NEW-Quote.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-NEW-Quote.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-Quote.cmake)
|
||||
2
Tests/RunCMake/add_test/CMP0110-NEW-Semicolon.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-NEW-Semicolon.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-Semicolon.cmake)
|
||||
2
Tests/RunCMake/add_test/CMP0110-NEW-Space.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-NEW-Space.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-Space.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 NEW)
|
||||
include(CMP0110-Common-ValidSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed
|
||||
2
Tests/RunCMake/add_test/CMP0110-OLD-AlphaNumeric.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-OLD-AlphaNumeric.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-AlphaNumeric.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: InBracketBeforeSemi;InBracketAfterSemi \.+[ ]+Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-BracketArgument.cmake)
|
||||
@@ -0,0 +1,5 @@
|
||||
CMake Error at CTestTestfile.cmake:[0-9]+:
|
||||
Parse error\. Function missing ending "\)"\. End of file reached\.
|
||||
|
||||
|
||||
No tests were found!!!
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-EscapedSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable:
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: \$\[\] \.+\*\*\*Not Run
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)
|
||||
@@ -0,0 +1,3 @@
|
||||
CMake Error at CTestTestfile.cmake:[0-9]+:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated
|
||||
string with text "\\ NOT_AVAILABLE\)
|
||||
@@ -0,0 +1 @@
|
||||
include(CMP0110-OLD-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: SurroundedByWhitespace \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: !§%&/ü:\*😤~ \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-OtherSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed
|
||||
2
Tests/RunCMake/add_test/CMP0110-OLD-Quote.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-OLD-Quote.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-Quote.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable: AfterSemi
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeSemi \.+\*\*\*Not Run
|
||||
2
Tests/RunCMake/add_test/CMP0110-OLD-Semicolon.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-OLD-Semicolon.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-Semicolon.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable: AfterSpace
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeSpace \.+\*\*\*Not Run
|
||||
2
Tests/RunCMake/add_test/CMP0110-OLD-Space.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-OLD-Space.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-Space.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: abc_\.\+-012 \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
cmake_policy(SET CMP0110 OLD)
|
||||
include(CMP0110-Common-ValidSpecialChars.cmake)
|
||||
3
Tests/RunCMake/add_test/CMP0110-Test.cmake
Normal file
3
Tests/RunCMake/add_test/CMP0110-Test.cmake
Normal file
@@ -0,0 +1,3 @@
|
||||
if(NOT DEFINED ENV{CMAKE_add_test_ENVVAR})
|
||||
message(FATAL_ERROR "Setting property on test did not succeed!")
|
||||
endif()
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: abcdefghijklmnopqrstuvwxyz0123456789 \.+[ ]*Passed
|
||||
2
Tests/RunCMake/add_test/CMP0110-WARN-AlphaNumeric.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-WARN-AlphaNumeric.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-AlphaNumeric.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: InBracketBeforeSemi;InBracketAfterSemi \.+[ ]+Passed
|
||||
@@ -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\.
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-BracketArgument.cmake)
|
||||
@@ -0,0 +1,5 @@
|
||||
CMake Error at CTestTestfile.cmake:[0-9]+:
|
||||
Parse error\. Function missing ending "\)"\. End of file reached\.
|
||||
|
||||
|
||||
No tests were found!!!
|
||||
@@ -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\.
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-EscapedSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable:
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: \$\[\] \.+\*\*\*Not Run
|
||||
@@ -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.
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-FormerInvalidSpecialChars.cmake)
|
||||
@@ -0,0 +1,3 @@
|
||||
CMake Error at CTestTestfile.cmake:[0-9]+:
|
||||
Parse error. Function missing ending "\)". Instead found unterminated
|
||||
string with text "\\ NOT_AVAILABLE\)
|
||||
@@ -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.
|
||||
@@ -0,0 +1 @@
|
||||
include(CMP0110-WARN-FormerInvalidSpecialChars.cmake NO_POLICY_SCOPE)
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-GeneratorExpressionSyntax.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: SurroundedByWhitespace \.+[ ]*Passed
|
||||
@@ -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\.
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-LeadingAndTrailingWhitespace.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: !§%&/ü:\*😤~ \.+[ ]*Passed
|
||||
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-OtherSpecialChars.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeQuote""AfterEscapedQuote \.+[ ]+Passed
|
||||
11
Tests/RunCMake/add_test/CMP0110-WARN-Quote-stderr.txt
Normal file
11
Tests/RunCMake/add_test/CMP0110-WARN-Quote-stderr.txt
Normal 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\.
|
||||
2
Tests/RunCMake/add_test/CMP0110-WARN-Quote.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-WARN-Quote.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-Quote.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable: AfterSemi
|
||||
@@ -0,0 +1 @@
|
||||
Test #[0-9]+: BeforeSemi \.+\*\*\*Not Run
|
||||
11
Tests/RunCMake/add_test/CMP0110-WARN-Semicolon-stderr.txt
Normal file
11
Tests/RunCMake/add_test/CMP0110-WARN-Semicolon-stderr.txt
Normal 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\.
|
||||
2
Tests/RunCMake/add_test/CMP0110-WARN-Semicolon.cmake
Normal file
2
Tests/RunCMake/add_test/CMP0110-WARN-Semicolon.cmake
Normal file
@@ -0,0 +1,2 @@
|
||||
# CMP0110 not set
|
||||
include(CMP0110-Common-Semicolon.cmake)
|
||||
@@ -0,0 +1 @@
|
||||
8
|
||||
@@ -0,0 +1 @@
|
||||
Unable to find executable: AfterSpace
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user