mirror of
https://github.com/Kitware/CMake.git
synced 2025-12-31 10:50:16 -06:00
ctest: export test labels to junit xml
With this patch, the junit files written by ctest also contain the test labels as testcase properties, see https://github.com/testmoapp/junitxml#properties The name for the property is "cmake_labels", where "cmake_" is used namespace-like. This could be done the same way if we export more properties to junit. Also this makes it clear to consumers that this is coming from cmake, and the list is a cmake-formatted string.
This commit is contained in:
@@ -2617,6 +2617,21 @@ bool cmCTestTestHandler::WriteJUnitXML()
|
||||
xml.EndElement(); // </failure>
|
||||
}
|
||||
|
||||
xml.StartElement("properties");
|
||||
if ((result.Properties) && (!result.Properties->Labels.empty())) {
|
||||
xml.StartElement("property");
|
||||
xml.Attribute("name", "cmake_labels");
|
||||
// Pass the property as a cmake-formatted list, consumers will know
|
||||
// anyway that this information is coming from cmake, so it should
|
||||
// be ok to put it here as a cmake-list.
|
||||
xml.Attribute("value", cmList::to_string(result.Properties->Labels));
|
||||
// if we export more properties, this should be done the same way,
|
||||
// i.e. prefix the property name with "cmake_", and it it can be
|
||||
// a list, write it cmake-formatted.
|
||||
xml.EndElement(); // </property>
|
||||
}
|
||||
xml.EndElement(); // </properties>
|
||||
|
||||
// Note: compressed test output is unconditionally disabled when
|
||||
// --output-junit is specified.
|
||||
xml.Element("system-out", result.Output);
|
||||
|
||||
Reference in New Issue
Block a user