summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorStefan Radomski <github@mintwerk.de>2016-05-12 13:30:14 (GMT)
committerStefan Radomski <github@mintwerk.de>2016-05-12 13:30:14 (GMT)
commit59b51d5e70bd51a59d03c46e44148f53a0bf99a6 (patch)
treeb82a80a45eaf0f7db7a0165d636f6e7c281bdf25 /test
parent46b41e28989ea66eeebe0b8a35a52fb2d22abf3f (diff)
downloaduscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.zip
uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.gz
uscxml-59b51d5e70bd51a59d03c46e44148f53a0bf99a6.tar.bz2
Corrected gitignore and travis config
Diffstat (limited to 'test')
-rw-r--r--test/ctest/scripts/run_generated_test.cmake111
-rw-r--r--test/ctest/scripts/run_header_compiles.cmake21
-rw-r--r--test/ctest/scripts/run_promela_test.cmake38
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