summaryrefslogtreecommitdiff
path: root/Tests/RunCMake/ctest_test/TestExtraLabels-check.cmake
blob: eaa50d1550dd840ce2e2f2258971f798a29e2d93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 labels.
STRING(REGEX MATCHALL [[<Label>label1</Label>]] matches "${_test_contents}")
list(LENGTH matches n_matches)
if(NOT n_matches EQUAL 1)
  string(APPEND RunCMake_TEST_FAILED  "expected 1 match for label1, found ${n_matches}")
endif()
STRING(REGEX MATCHALL [[<Label>label2</Label>]] matches "${_test_contents}")
list(LENGTH matches n_matches)
if(NOT n_matches EQUAL 1)
  string(APPEND RunCMake_TEST_FAILED  "expected 1 match for label2, found ${n_matches}")
endif()
STRING(REGEX MATCHALL [[<Label>label3</Label>]] matches "${_test_contents}")
list(LENGTH matches n_matches)
if(NOT n_matches EQUAL 1)
  string(APPEND RunCMake_TEST_FAILED  "expected 1 match for label3, found ${n_matches}")
endif()

# Check test output.
if(NOT _test_contents MATCHES "<Value>before\nafter\n</Value>")
  string(APPEND RunCMake_TEST_FAILED "Could not find expected output in Test.xml")
endif()