You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.1 KiB
32 lines
1.1 KiB
if (NOT EXISTS ${ProfilingTestOutput})
|
|
set(RunCMake_TEST_FAILED "Expected ${ProfilingTestOutput} to exists")
|
|
endif()
|
|
|
|
file(READ "${ProfilingTestOutput}" JSON_HEADER LIMIT 2)
|
|
if (NOT JSON_HEADER MATCHES "^\\[{")
|
|
set(RunCMake_TEST_FAILED "Expected valid JSON start")
|
|
return()
|
|
endif()
|
|
|
|
file(SIZE "${ProfilingTestOutput}" OUTPUT_SIZE)
|
|
math(EXPR END_OFFSET "${OUTPUT_SIZE} -2 ")
|
|
|
|
file(READ "${ProfilingTestOutput}" JSON_TRAILER OFFSET ${END_OFFSET})
|
|
if (NOT JSON_TRAILER MATCHES "^}]$")
|
|
set(RunCMake_TEST_FAILED "Expected valid JSON end")
|
|
return()
|
|
endif()
|
|
|
|
file(STRINGS ${ProfilingTestOutput} upperCaseCommand
|
|
REGEX [["name"[ ]*:[ ]*"__TESTING_COMMAND_CASE"]])
|
|
if (NOT "${upperCaseCommand}" STREQUAL "")
|
|
set(RunCMake_TEST_FAILED "Command name not stored in lowercase")
|
|
endif()
|
|
file(STRINGS ${ProfilingTestOutput} lowerCaseCommand
|
|
REGEX [["name"[ ]*:[ ]*"__testing_command_case"]])
|
|
list(LENGTH lowerCaseCommand numInvocations)
|
|
if (NOT numInvocations EQUAL 1)
|
|
set(RunCMake_TEST_FAILED
|
|
"Unexpected number of lowercase command names: ${numInvocations}")
|
|
endif()
|