summaryrefslogtreecommitdiffstats
path: root/test/w3c/run_generated_c_test.cmake
diff options
context:
space:
mode:
authorStefan Radomski <sradomski@mintwerk.de>2016-01-06 11:10:10 (GMT)
committerStefan Radomski <sradomski@mintwerk.de>2016-01-06 11:10:10 (GMT)
commitf9eb54fc9c17116954846133b33f7a241e662cbc (patch)
tree7b6eede00cd3c088f0f652acccc89d4471f9cfa6 /test/w3c/run_generated_c_test.cmake
parentb8ba0e7c31f397a66f9d509ff20a85b33619475a (diff)
downloaduscxml-f9eb54fc9c17116954846133b33f7a241e662cbc.zip
uscxml-f9eb54fc9c17116954846133b33f7a241e662cbc.tar.gz
uscxml-f9eb54fc9c17116954846133b33f7a241e662cbc.tar.bz2
Prepared ChartToC transformation
Diffstat (limited to 'test/w3c/run_generated_c_test.cmake')
-rw-r--r--test/w3c/run_generated_c_test.cmake47
1 files changed, 47 insertions, 0 deletions
diff --git a/test/w3c/run_generated_c_test.cmake b/test/w3c/run_generated_c_test.cmake
new file mode 100644
index 0000000..7ae7b4d
--- /dev/null
+++ b/test/w3c/run_generated_c_test.cmake
@@ -0,0 +1,47 @@
+# 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})
+
+message(STATUS "${USCXML_TRANSFORM_BIN} -tc -i ${TESTFILE} -o ${OUTDIR}/${TEST_FILE_NAME}.machine.c")
+execute_process(COMMAND time -p ${USCXML_TRANSFORM_BIN} -tc -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
+"-o" "${OUTDIR}/${TEST_FILE_NAME}"
+"-L${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
+"-luscxml64"
+"-include" "${OUTDIR}/${TEST_FILE_NAME}.machine.c"
+"-I${PROJECT_SOURCE_DIR}/contrib/prebuilt/${USCXML_PLATFORM_ID}/include"
+"-I${PROJECT_SOURCE_DIR}/contrib/prebuilt/${USCXML_PLATFORM_ID}/include/arabica"
+"-I${PROJECT_SOURCE_DIR}/contrib/prebuilt/include"
+"-I${CMAKE_BINARY_DIR}"
+"-I${PROJECT_SOURCE_DIR}/src"
+"-Wl,-rpath,${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
+"-DAUTOINCLUDE_TEST=ON"
+"${SCAFFOLDING_FOR_GENERATED_C}")
+
+message(STATUS "${GPP_BIN} ${COMPILE_CMD}")
+execute_process(
+ COMMAND time -p ${GPP_BIN} ${COMPILE_CMD}
+ WORKING_DIRECTORY ${OUTDIR} RESULT_VARIABLE CMD_RESULT)
+if(CMD_RESULT)
+ message(FATAL_ERROR "Error running g++ ${GPP_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")
+
+# message(STATUS "${TEST_OUT}")
+# file(WRITE ${OUTDIR}/${TEST_FILE_NAME}.pml.out ${TEST_OUT}) \ No newline at end of file