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