Files
mars-flaim/cmake/NWFlaimDbSmokeTest.cmake.in

41 lines
1.6 KiB
CMake

if(NOT DEFINED NWFLAIM_GIGATEST)
message(FATAL_ERROR "NWFLAIM_GIGATEST is required")
endif()
if(NOT DEFINED NWFLAIM_CHECKDB)
message(FATAL_ERROR "NWFLAIM_CHECKDB is required")
endif()
if(NOT DEFINED NWFLAIM_TEST_WORKDIR)
message(FATAL_ERROR "NWFLAIM_TEST_WORKDIR is required")
endif()
set(ENV{TERM} xterm)
file(REMOVE_RECURSE "${NWFLAIM_TEST_WORKDIR}")
file(MAKE_DIRECTORY "${NWFLAIM_TEST_WORKDIR}" "${NWFLAIM_TEST_WORKDIR}/data" "${NWFLAIM_TEST_WORKDIR}/rfl" "${NWFLAIM_TEST_WORKDIR}/tmp")
set(_db "${NWFLAIM_TEST_WORKDIR}/gigatest.db")
execute_process(
COMMAND "${NWFLAIM_GIGATEST}" -b -n${_db} -dd${NWFLAIM_TEST_WORKDIR}/data -dr${NWFLAIM_TEST_WORKDIR}/rfl -t4 32
WORKING_DIRECTORY "${NWFLAIM_TEST_WORKDIR}"
RESULT_VARIABLE _giga_result
OUTPUT_VARIABLE _giga_stdout
ERROR_VARIABLE _giga_stderr
TIMEOUT 60)
if(NOT _giga_result EQUAL 0)
message(STATUS "nwflmgigatest stdout:\n${_giga_stdout}")
message(STATUS "nwflmgigatest stderr:\n${_giga_stderr}")
message(FATAL_ERROR "nwflmgigatest failed with exit code ${_giga_result}")
endif()
execute_process(
COMMAND "${NWFLAIM_CHECKDB}" "${_db}" -b -i -dd${NWFLAIM_TEST_WORKDIR}/data -dr${NWFLAIM_TEST_WORKDIR}/rfl -t${NWFLAIM_TEST_WORKDIR}/tmp
WORKING_DIRECTORY "${NWFLAIM_TEST_WORKDIR}"
RESULT_VARIABLE _check_result
OUTPUT_VARIABLE _check_stdout
ERROR_VARIABLE _check_stderr
TIMEOUT 60)
if(NOT _check_result EQUAL 0)
message(STATUS "nwflmcheckdb stdout:\n${_check_stdout}")
message(STATUS "nwflmcheckdb stderr:\n${_check_stderr}")
message(FATAL_ERROR "nwflmcheckdb failed with exit code ${_check_result}")
endif()