diff options
author | Stefan Radomski <github@mintwerk.de> | 2016-05-12 13:30:14 (GMT) |
---|---|---|
committer | Stefan Radomski <github@mintwerk.de> | 2016-05-12 13:30:14 (GMT) |
commit | 59b51d5e70bd51a59d03c46e44148f53a0bf99a6 (patch) | |
tree | b82a80a45eaf0f7db7a0165d636f6e7c281bdf25 /test/ctest | |
parent | 46b41e28989ea66eeebe0b8a35a52fb2d22abf3f (diff) | |
download | uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.zip uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.gz uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.bz2 |
Corrected gitignore and travis config
Diffstat (limited to 'test/ctest')
-rw-r--r-- | test/ctest/scripts/run_generated_test.cmake | 111 | ||||
-rw-r--r-- | test/ctest/scripts/run_header_compiles.cmake | 21 | ||||
-rw-r--r-- | test/ctest/scripts/run_promela_test.cmake | 38 |
3 files changed, 170 insertions, 0 deletions
diff --git a/test/ctest/scripts/run_generated_test.cmake b/test/ctest/scripts/run_generated_test.cmake new file mode 100644 index 0000000..66fb2c0 --- /dev/null +++ b/test/ctest/scripts/run_generated_test.cmake @@ -0,0 +1,111 @@ +# convert given file to promela and run spin + +set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/contrib/cmake) +include("${CMAKE_MODULE_PATH}/FileInformation.cmake") + +get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME) +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTDIR}) + + +# message(FATAL_ERROR "PROJECT_BINARY_DIR: ${PROJECT_BINARY_DIR}") + +if (${TARGETLANG} STREQUAL "vhdl") + find_program(GHDL ghdl) + + execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}") + endif() + message(STATUS "time for transforming to VHDL machine") + + message(STATUS "${GHDL} -a ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl") + execute_process( + COMMAND time -p ${GHDL} -a ${OUTDIR}/${TEST_FILE_NAME}.machine.vhdl + WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error running ghdl ${GHDL}: ${CMD_RESULT}") + endif() + message(STATUS "time for transforming to binary") + +elseif (${TARGETLANG} STREQUAL "c") + + message(STATUS "${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.c") + execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -t${TARGETLANG} -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.c RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}") + endif() + message(STATUS "time for transforming to c machine") + + # set(COMPILE_CMD_OBJ + # "-c" "${OUTDIR}/${TEST_FILE_NAME}.machine.c" + # "-o" "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" + # "-Ofast" "-ansi" "-m16") + # + # message(STATUS "${CC_BIN} ${COMPILE_CMD_OBJ}") + # execute_process( + # COMMAND time -p ${CC_BIN} ${COMPILE_CMD_OBJ} + # WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) + # if(CMD_RESULT) + # message(FATAL_ERROR "Error running gcc ${CC_BIN}: ${CMD_RESULT}") + # endif() + # file (SIZE "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" BINARY_SIZE) + # message("Size of compiled unit optimized for speed: ${BINARY_SIZE}") + # + # set(COMPILE_CMD_OBJ + # "-c" "${OUTDIR}/${TEST_FILE_NAME}.machine.c" + # "-o" "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" + # "-Os" "-ansi" "-m16") + # + # message(STATUS "${CC_BIN} ${COMPILE_CMD_OBJ}") + # execute_process( + # COMMAND time -p ${CC_BIN} ${COMPILE_CMD_OBJ} + # WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) + # if(CMD_RESULT) + # message(FATAL_ERROR "Error running gcc ${CC_BIN}: ${CMD_RESULT}") + # endif() + # file (SIZE "${OUTDIR}/${TEST_FILE_NAME}.machine.c.o" BINARY_SIZE) + # message("Size of compiled unit optimized for size: ${BINARY_SIZE}") + + set(COMPILE_CMD_BIN + "-O0" + "-std=c++11" + "-Wl,-search_paths_first" + "-Wl,-headerpad_max_install_names" + "-o" "${OUTDIR}/${TEST_FILE_NAME}" + "-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" + "-L${PROJECT_BINARY_DIR}/deps/xerces-c/lib" + "-luscxml" + "-lxerces-c" + "-include" "${OUTDIR}/${TEST_FILE_NAME}.machine.c" + "-I${PROJECT_SOURCE_DIR}/contrib/src" + "-I${PROJECT_SOURCE_DIR}/src" + "-I${PROJECT_BINARY_DIR}" + "-I${XercesC_INCLUDE_DIRS}" + "-I${URIPARSER_INCLUDE_DIR}" + "-I${LIBEVENT_INCLUDE_DIR}" + "-Wl,-rpath,${CMAKE_LIBRARY_OUTPUT_DIRECTORY}" + "-DAUTOINCLUDE_TEST=ON" + "${SCAFFOLDING_FOR_GENERATED_C}") + + message(STATUS "${CXX_BIN} ${COMPILE_CMD_BIN}") + execute_process( + COMMAND time -p ${CXX_BIN} ${COMPILE_CMD_BIN} + WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error running g++ ${CXX_BIN}: ${CMD_RESULT}") + endif() + message(STATUS "time for transforming to binary") + + message(STATUS "${OUTDIR}/${TEST_FILE_NAME}") + execute_process( + COMMAND time -p ${OUTDIR}/${TEST_FILE_NAME} + WORKING_DIRECTORY ${OUTDIR} + RESULT_VARIABLE CMD_RESULT) + if(CMD_RESULT) + message(FATAL_ERROR "Error running generated c test: ${CMD_RESULT}") + endif() + message(STATUS "time for execution") +endif() + +# message(STATUS "${TEST_OUT}") +# file(WRITE ${OUTDIR}/${TEST_FILE_NAME}.pml.out ${TEST_OUT})
\ No newline at end of file diff --git a/test/ctest/scripts/run_header_compiles.cmake b/test/ctest/scripts/run_header_compiles.cmake new file mode 100644 index 0000000..e60ef0e --- /dev/null +++ b/test/ctest/scripts/run_header_compiles.cmake @@ -0,0 +1,21 @@ +# minimize SCXML document and run +get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME) + +set(COMPILE_CMD_BIN +"-c" +"-I${PROJECT_SOURCE_DIR}/contrib/src" +"-I${PROJECT_BINARY_DIR}/deps/xerces-c/include" +"-I${PROJECT_BINARY_DIR}/deps/libevent/include" +"-I${PROJECT_BINARY_DIR}/deps/uriparser/include" +"-I${PROJECT_SOURCE_DIR}/contrib/src/evws" +"-I${CMAKE_BINARY_DIR}" +"-I${PROJECT_BINARY_DIR}" +"-I${PROJECT_SOURCE_DIR}/src" +"${TESTFILE}") + +execute_process(COMMAND ${CXX_BIN} ${COMPILE_CMD_BIN} RESULT_VARIABLE CMD_RESULT) +if(CMD_RESULT) + message(FATAL_ERROR "Error running ${CXX_BIN}") +endif() + + diff --git a/test/ctest/scripts/run_promela_test.cmake b/test/ctest/scripts/run_promela_test.cmake new file mode 100644 index 0000000..818cf66 --- /dev/null +++ b/test/ctest/scripts/run_promela_test.cmake @@ -0,0 +1,38 @@ +# convert given file to promela and run spin + +get_filename_component(TEST_FILE_NAME ${TESTFILE} NAME) +execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTDIR}) + +set(ENV{USCXML_PROMELA_TRANSITION_TRACE} "TRUE") +set(ENV{USCXML_PROMELA_TRANSITION_DEBUG} "TRUE") + +message(STATUS "${USCXML_TRANSFORM_BIN} -tpml -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.pml") +execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -tpml -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.pml RESULT_VARIABLE CMD_RESULT) +if(CMD_RESULT) + message(FATAL_ERROR "Error running ${USCXML_TRANSFORM_BIN}: ${CMD_RESULT}") +endif() +message(STATUS "time for transforming to promela") + +message(STATUS "${SPIN_BIN} -a ${OUTDIR}/${TEST_FILE_NAME}.pml") +execute_process(COMMAND time -p ${SPIN_BIN} -a ${OUTDIR}/${TEST_FILE_NAME}.pml WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) +if(CMD_RESULT) + message(FATAL_ERROR "Error running spin ${SPIN_BIN}: ${CMD_RESULT}") +endif() +message(STATUS "time for transforming to c") + +message(STATUS "${CXX_BIN} -DMEMLIM=1024 -DVECTORSZ=8192 -O2 -DXUSAFE -w -o ${OUTDIR}/pan ${OUTDIR}/pan.c") +execute_process(COMMAND time -p ${CXX_BIN} -DMEMLIM=1024 -DVECTORSZ=8192 -O2 -DXUSAFE -w -o ${OUTDIR}/pan ${OUTDIR}/pan.c WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) +if(CMD_RESULT) + message(FATAL_ERROR "Error running gcc ${CXX_BIN}: ${CMD_RESULT}") +endif() +message(STATUS "time for transforming to binary") + +message(STATUS "${OUTDIR}/pan -m10000 -a") +execute_process(COMMAND time -p ${OUTDIR}/pan -m10000 -a WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT) +if(CMD_RESULT) + message(FATAL_ERROR "Error running pan: ${CMD_RESULT}") +endif() +message(STATUS "time for verification") + +# message(STATUS "${TEST_OUT}") +# file(WRITE ${OUTDIR}/${TEST_FILE_NAME}.pml.out ${TEST_OUT})
\ No newline at end of file |