mirror of
https://github.com/Kitware/CMake.git
synced 2026-05-24 09:09:43 -05:00
cbcb92d1cb
Allow tests to specify files to upload at runtime. Previously this was only possible to specify at configure time with the ATTACHED_FILES test properties. This commit also fixes a bug in how our test data tarballs were generated by CTest. Previously, if you tried to attach a file outside of the binary directory, CTest would generate a tar file with a relative path, and tar would not allow you to extract it. We resolve this problem by creating tar files with a flat directory structure instead. Fixes: #22284
23 lines
1.2 KiB
CMake
23 lines
1.2 KiB
CMake
file(READ "${RunCMake_TEST_BINARY_DIR}/Testing/TAG" _tag)
|
|
string(REGEX REPLACE "^([^\n]*)\n.*$" "\\1" _date "${_tag}")
|
|
file(READ "${RunCMake_TEST_BINARY_DIR}/Testing/${_date}/Test.xml" _test_contents)
|
|
|
|
# Check double measurement.
|
|
if(NOT _test_contents MATCHES [[NamedMeasurement type="numeric/double" name="my_custom_value"]])
|
|
string(APPEND RunCMake_TEST_FAILED
|
|
"Could not find expected <NamedMeasurement> tag for type='numeric/double' in Test.xml")
|
|
endif()
|
|
if(NOT _test_contents MATCHES "<Value>1.4847</Value>")
|
|
string(APPEND RunCMake_TEST_FAILED "Could not find expected measurement value in Test.xml")
|
|
endif()
|
|
# Check img measurement.
|
|
if(NOT _test_contents MATCHES [[NamedMeasurement name="TestImage" type="image/png" encoding="base64"]])
|
|
string(APPEND RunCMake_TEST_FAILED
|
|
"Could not find expected <NamedMeasurement> tag for type='image/png' in Test.xml")
|
|
endif()
|
|
# Check file measurement.
|
|
if(NOT _test_contents MATCHES [[NamedMeasurement name="my_test_input_data" encoding="base64" compression="tar/gzip" filename="cmake-logo-16.png" type="file"]])
|
|
string(APPEND RunCMake_TEST_FAILED
|
|
"Could not find expected <NamedMeasurement> tag for type='file' in Test.xml")
|
|
endif()
|