EndStuffTestScript.cmake 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. message(STATUS "testname='${testname}'")
  2. if(testname STREQUAL bad_else) # fail
  3. file(WRITE "${dir}/${testname}.cmake"
  4. "else()
  5. ")
  6. execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
  7. RESULT_VARIABLE rv)
  8. if(NOT rv EQUAL 0)
  9. message(FATAL_ERROR "${testname} failed")
  10. endif()
  11. elseif(testname STREQUAL bad_elseif) # fail
  12. file(WRITE "${dir}/${testname}.cmake"
  13. "elseif()
  14. ")
  15. execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
  16. RESULT_VARIABLE rv)
  17. if(NOT rv EQUAL 0)
  18. message(FATAL_ERROR "${testname} failed")
  19. endif()
  20. elseif(testname STREQUAL bad_endforeach) # fail
  21. endforeach()
  22. elseif(testname STREQUAL bad_endfunction) # fail
  23. endfunction()
  24. elseif(testname STREQUAL bad_endif) # fail
  25. file(WRITE "${dir}/${testname}.cmake"
  26. "cmake_minimum_required(VERSION 2.8)
  27. endif()
  28. ")
  29. execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
  30. RESULT_VARIABLE rv)
  31. if(NOT rv EQUAL 0)
  32. message(FATAL_ERROR "${testname} failed")
  33. endif()
  34. elseif(testname STREQUAL endif_low_min_version) # pass
  35. file(WRITE "${dir}/${testname}.cmake"
  36. "cmake_minimum_required(VERSION 1.2)
  37. endif()
  38. ")
  39. execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
  40. RESULT_VARIABLE rv)
  41. if(NOT rv EQUAL 0)
  42. message(FATAL_ERROR "${testname} failed")
  43. endif()
  44. elseif(testname STREQUAL endif_no_min_version) # pass
  45. file(WRITE "${dir}/${testname}.cmake"
  46. "endif()
  47. ")
  48. execute_process(COMMAND ${CMAKE_COMMAND} -P "${dir}/${testname}.cmake"
  49. RESULT_VARIABLE rv)
  50. if(NOT rv EQUAL 0)
  51. message(FATAL_ERROR "${testname} failed")
  52. endif()
  53. elseif(testname STREQUAL bad_endmacro) # fail
  54. endmacro()
  55. elseif(testname STREQUAL bad_endwhile) # fail
  56. endwhile()
  57. else() # fail
  58. message(FATAL_ERROR "testname='${testname}' - error: no such test in '${CMAKE_CURRENT_LIST_FILE}'")
  59. endif()