RunCMakeTest.cmake 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  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()