| set(NUM_TRIES 30) |
| set(DELAY 1) |
| |
| if (NOT EXISTS ${v1}/preBuild.hook) |
| set(RunCMake_TEST_FAILED "preBuild hook did not run\n") |
| else() |
| file(READ ${v1}/preBuild.hook preBuildErrors) |
| if (NOT preBuildErrors MATCHES "^$") |
| string(APPEND RunCMake_TEST_FAILED "Errors found in data during preBuild hook:\n${preBuildErrors}\n") |
| endif() |
| endif() |
| |
| macro(hasPostBuildArtifacts) |
| if (NOT postBuildRan AND EXISTS ${v1}/postBuild.hook) |
| set(postBuildRan 1) |
| endif() |
| if (NOT dataDirClean) |
| file(GLOB data "${v1}/data/*json") |
| if ("${data}" STREQUAL "") |
| set(dataDirClean 1) |
| endif() |
| endif() |
| endmacro() |
| |
| set(postBuildRan 0) |
| set(dataDirClean 0) |
| foreach(_ RANGE ${NUM_TRIES}) |
| hasPostBuildArtifacts() |
| if (postBuildRan AND dataDirClean) |
| break() |
| endif() |
| execute_process(COMMAND ${CMAKE_COMMAND} -E sleep ${DELAY}) |
| endforeach() |
| |
| if (NOT postBuildRan) |
| string(APPEND RunCMake_TEST_FAILED "postBuild hook did not run\n") |
| else() |
| file(READ ${v1}/postBuild.hook postBuildErrors) |
| if (NOT postBuildErrors MATCHES "^$") |
| string(APPEND RunCMake_TEST_FAILED "Errors found in data during postBuild hook:\n${postBuildErrors}\n") |
| endif() |
| endif() |
| if (NOT dataDirClean) |
| string(APPEND RunCMake_TEST_FAILED "Snippet files not fully removed post build\n") |
| endif() |