Merge topic 'ctest-change-id'
601ff0ec
CTest: Optionally add a ChangeId attribute on XML Site tags
This commit is contained in:
commit
a5412fbab4
|
@ -365,6 +365,7 @@ Variables for CTest
|
|||
/variable/CTEST_BUILD_NAME
|
||||
/variable/CTEST_BZR_COMMAND
|
||||
/variable/CTEST_BZR_UPDATE_OPTIONS
|
||||
/variable/CTEST_CHANGE_ID
|
||||
/variable/CTEST_CHECKOUT_COMMAND
|
||||
/variable/CTEST_CONFIGURATION_TYPE
|
||||
/variable/CTEST_CONFIGURE_COMMAND
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
CTEST_CHANGE_ID
|
||||
---------------
|
||||
|
||||
Specify the CTest ``ChangeId`` setting
|
||||
in a :manual:`ctest(1)` dashboard client script.
|
||||
|
||||
This setting allows CTest to pass arbitrary information about this
|
||||
build up to CDash. One use of this feature is to allow CDash to
|
||||
post comments on your pull request if anything goes wrong with your build.
|
|
@ -109,6 +109,12 @@ bool cmCTestHandlerCommand
|
|||
this->Quiet);
|
||||
}
|
||||
|
||||
if(const char* changeId =
|
||||
this->Makefile->GetDefinition("CTEST_CHANGE_ID"))
|
||||
{
|
||||
this->CTest->SetCTestConfiguration("ChangeId", changeId, this->Quiet);
|
||||
}
|
||||
|
||||
cmCTestLog(this->CTest, DEBUG, "Initialize handler" << std::endl;);
|
||||
cmCTestGenericHandler* handler = this->InitializeHandler();
|
||||
if ( !handler )
|
||||
|
|
|
@ -1567,6 +1567,13 @@ void cmCTest::StartXML(cmXMLWriter& xml, bool append)
|
|||
xml.Attribute("LogicalProcessorsPerPhysical",
|
||||
info.GetLogicalProcessorsPerPhysical());
|
||||
xml.Attribute("ProcessorClockFrequency", info.GetProcessorClockFrequency());
|
||||
|
||||
std::string changeId = this->GetCTestConfiguration("ChangeId");
|
||||
if(!changeId.empty())
|
||||
{
|
||||
xml.Attribute("ChangeId", changeId);
|
||||
}
|
||||
|
||||
this->AddSiteProperties(xml);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
file(GLOB build_xml_file "${RunCMake_TEST_BINARY_DIR}/Testing/*/Build.xml")
|
||||
if(build_xml_file)
|
||||
file(READ "${build_xml_file}" build_xml LIMIT 4096)
|
||||
if(NOT build_xml MATCHES [[ChangeId="<>1"]])
|
||||
string(REPLACE "\n" "\n " build_xml " ${build_xml}")
|
||||
set(RunCMake_TEST_FAILED
|
||||
"Build.xml does not have expected ChangeId:\n${build_xml}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
set(RunCMake_TEST_FAILED "Build.xml not found")
|
||||
endif()
|
|
@ -31,3 +31,12 @@ endif()
|
|||
endif()
|
||||
endfunction()
|
||||
run_BuildFailure()
|
||||
|
||||
function(run_BuildChangeId)
|
||||
set(CASE_TEST_PREFIX_CODE [[
|
||||
set(CTEST_CHANGE_ID "<>1")
|
||||
]])
|
||||
|
||||
run_ctest(BuildChangeId)
|
||||
endfunction()
|
||||
run_BuildChangeId()
|
||||
|
|
|
@ -49,3 +49,13 @@ set(CASE_CTEST_TEST_LOAD "ERR3")
|
|||
run_ctest_test(TestLoadOrder TEST_LOAD "ERR4")
|
||||
|
||||
unset(ENV{__CTEST_FAKE_LOAD_AVERAGE_FOR_TESTING})
|
||||
unset(CASE_CTEST_TEST_LOAD)
|
||||
|
||||
function(run_TestChangeId)
|
||||
set(CASE_TEST_PREFIX_CODE [[
|
||||
set(CTEST_CHANGE_ID "<>1")
|
||||
]])
|
||||
|
||||
run_ctest(TestChangeId)
|
||||
endfunction()
|
||||
run_TestChangeId()
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
file(GLOB test_xml_file "${RunCMake_TEST_BINARY_DIR}/Testing/*/Test.xml")
|
||||
if(test_xml_file)
|
||||
file(READ "${test_xml_file}" test_xml LIMIT 4096)
|
||||
if(NOT test_xml MATCHES [[ChangeId="<>1"]])
|
||||
string(REPLACE "\n" "\n " test_xml " ${test_xml}")
|
||||
set(RunCMake_TEST_FAILED
|
||||
"Test.xml does not have expected ChangeId:\n${test_xml}"
|
||||
)
|
||||
endif()
|
||||
else()
|
||||
set(RunCMake_TEST_FAILED "Test.xml not found")
|
||||
endif()
|
|
@ -1,4 +1,5 @@
|
|||
cmake_minimum_required(VERSION 3.1)
|
||||
@CASE_TEST_PREFIX_CODE@
|
||||
|
||||
set(CTEST_SITE "test-site")
|
||||
set(CTEST_BUILD_NAME "test-build-name")
|
||||
|
|
Loading…
Reference in New Issue