From 02e24f0f533fe904c3a5275c4060c10c38d7c17a Mon Sep 17 00:00:00 2001 From: Ján Sučan Date: Wed, 10 May 2017 15:13:29 +0200 Subject: Uvodny commit, subory su rovnake ako na CD prilozenom k vytlacenemu texu bakalarskej prace, naviac je pridany len subor LICENCIA --- tests/functions.cmake | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100755 tests/functions.cmake (limited to 'tests/functions.cmake') diff --git a/tests/functions.cmake b/tests/functions.cmake new file mode 100755 index 0000000..e902fa6 --- /dev/null +++ b/tests/functions.cmake @@ -0,0 +1,78 @@ +macro (M_SET_CONFIG_OPTIONS) + if (${SerialPortSpeed}) + set (CONFIG_OPTIONS "${CONFIG_OPTIONS} -s ${SerialPortSpeed}") + endif () + if (${DefaultSerialPortName}) + set (CONFIG_OPTIONS "${CONFIG_OPTIONS} -p ${DefaultSerialPortName}") + endif () + if (NOT "${McuCpuFrequency}" STREQUAL "") + set (CONFIG_OPTIONS "${CONFIG_OPTIONS} -f ${McuCpuFrequency}") + endif () +endmacro () + +macro (M_ADD_TEST SCRIPT) + add_test(NAME ${TestNamespace}${NAME} + CONFIGURATIONS ${TestConfigurations} + COMMAND ${CMAKE_COMMAND} + -DTestFunctions=${CMAKE_SOURCE_DIR}/tests/functions.cmake + -DTestArgs=${ARGS} + -DTestConfigOptions=${CONFIG_OPTIONS} + -DTestExitCode=${EXITCODE} + -DTestBlessedFile=${BLESSEDFILE} + -DTestFile=${FILE} + -P ${SCRIPT} + ) +endmacro () + + +function (ADD_WITHOUT_CONFIG_TEST NAME ARGS EXITCODE) + m_add_test (${CMAKE_SOURCE_DIR}/tests/other_operations.cmake) +endfunction () + +function (ADD_NORMAL_TEST NAME ARGS EXITCODE) + m_set_config_options () + m_add_test (${CMAKE_SOURCE_DIR}/tests/other_operations.cmake) +endfunction () + +function (ADD_ERASE_TEST NAME ARGS EXITCODE BLESSEDFILE FILE) + m_set_config_options () + m_add_test (${CMAKE_SOURCE_DIR}/tests/erase.cmake) +endfunction () + +function (ADD_WRITE_TEST NAME ARGS EXITCODE BLESSEDFILE FILE) + m_set_config_options () + m_add_test (${CMAKE_SOURCE_DIR}/tests/write.cmake) +endfunction () + +function (ADD_READ_TEST NAME ARGS EXITCODE FILE) + m_set_config_options () + m_add_test (${CMAKE_SOURCE_DIR}/tests/read.cmake) +endfunction () + + +# ------------------------------------------------------- + + +function (EXEC_TEST ARGS EXITCODE) + string (REPLACE " " ";" ARGS_LIST "${ARGS}") + execute_process ( + COMMAND ${CMAKE_BINARY_DIR}/main ${ARGS_LIST} + RESULT_VARIABLE MAIN_RESULT + TIMEOUT 120 + ) + if (NOT ${MAIN_RESULT} EQUAL ${EXITCODE}) + message(FATAL_ERROR "Unexpected exit code ${MAIN_RESULT}, expected ${EXITCODE}") + endif() + set (RETVAL ${MAIN_RESULT} PARENT_SCOPE) +endfunction () + + +function(COMPARE_FILES F1 F2) + execute_process ( + COMMAND ${CMAKE_COMMAND} -E compare_files ${F1} ${F2} + RESULT_VARIABLE CMP_RESULT + ) + if(CMP_RESULT) + message(FATAL_ERROR "Files do not match: ${F1} ${F2}") + endif() +endfunction() -- cgit v1.2.3