RunCMakeTest.cmake 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. include(RunCTest)
  2. set(CASE_CTEST_START_ARGS "")
  3. function(run_ctest_start CASE_NAME)
  4. set(CASE_CTEST_START_ARGS "${ARGN}")
  5. run_ctest(${CASE_NAME})
  6. endfunction()
  7. function(check_tag_contents EXPECTED)
  8. set(_tag_file "${RunCMake_BINARY_DIR}/${CASE_NAME}-build/Testing/TAG")
  9. if(EXISTS "${_tag_file}")
  10. file(READ "${_tag_file}" _tag_contents)
  11. if(NOT _tag_contents MATCHES "${EXPECTED}")
  12. set(RunCMake_TEST_FAILED "Testing/TAG file does not match expected value.\nActual TAG file:\n${_tag_contents}\nExpected TAG file:\n${EXPECTED}\n" PARENT_SCOPE)
  13. endif()
  14. else()
  15. set(RunCMake_TEST_FAILED "Testing/TAG file does not exist." PARENT_SCOPE)
  16. endif()
  17. endfunction()
  18. run_ctest_start(StartQuiet Experimental QUIET)
  19. run_ctest_start(ConfigInSource Experimental)
  20. run_ctest_start(FunctionScope Experimental QUIET)
  21. run_ctest_start(WriteModelToTagExperimental Experimental QUIET)
  22. run_ctest_start(WriteModelToTagContinuous Continuous QUIET)
  23. run_ctest_start(WriteModelToTagNightly Nightly QUIET)
  24. run_ctest_start(WriteModelToTagNoMatchingTrack Continuous TRACK SomeWeirdTrackName QUIET)
  25. run_ctest_start(AppendSameModel Continuous APPEND)
  26. run_ctest_start(AppendDifferentModel Experimental APPEND)
  27. run_ctest_start(AppendNoModel APPEND)
  28. run_ctest_start(AppendDifferentTrack TRACK ExperimentalDifferent APPEND)
  29. run_ctest_start(NoAppendDifferentTrack Experimental TRACK ExperimentalDifferent)
  30. run_ctest_start(AppendNoMatchingTrack Continuous APPEND)
  31. run_ctest_start(AppendOldContinuous Continuous APPEND)
  32. run_ctest_start(AppendOldNoModel APPEND)
  33. run_ctest_start(NoModel QUIET)
  34. run_ctest_start(MissingTrackArg Experimental TRACK)
  35. run_ctest_start(MissingTrackArgAppend Experimental TRACK APPEND)
  36. run_ctest_start(MissingTrackArgQuiet Experimental TRACK QUIET)
  37. run_ctest_start(TooManyArgs Experimental
  38. ${RunCMake_BINARY_DIR}/TooManyArgs-build
  39. ${RunCMake_BINARY_DIR}/TooManyArgs-build
  40. ${RunCMake_BINARY_DIR}/TooManyArgs-build)
  41. function(run_ConfigInBuild)
  42. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/ConfigInBuild-build)
  43. set(RunCMake_TEST_NO_CLEAN 1)
  44. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  45. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  46. run_ctest_start(ConfigInBuild Experimental)
  47. endfunction()
  48. run_ConfigInBuild()