Revision: 75915
          http://sourceforge.net/p/brlcad/code/75915
Author:   starseeker
Date:     2020-05-25 03:18:05 +0000 (Mon, 25 May 2020)
Log Message:
-----------
Enable mged tests, run them in parallel

Modified Paths:
--------------
    brlcad/branches/bioh/regress/CMakeLists.txt
    brlcad/branches/bioh/regress/mged/CMakeLists.txt

Added Paths:
-----------
    brlcad/branches/bioh/regress/mged/regress-mged.cmake.in
    brlcad/branches/bioh/regress/pkg/regress-pkg.cmake.in

Modified: brlcad/branches/bioh/regress/CMakeLists.txt
===================================================================
--- brlcad/branches/bioh/regress/CMakeLists.txt 2020-05-24 18:32:49 UTC (rev 
75914)
+++ brlcad/branches/bioh/regress/CMakeLists.txt 2020-05-25 03:18:05 UTC (rev 
75915)
@@ -33,7 +33,7 @@
 add_subdirectory(rtwizard)
 
 # MGED command tests
-#add_subdirectory(mged)
+add_subdirectory(mged)
 
 # Fuzz tests
 include(Fuzzer)

Modified: brlcad/branches/bioh/regress/mged/CMakeLists.txt
===================================================================
--- brlcad/branches/bioh/regress/mged/CMakeLists.txt    2020-05-24 18:32:49 UTC 
(rev 75914)
+++ brlcad/branches/bioh/regress/mged/CMakeLists.txt    2020-05-25 03:18:05 UTC 
(rev 75915)
@@ -79,40 +79,22 @@
   zoom.mged
   )
 
+set(TSCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/regress-mged.cmake.in")
+
 foreach(testfile ${MGED_TESTS})
+  string(REGEX REPLACE "([0-9a-z_-]*).mged" "\\1" tname "${testfile}")
+
   file(READ "${CMAKE_CURRENT_SOURCE_DIR}/${testfile}" TEST_CONTENTS)
   file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/regress_${testfile}" "source 
${CMAKE_CURRENT_SOURCE_DIR}/regression_resources.tcl\n\n${TEST_CONTENTS}")
   DISTCLEAN("${CMAKE_CURRENT_BINARY_DIR}/regress_${testfile}")
-endforeach(testfile ${MGED_TESTS})
 
-set(G_FILENAME "regress_mged_cmd_functionality.g")
-set(MGED_TEST_LIST "")
+  set(TARGET_NAME ${tname})
+  set(LOG_FILE "${CMAKE_CURRENT_BINARY_DIR}/regress-mged_${TNAME}.log")
 
-add_custom_command(
-  OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${G_FILENAME}"
-  COMMAND "${CMAKE_COMMAND}" -E remove -f 
"${CMAKE_CURRENT_BINARY_DIR}/${G_FILENAME}"
-  COMMAND "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mged" -c 
"${CMAKE_CURRENT_BINARY_DIR}/${G_FILENAME}" ls
-  DEPENDS mged ${MGED_TESTS}
-  )
-
-set(test_prev "")
-foreach(testfile ${MGED_TESTS})
-  string(REGEX REPLACE "([0-9a-z_-]*).mged" "\\1" cmd_root "${testfile}")
-  add_custom_target(regress-mged-${cmd_root}
-        "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/mged" -c 
"${CMAKE_CURRENT_BINARY_DIR}/${G_FILENAME}" < 
"${CMAKE_CURRENT_BINARY_DIR}/regress_${testfile}"
-    DEPENDS mged ${CMAKE_CURRENT_BINARY_DIR}/${G_FILENAME} ${test_prev}
-    )
-  set_target_properties(regress-mged-${cmd_root} PROPERTIES FOLDER "BRL-CAD 
Regression Tests/MGED")
-  set_target_properties(regress-mged-${cmd_root} PROPERTIES 
EXCLUDE_FROM_DEFAULT_BUILD 1)
-  set(MGED_TEST_LIST ${MGED_TEST_LIST} regress-mged-${cmd_root})
-  set(test_prev regress-mged-${cmd_root})
+  BRLCAD_REGRESSION_TEST(regress-mged_${tname} "mged" TEST_SCRIPT "${TSCRIPT}" 
EXEC mged)
+  DISTCLEAN("${LOG_FILE}")
 endforeach(testfile ${MGED_TESTS})
 
-list(SORT MGED_TEST_LIST)
-add_custom_target(regress-mged-cmds DEPENDS ${MGED_TEST_LIST})
-set_target_properties(regress-mged-cmds PROPERTIES FOLDER "BRL-CAD Regression 
Tests")
-set_target_properties(regress-mged-cmds PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 
1)
-
 CMAKEFILES(
   CMakeLists.txt
   mged.tcl

Added: brlcad/branches/bioh/regress/mged/regress-mged.cmake.in
===================================================================
--- brlcad/branches/bioh/regress/mged/regress-mged.cmake.in                     
        (rev 0)
+++ brlcad/branches/bioh/regress/mged/regress-mged.cmake.in     2020-05-25 
03:18:05 UTC (rev 75915)
@@ -0,0 +1,51 @@
+# Values set at CMake configure time
+set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
+set(CSDIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(TNAME "@TARGET_NAME@")
+set(LOGFILE "@LOG_FILE@")
+
+file(WRITE "${LOGFILE}" "Starting mged test run\n")
+
+# The executable locations aren't know at CMake configure time, so it is passed
+# in via the EXEC variable at runtime by a generator expression in the parent
+# build.  De-quote it and assign it to the appropriate variable.
+string(REPLACE "\\" "" MGED_EXEC "${EXEC}")
+if (NOT EXISTS "${MGED_EXEC}")
+  file(WRITE "${LOGFILE}" "mged not found at location \"${MGED_EXEC}\" - 
aborting\n")
+  message(FATAL_ERROR "Unable to find mged, aborting.\nSee ${LOGFILE} for more 
details.")
+endif (NOT EXISTS "${MGED_EXEC}")
+
+# Create the .g file
+set(GFILE "${CBDIR}/${TNAME}.g")
+execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${GFILE}")
+execute_process(
+  COMMAND "${MGED_EXEC}" -c "${GFILE}" ls
+  RESULT_VARIABLE mged_result OUTPUT_VARIABLE mged_log ERROR_VARIABLE mged_log
+  )
+file(APPEND "${LOGFILE}" "${mged_log}")
+set(mged_log)
+if(mged_result)
+  message(FATAL_ERROR "[mged ${TNAME}] Failure: ${mged_result}. See ${LOGFILE} 
for more info.\n")
+endif(mged_result)
+
+# Run the core test
+execute_process(
+  COMMAND "${MGED_EXEC}" -c "${GFILE}" < "${CBDIR}/regress_${TNAME}.mged"
+  RESULT_VARIABLE mged_result OUTPUT_VARIABLE mged_log ERROR_VARIABLE mged_log
+  )
+file(APPEND "${LOGFILE}" "${mged_log}")
+set(mged_log)
+if(mged_result)
+  message(FATAL_ERROR "[mged ${TNAME}] Failure: ${mged_result}. See ${LOGFILE} 
for more info.\n")
+endif(mged_result)
+
+# Clean up
+execute_process(COMMAND "@CMAKE_COMMAND@" -E remove -f "${GFILE}")
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/bioh/regress/mged/regress-mged.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
Added: brlcad/branches/bioh/regress/pkg/regress-pkg.cmake.in
===================================================================
--- brlcad/branches/bioh/regress/pkg/regress-pkg.cmake.in                       
        (rev 0)
+++ brlcad/branches/bioh/regress/pkg/regress-pkg.cmake.in       2020-05-25 
03:18:05 UTC (rev 75915)
@@ -0,0 +1,33 @@
+# Values set at CMake configure time
+set(CBDIR "@CMAKE_CURRENT_BINARY_DIR@")
+set(CSDIR "@CMAKE_CURRENT_SOURCE_DIR@")
+set(LOGFILE "${CBDIR}/regress-pkg.log")
+
+file(WRITE "${LOGFILE}" "Starting pkg test run\n")
+
+# The executable locations aren't know at CMake configure time, so one of them
+# is passed in via the EXEC variable at runtime.  De-quote it and assign it to
+# the appropriate variable.
+string(REPLACE "\\" "" RPKG "${EXEC}")
+if (NOT EXISTS "${RPKG}")
+  file(WRITE "${LOGFILE}" "regress_pkg not found at location \"${RPKG}\" - 
aborting\n")
+  message(FATAL_ERROR "Unable to find regress_pkg, aborting.\nSee ${LOGFILE} 
for more details.")
+endif (NOT EXISTS "${RPKG}")
+
+execute_process(
+  COMMAND "${RPKG}"
+  RESULT_VARIABLE pkg_result OUTPUT_VARIABLE pkg_log ERROR_VARIABLE pkg_log
+  WORKING_DIRECTORY ${CBDIR}
+  )
+
+if(pkg_result)
+  message(FATAL_ERROR "[pkg] Failure, unexpected result running ${RPKG}\n 
${pkg_log}\n")
+endif(pkg_result)
+
+# Local Variables:
+# tab-width: 8
+# mode: cmake
+# indent-tabs-mode: t
+# End:
+# ex: shiftwidth=2 tabstop=8
+


Property changes on: brlcad/branches/bioh/regress/pkg/regress-pkg.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