On Thu, 2019-06-20 at 15:45 -0400, Donald MacQueen [|] via CMake wrote: > I have a test where I start a program that I know will create some > output that I can test. > > But I have no way to kill this program, so I let Ctest kill it with > a > TIMEOUT. > > The next step greps the output to see if it worked. > > So it would be nice if PASS_REGULAR_EXPRESSION could override > TIMEOUT > and not mark the test as failed. > > For example: > > set_tests_properties(${importMaps} PROPERTIES > PASS_REGULAR_EXPRESSION "some string I know I will find") > # this > ^^^^^^^^^^^^^^^^^^^^^^ makes the test pass even if it times out > set_tests_properties(${importMaps} PROPERTIES TIMEOUT 60)
You could wrap your test in a CMake script that calls execute_process() with a TIMEOUT argument, and then greps the output of the command for the desired expression. For example: CMakeLists.txt: add_test(NAME mytest COMMAND ${CMAKE_COMMAND} -DMYEXE=${PATH_TO_MYEXE} -P ${CMAKE_CURRENT_LIST_DIR}/ExecuteTest.cmake) ExecuteTest.cmake: execute_process(COMMAND ${PATH_TO_MYEXE} TIMEOUT 60 OUTPUT_VARIABLE output) if(NOT output MATCHES "^my_desired_regex$") message(FATAL_ERROR "myexe did not produce desired output") endif() Hope that helps Kyle -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: https://cmake.org/mailman/listinfo/cmake