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

Reply via email to