Revision: 75659
http://sourceforge.net/p/brlcad/code/75659
Author: starseeker
Date: 2020-05-01 14:18:48 +0000 (Fri, 01 May 2020)
Log Message:
-----------
Add a (very) basic regression test for the checker logic
Modified Paths:
--------------
brlcad/trunk/regress/CMakeLists.txt
Added Paths:
-----------
brlcad/trunk/regress/gchecker/
brlcad/trunk/regress/gchecker/CMakeLists.txt
brlcad/trunk/regress/gchecker/gchecker_test.g
brlcad/trunk/regress/gchecker/regress-gchecker.cmake.in
Modified: brlcad/trunk/regress/CMakeLists.txt
===================================================================
--- brlcad/trunk/regress/CMakeLists.txt 2020-05-01 14:17:02 UTC (rev 75658)
+++ brlcad/trunk/regress/CMakeLists.txt 2020-05-01 14:18:48 UTC (rev 75659)
@@ -54,6 +54,8 @@
# Fuzz tests
# add_subdirectory(fuzz)
+# gchecker tests
+add_subdirectory(gchecker)
# License check
add_subdirectory(licenses)
Added: brlcad/trunk/regress/gchecker/CMakeLists.txt
===================================================================
--- brlcad/trunk/regress/gchecker/CMakeLists.txt
(rev 0)
+++ brlcad/trunk/regress/gchecker/CMakeLists.txt 2020-05-01 14:18:48 UTC
(rev 75659)
@@ -0,0 +1,44 @@
+if(CMAKE_CONFIGURATION_TYPES)
+ set(cfg_testname "-${CMAKE_CFG_INTDIR}")
+else(CMAKE_CONFIGURATION_TYPES)
+ set(cfg_testname "")
+endif(CMAKE_CONFIGURATION_TYPES)
+
+set(GCHECKER_CLEAN_FILES
+ gchecker_test.g.ck/ck.gchecker_test.g.overlaps
+ gchecker.log
+ )
+
+set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/regress${cfg_testname}-gchecker.log")
+set(STAMP_FILE "${CMAKE_CURRENT_BINARY_DIR}/gchecker${cfg_testname}.done")
+configure_file("${CMAKE_CURRENT_SOURCE_DIR}/regress-gchecker.cmake.in"
"${CMAKE_CURRENT_BINARY_DIR}/regress-gchecker.cmake" @ONLY)
+add_custom_command(
+ OUTPUT "${STAMP_FILE}"
+ COMMAND "${CMAKE_COMMAND}" -P
"${CMAKE_CURRENT_BINARY_DIR}/regress-gchecker.cmake"
+ DEPENDS ${depends_list}
+ )
+add_test(NAME regress-gchecker COMMAND "${CMAKE_COMMAND}" -P
"${CMAKE_CURRENT_BINARY_DIR}/regress-gchecker.cmake")
+add_custom_target(regress-gchecker DEPENDS gchecker "${STAMP_FILE}")
+set_target_properties(regress-gchecker PROPERTIES FOLDER "BRL-CAD Regression
Tests")
+Add_Regression_Test(gchecker "gchecker")
+
+CMAKEFILES(
+ CMakeLists.txt
+ gchecker_test.g
+ )
+
+DISTCLEAN(
+ ${STAMP_FILE}
+ ${LOG_FILE}
+ ${TARGET_IMAGE}
+ )
+foreach(GCF ${GCHECKER_CLEAN_FILES})
+ DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/${GCF}")
+endforeach(GCF ${GCHECKER_CLEAN_FILES})
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
Property changes on: brlcad/trunk/regress/gchecker/CMakeLists.txt
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: brlcad/trunk/regress/gchecker/gchecker_test.g
===================================================================
(Binary files differ)
Index: brlcad/trunk/regress/gchecker/gchecker_test.g
===================================================================
--- brlcad/trunk/regress/gchecker/gchecker_test.g 2020-05-01 14:17:02 UTC
(rev 75658)
+++ brlcad/trunk/regress/gchecker/gchecker_test.g 2020-05-01 14:18:48 UTC
(rev 75659)
Property changes on: brlcad/trunk/regress/gchecker/gchecker_test.g
___________________________________________________________________
Added: svn:mime-type
## -0,0 +1 ##
+application/octet-stream
\ No newline at end of property
Added: brlcad/trunk/regress/gchecker/regress-gchecker.cmake.in
===================================================================
--- brlcad/trunk/regress/gchecker/regress-gchecker.cmake.in
(rev 0)
+++ brlcad/trunk/regress/gchecker/regress-gchecker.cmake.in 2020-05-01
14:18:48 UTC (rev 75659)
@@ -0,0 +1,57 @@
+set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
+set(CSDIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(DDIR "@DATA_DIR@")
+set(GCHECKER_CF "@GCHECKER_CLEAN_FILES@")
+
+set(SBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY@")
+set(DBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG@")
+set(RBDIR "@CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE@")
+# Use the mechanism created to allow multiconfig builds to
+# know what the current build type is.
+if(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
+ set(BDIR "${RBDIR}")
+ set(test_suffix "-Release")
+elseif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Debug")
+ set(BDIR "${DBDIR}")
+ set(test_suffix "-Debug")
+else(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
+ set(BDIR "${SBDIR}")
+ set(test_suffix)
+endif(EXISTS "@CMAKE_BINARY_DIR@/CMakeTmp/CURRENT_PATH/Release")
+
+get_filename_component(EXE "@CMAKE_COMMAND@" EXT)
+set(GCHECKER "${BDIR}/gchecker${EXE}")
+
+# Clean up in case we've run before
+foreach(GCF ${GCHECKER_CF})
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E remove "${CBDIR}/${GCF}")
+endforeach(GCF ${GCHECKER_CF})
+
+
+file(WRITE "${CBDIR}/gchecker.log" "Running gchecker:\n${GCHECKER}
${CSDIR}/gchecker_test.g\n")
+
+execute_process(
+ COMMAND "${GCHECKER}" "${CSDIR}/gchecker_test.g" RESULT_VARIABLE
gchecker_result
+ OUTPUT_VARIABLE gchecker_log ERROR_VARIABLE gchecker_log
+ WORKING_DIRECTORY ${CBDIR}
+ )
+file(APPEND "${CBDIR}/gchecker.log" "${gchecker_log}")
+set(gchecker_log)
+if(NOT EXISTS "${CBDIR}/gchecker_test.g.ck/ck.gchecker_test.g.overlaps")
+ message(FATAL_ERROR "${GCHECKER} failed to process gchecker_test.g,
aborting.\nSee ${CBDIR}/gchecker.log for more details.")
+endif(NOT EXISTS "${CBDIR}/gchecker_test.g.ck/ck.gchecker_test.g.overlaps")
+
+if(gchecker_result)
+ file(APPEND "${CBDIR}/gchecker.log" "\n\nError: return code
${gchecker_result}")
+ message(FATAL_ERROR "[gchecker] Failure, see ${CBDIR}/gchecker.log for more
info.\n")
+else(gchecker_result)
+ execute_process(COMMAND "@CMAKE_COMMAND@" -E touch
"@CMAKE_CURRENT_BINARY_DIR@/gchecker${test_suffix}.done")
+endif(gchecker_result)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+
Property changes on: brlcad/trunk/regress/gchecker/regress-gchecker.cmake.in
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
BRL-CAD Source Commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/brlcad-commits