RunCMakeTest.cmake 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. include(RunCMake)
  2. unset(ENV{CTEST_PARALLEL_LEVEL})
  3. unset(ENV{CTEST_OUTPUT_ON_FAILURE})
  4. run_cmake_command(repeat-until-fail-bad1
  5. ${CMAKE_CTEST_COMMAND} --repeat-until-fail
  6. )
  7. run_cmake_command(repeat-until-fail-bad2
  8. ${CMAKE_CTEST_COMMAND} --repeat-until-fail foo
  9. )
  10. run_cmake_command(repeat-until-fail-good
  11. ${CMAKE_CTEST_COMMAND} --repeat-until-fail 2
  12. )
  13. function(run_repeat_until_fail_tests)
  14. # Use a single build tree for a few tests without cleaning.
  15. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/repeat-until-fail-build)
  16. set(RunCMake_TEST_NO_CLEAN 1)
  17. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  18. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  19. run_cmake(repeat-until-fail-cmake)
  20. run_cmake_command(repeat-until-fail-ctest
  21. ${CMAKE_CTEST_COMMAND} -C Debug --repeat-until-fail 3
  22. )
  23. endfunction()
  24. run_repeat_until_fail_tests()
  25. function(run_BadCTestTestfile)
  26. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/BadCTestTestfile)
  27. set(RunCMake_TEST_NO_CLEAN 1)
  28. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  29. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  30. file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
  31. subdirs()
  32. ")
  33. run_cmake_command(BadCTestTestfile ${CMAKE_CTEST_COMMAND})
  34. endfunction()
  35. run_BadCTestTestfile()
  36. function(run_MergeOutput)
  37. set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/MergeOutput)
  38. set(RunCMake_TEST_NO_CLEAN 1)
  39. file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
  40. file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
  41. file(WRITE "${RunCMake_TEST_BINARY_DIR}/CTestTestfile.cmake" "
  42. add_test(MergeOutput \"${CMAKE_COMMAND}\" -P \"${RunCMake_SOURCE_DIR}/MergeOutput.cmake\")
  43. ")
  44. run_cmake_command(MergeOutput ${CMAKE_CTEST_COMMAND} -V)
  45. endfunction()
  46. run_MergeOutput()