Revision: 75883
          http://sourceforge.net/p/brlcad/code/75883
Author:   starseeker
Date:     2020-05-21 19:05:08 +0000 (Thu, 21 May 2020)
Log Message:
-----------
Adapt the add_test wrapper as a BRLCAD_ADD_TEST function

Modified Paths:
--------------
    brlcad/branches/mktest/CMakeLists.txt
    brlcad/branches/mktest/misc/CMake/BRLCAD_Targets.cmake
    brlcad/branches/mktest/src/libbu/tests/CMakeLists.txt
    brlcad/branches/mktest/src/libbu/tests/dylib/CMakeLists.txt

Modified: brlcad/branches/mktest/CMakeLists.txt
===================================================================
--- brlcad/branches/mktest/CMakeLists.txt       2020-05-21 18:00:35 UTC (rev 
75882)
+++ brlcad/branches/mktest/CMakeLists.txt       2020-05-21 19:05:08 UTC (rev 
75883)
@@ -543,130 +543,9 @@
     )
 
   set_target_properties(unit PROPERTIES FOLDER "BRL-CAD Validation Testing")
-
-if(0)
-  # we wrap the CMake add_test() function in order to automatically
-  # set up test dependencies for the 'unit' and 'check' test targets.
-  #
-  # this function extravagantly tries to work around a bug in CMake
-  # where we cannot pass an empty string through this wrapper to
-  # _add_test()/add_test().  passed as a list (e.g., via ARGN, ARGV,
-  # or manually composed), the empty string is skipped(!).  passed as
-  # a string, it is all treated as command name with no arguments.
-  #
-  # manual workaround used here involves invoking _add_test() with all
-  # args individually recreated/specified (i.e., not as a list) as
-  # this preserves empty strings.  this approach means we cannot
-  # generalize and only support a limited variety of empty string
-  # arguments, but we do test and halt if someone unknowingly tries.
-  function(add_test NAME test_name COMMAND test_prog)
-
-    # find any occurrences of empty strings
-    set(idx 0)
-    set(matches)
-    foreach (ARG IN LISTS ARGV)
-      # need 'x' to avoid older cmake seeing "COMMAND" "STREQUAL" ""
-      if ("x${ARG}" STREQUAL "x")
-       list(APPEND matches ${idx})
-      endif ("x${ARG}" STREQUAL "x")
-      math(EXPR idx "${idx} + 1")
-    endforeach()
-
-    # make sure we don't exceed current support
-    list(LENGTH matches cnt)
-    if ("${cnt}" GREATER 1)
-      message(FATAL_ERROR "ERROR: encountered ${cnt} > 1 empty string being 
passed to add_test(${test_name}).  Expand support in the top-level 
CMakeLists.txt file (grep add_test) or pass fewer empty strings.")
-    endif ("${cnt}" GREATER 1)
-
-    # if there are empty strings, we need to manually recreate their calling
-    if ("${cnt}" GREATER 0)
-
-      list(GET matches 0 empty)
-      if ("${empty}" EQUAL 4)
-       foreach (i 1)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} "" ${ARGN})
-      elseif ("${empty}" EQUAL 5)
-       foreach (i 1 2)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} "" ${ARGN})
-      elseif ("${empty}" EQUAL 6)
-       foreach (i 1 2 3)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} "" 
${ARGN})
-      elseif ("${empty}" EQUAL 7)
-       foreach (i 1 2 3 4)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} 
${ARGV6} "" ${ARGN})
-      elseif ("${empty}" EQUAL 8)
-       foreach (i 1 2 3 4 5)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} 
${ARGV6} ${ARGV7} "" ${ARGN})
-      elseif ("${empty}" EQUAL 9)
-       foreach (i 1 2 3 4 5 6)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} 
${ARGV6} ${ARGV7} ${ARGV8} "" ${ARGN})
-      elseif ("${empty}" EQUAL 10)
-       foreach (i 1 2 3 4 5 6)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} 
${ARGV6} ${ARGV7} ${ARGV8} ${ARGV9} "" ${ARGN})
-      elseif ("${empty}" EQUAL 11)
-       foreach (i 1 2 3 4 5 6)
-         if (ARGN)
-           list(REMOVE_AT ARGN 0)
-         endif (ARGN)
-       endforeach ()
-       _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV4} ${ARGV5} 
${ARGV6} ${ARGV7} ${ARGV8} ${ARGV9} ${ARGV10} "" ${ARGN})
-
-
-       # ADD_EMPTY_HERE: insert support for addition argv positions
-       # as extra elseif tests here using the preceding pattern.  be
-       # sure to update the index in the following else clause fatal
-       # error message too.
-
-      else ("${empty}" EQUAL 4)
-       message(FATAL_ERROR "ERROR: encountered an empty string passed to 
add_test(${test_name}) as ARGV${empty} > ARGV9.  Expand support in the 
top-level CMakeLists.txt file (grep ADD_EMPTY_HERE).")
-      endif ("${empty}" EQUAL 4)
-
-    else ("${cnt}" GREATER 0)
-      # no empty strings, no worries
-      _add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGN})
-    endif ("${cnt}" GREATER 0)
-
-    # add test to unit and check targets
-    if (NOT "${test_name}" MATCHES ^regress- AND NOT "${test_prog}" MATCHES 
^regress- AND NOT "${test_name}" MATCHES ^slow- AND NOT "${test_name}" STREQUAL 
"benchmark" AND NOT "${test_name}" MATCHES ^NOTE:)
-      add_dependencies(unit ${test_prog})
-      add_dependencies(check ${test_prog})
-    endif (NOT "${test_name}" MATCHES ^regress- AND NOT "${test_prog}" MATCHES 
^regress- AND NOT "${test_name}" MATCHES ^slow- AND NOT "${test_name}" STREQUAL 
"benchmark" AND NOT "${test_name}" MATCHES ^NOTE:)
-
-  endfunction(add_test NAME test_name COMMAND test_prog)
-endif(0)
-
 endif(NOT BRLCAD_IS_SUBBUILD)
 
 
-
 #---------------------------------------------------------------------
 # Load macros that will be used to define the BRL-CAD
 # build logic

Modified: brlcad/branches/mktest/misc/CMake/BRLCAD_Targets.cmake
===================================================================
--- brlcad/branches/mktest/misc/CMake/BRLCAD_Targets.cmake      2020-05-21 
18:00:35 UTC (rev 75882)
+++ brlcad/branches/mktest/misc/CMake/BRLCAD_Targets.cmake      2020-05-21 
19:05:08 UTC (rev 75883)
@@ -555,6 +555,135 @@
 endfunction(BRLCAD_ADDLIB libname srcslist libslist)
 
 #-----------------------------------------------------------------------------
+# we wrap the CMake add_test() function in order to automatically
+# set up test dependencies for the 'unit' and 'check' test targets.
+#
+# this function extravagantly tries to work around a bug in CMake
+# where we cannot pass an empty string through this wrapper to
+# _add_test()/add_test().  passed as a list (e.g., via ARGN, ARGV,
+# or manually composed), the empty string is skipped(!).  passed as
+# a string, it is all treated as command name with no arguments.
+#
+# manual workaround used here involves invoking _add_test() with all
+# args individually recreated/specified (i.e., not as a list) as
+# this preserves empty strings.  this approach means we cannot
+# generalize and only support a limited variety of empty string
+# arguments, but we do test and halt if someone unknowingly tries.
+function(BRLCAD_ADD_TEST NAME test_name GROUP fixture_grp COMMAND test_prog)
+
+  # find any occurrences of empty strings
+  set(idx 0)
+  set(matches)
+  foreach (ARG IN LISTS ARGV)
+    # need 'x' to avoid older cmake seeing "COMMAND" "STREQUAL" ""
+    if ("x${ARG}" STREQUAL "x")
+      list(APPEND matches ${idx})
+    endif ("x${ARG}" STREQUAL "x")
+    math(EXPR idx "${idx} + 1")
+  endforeach()
+
+  # make sure we don't exceed current support
+  list(LENGTH matches cnt)
+  if ("${cnt}" GREATER 1)
+    message(FATAL_ERROR "ERROR: encountered ${cnt} > 1 empty string being 
passed to add_test(${test_name}).  Expand support in the top-level 
CMakeLists.txt file (grep add_test) or pass fewer empty strings.")
+  endif ("${cnt}" GREATER 1)
+
+  # if there are empty strings, we need to manually recreate their calling
+  if ("${cnt}" GREATER 0)
+
+    list(GET matches 0 empty)
+    if ("${empty}" EQUAL 6)
+      foreach (i 1)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} "" ${ARGN})
+    elseif ("${empty}" EQUAL 7)
+      foreach (i 1 2)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} "" ${ARGN})
+    elseif ("${empty}" EQUAL 8)
+      foreach (i 1 2 3)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} "" 
${ARGN})
+    elseif ("${empty}" EQUAL 9)
+      foreach (i 1 2 3 4)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} 
${ARGV8} "" ${ARGN})
+    elseif ("${empty}" EQUAL 10)
+      foreach (i 1 2 3 4 5)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} 
${ARGV8} ${ARGV9} "" ${ARGN})
+    elseif ("${empty}" EQUAL 11)
+      foreach (i 1 2 3 4 5 6)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} 
${ARGV8} ${ARGV9} ${ARGV10} "" ${ARGN})
+    elseif ("${empty}" EQUAL 12)
+      foreach (i 1 2 3 4 5 6)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} 
${ARGV8} ${ARGV9} ${ARGV10} ${ARGV11} "" ${ARGN})
+    elseif ("${empty}" EQUAL 13)
+      foreach (i 1 2 3 4 5 6)
+       if (ARGN)
+         list(REMOVE_AT ARGN 0)
+       endif (ARGN)
+      endforeach ()
+      add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGV6} ${ARGV7} 
${ARGV8} ${ARGV9} ${ARGV10} ${ARGV11} ${ARGV12} "" ${ARGN})
+
+
+      # ADD_EMPTY_HERE: insert support for addition argv positions
+      # as extra elseif tests here using the preceding pattern.  be
+      # sure to update the index in the following else clause fatal
+      # error message too.
+
+    else ("${empty}" EQUAL 6)
+      message(FATAL_ERROR "ERROR: encountered an empty string passed to 
add_test(${test_name}) as ARGV${empty} > ARGV9.  Expand support in the 
top-level CMakeLists.txt file (grep ADD_EMPTY_HERE).")
+    endif ("${empty}" EQUAL 6)
+
+  else ("${cnt}" GREATER 0)
+    # no empty strings, no worries
+    add_test(NAME ${test_name} COMMAND ${test_prog} ${ARGN})
+  endif ("${cnt}" GREATER 0)
+
+  # add test to unit and check targets
+  if (NOT "${test_name}" MATCHES ^regress- AND NOT "${test_prog}" MATCHES 
^regress- AND NOT "${test_name}" MATCHES ^slow- AND NOT "${test_name}" STREQUAL 
"benchmark" AND NOT "${test_name}" MATCHES ^NOTE:)
+    add_dependencies(unit ${test_prog})
+    add_dependencies(check ${test_prog})
+  endif (NOT "${test_name}" MATCHES ^regress- AND NOT "${test_prog}" MATCHES 
^regress- AND NOT "${test_name}" MATCHES ^slow- AND NOT "${test_name}" STREQUAL 
"benchmark" AND NOT "${test_name}" MATCHES ^NOTE:)
+
+  set_tests_properties(${test_name} PROPERTIES FIXTURES_REQUIRED 
${fixture_grp}_test_fixtures)
+
+endfunction(BRLCAD_ADD_TEST)
+
+# Flag an executable as being a resource for a particular CTest fixtures group.
+# This will define a CTest target responsible for building the program itself,
+# and identify it as a setup step needed for the primary tests of the group.
+function(BRLCAD_CTEST_EXEC target fixture_grp)
+  add_test(NAME ${target}_${fixture_grp}_setup COMMAND "${CMAKE_COMMAND}" 
--build "${CMAKE_BINARY_DIR}" --config "$<CONFIG>" --target ${target})
+  set_tests_properties(${target}_${fixture_grp}_setup PROPERTIES 
FIXTURES_SETUP ${fixture_grp}_test_fixtures)
+endfunction(BRLCAD_CTEST_EXEC)
+
+
+#-----------------------------------------------------------------------------
 # For situations when a local 3rd party library (say, zlib) has been chosen in
 # preference to a system version of that library, it is important to ensure
 # that the local header(s) get included before the system headers.  Normally

Modified: brlcad/branches/mktest/src/libbu/tests/CMakeLists.txt
===================================================================
--- brlcad/branches/mktest/src/libbu/tests/CMakeLists.txt       2020-05-21 
18:00:35 UTC (rev 75882)
+++ brlcad/branches/mktest/src/libbu/tests/CMakeLists.txt       2020-05-21 
19:05:08 UTC (rev 75883)
@@ -49,27 +49,6 @@
   set(BU_TEST_LIST "${BU_TEST_LIST}\\n ${NAME_ROOT}")
 endforeach(srcfile ${bu_test_srcs})
 
-
-# Flag an executable as being a resource for a particular CTest fixtures group.
-# This will define a CTest target responsible for building the program itself,
-# and identify it as a setup step needed for the primary tests of the group.
-function(BRLCAD_CTEST_EXEC target fixture_grp)
-  add_test(NAME ${target}_${fixture_grp}_setup COMMAND "${CMAKE_COMMAND}" 
--build "${CMAKE_BINARY_DIR}" --config "$<CONFIG>" --target ${target})
-  set_tests_properties(${target}_${fixture_grp}_setup PROPERTIES 
FIXTURES_SETUP ${fixture_grp}_test_fixtures)
-endfunction(BRLCAD_CTEST_EXEC)
-
-# Wrapper for adding a test that is a memember of a particular CTest fixtures 
group,
-# which will get it dependency resolution for any executables it uses that 
have been
-# idenfied with brlcad_ctest_exec as being SETUP resources for this group.
-#
-# NOTE - this has to be a macro.  A function will pass ARGN to COMMAND as one
-# whole string, and that won't work - we need it to be the ARGV array.
-macro(BRLCAD_ADD_TEST NAME name GROUP fixture_grp COMMAND)
-  add_test(NAME ${name} COMMAND ${ARGN})
-  set_tests_properties(${name} PROPERTIES FIXTURES_REQUIRED 
${fixture_grp}_test_fixtures)
-endmacro(BRLCAD_ADD_TEST)
-
-
 # Generate bu_test.c file and build it
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../..)
 configure_file(bu_test.c.in "${CMAKE_CURRENT_BINARY_DIR}/bu_test.c" @ONLY)
@@ -85,7 +64,9 @@
 #
 
 BRLCAD_ADDEXEC(bu_sscanf sscanf.c libbu TEST)
+BRLCAD_CTEST_EXEC(bu_sscanf bu_sscanf)
 BRLCAD_ADDEXEC(bu_gethostname gethostname.c libbu TEST)
+BRLCAD_CTEST_EXEC(bu_gethostname bu_gethostbyname)
 
 #
 #  ************ basename.c tests *************
@@ -121,30 +102,30 @@
 ##########################################
 #      bu_file_path_component testing    #
 ##########################################
-add_test(NAME bu_path_component_null                               COMMAND 
bu_test path_component) # tests NULL
-add_test(NAME bu_path_component_empty                              COMMAND 
bu_test path_component 0) # tests empty
+BRLCAD_ADD_TEST(NAME bu_path_component_null                               
GROUP bu COMMAND bu_test path_component) # tests NULL
+BRLCAD_ADD_TEST(NAME bu_path_component_empty                              
GROUP bu COMMAND bu_test path_component 0) # tests empty
 
 # NOTE: these test numbers correspond with the bu_path_component_t enum values 
in include/bu/path.h
-add_test(NAME bu_path_component_sl_usr_sl_dir_sl_file_ext          COMMAND 
bu_test path_component "/usr/dir/file.ext" "ext" 4)
-add_test(NAME bu_path_component_c_sl_usr_sl_dir_sl_file_ext        COMMAND 
bu_test path_component "C:/usr/dir/file.ext" "ext" 4)
-add_test(NAME bu_path_component_sl_usr_sl_dir_sl_file_base         COMMAND 
bu_test path_component "/usr/dir/file.ext" "file.ext" 2)
-add_test(NAME bu_path_component_sl_usr_sl_dir_sl_file_base_core    COMMAND 
bu_test path_component "/usr/dir/file.ext" "file" 3)
-add_test(NAME bu_path_component_sl_usr_sl_dir_sl_file_dir          COMMAND 
bu_test path_component "/usr/dir/file.ext" "/usr/dir" 0)
-add_test(NAME bu_path_component_sl_usr_sl_dir_sl_file_dir_core     COMMAND 
bu_test path_component "/usr/dir/file.ext" "/usr/dir/file" 1)
-add_test(NAME bu_path_component_c_sl_usr_sl_dir_sl_file_dir_core   COMMAND 
bu_test path_component "C:/usr/dir/file.ext" "C:/usr/dir/file" 1)
+BRLCAD_ADD_TEST(NAME bu_path_component_sl_usr_sl_dir_sl_file_ext          
GROUP bu COMMAND bu_test path_component "/usr/dir/file.ext" "ext" 4)
+BRLCAD_ADD_TEST(NAME bu_path_component_c_sl_usr_sl_dir_sl_file_ext        
GROUP bu COMMAND bu_test path_component "C:/usr/dir/file.ext" "ext" 4)
+BRLCAD_ADD_TEST(NAME bu_path_component_sl_usr_sl_dir_sl_file_base         
GROUP bu COMMAND bu_test path_component "/usr/dir/file.ext" "file.ext" 2)
+BRLCAD_ADD_TEST(NAME bu_path_component_sl_usr_sl_dir_sl_file_base_core    
GROUP bu COMMAND bu_test path_component "/usr/dir/file.ext" "file" 3)
+BRLCAD_ADD_TEST(NAME bu_path_component_sl_usr_sl_dir_sl_file_dir          
GROUP bu COMMAND bu_test path_component "/usr/dir/file.ext" "/usr/dir" 0)
+BRLCAD_ADD_TEST(NAME bu_path_component_sl_usr_sl_dir_sl_file_dir_core     
GROUP bu COMMAND bu_test path_component "/usr/dir/file.ext" "/usr/dir/file" 1)
+BRLCAD_ADD_TEST(NAME bu_path_component_c_sl_usr_sl_dir_sl_file_dir_core   
GROUP bu COMMAND bu_test path_component "C:/usr/dir/file.ext" "C:/usr/dir/file" 
1)
 
 
 #############################
 #      bu_file_* testing    #
 #############################
-add_test(NAME bu_file  COMMAND bu_test file) # tests bu/file.h API
+BRLCAD_ADD_TEST(NAME bu_file  GROUP bu COMMAND bu_test file) # tests bu/file.h 
API
 
 # NOTE: these test numbers correspond with the bu_mime_t enum values in 
include/bu/mime.h
-add_test(NAME bu_file_mime_dxf   COMMAND bu_test file_mime dxf 5 1) # tests 
dxf extension in model context
-add_test(NAME bu_file_mime_stp   COMMAND bu_test file_mime stp 5 7) # tests 
stp extension in model context
-add_test(NAME bu_file_mime_png   COMMAND bu_test file_mime png 3 13) # tests 
png extension in image context
+BRLCAD_ADD_TEST(NAME bu_file_mime_dxf   GROUP bu COMMAND bu_test file_mime dxf 
5 1) # tests dxf extension in model context
+BRLCAD_ADD_TEST(NAME bu_file_mime_stp   GROUP bu COMMAND bu_test file_mime stp 
5 7) # tests stp extension in model context
+BRLCAD_ADD_TEST(NAME bu_file_mime_png   GROUP bu COMMAND bu_test file_mime png 
3 13) # tests png extension in image context
 
-#add_test(NAME bu_file_glob   COMMAND bu_test file_glob) # runs a series of 
built-in unit tests
+#BRLCAD_ADD_TEST(NAME bu_file_glob   GROUP bu COMMAND bu_test file_glob) # 
runs a series of built-in unit tests
 
 #
 #  ************ bitv.c tests *************
@@ -159,27 +140,27 @@
 #      bu_booleanize testing    #
 #################################
 # expected returns are false:0, strongly true:1, or anything else:>1
-add_test(NAME bu_booleanize_nullptr      COMMAND bu_test booleanize) # tests 
NULL
-add_test(NAME bu_booleanize_nullstr      COMMAND bu_test booleanize "(null)" 0)
-add_test(NAME bu_booleanize_empty        COMMAND bu_test booleanize "" 0)
-add_test(NAME bu_booleanize_space        COMMAND bu_test booleanize " " 0)
-add_test(NAME bu_booleanize_n            COMMAND bu_test booleanize "n" 0)
-add_test(NAME bu_booleanize_nabcd        COMMAND bu_test booleanize "nabcd" 2)
-add_test(NAME bu_booleanize_N            COMMAND bu_test booleanize "N" 0)
-add_test(NAME bu_booleanize_Nabcd        COMMAND bu_test booleanize "Nabcd" 2)
-add_test(NAME bu_booleanize__sp__sp_abcd COMMAND bu_test booleanize "  abcd" 2)
-add_test(NAME bu_booleanize_y            COMMAND bu_test booleanize "y" 1)
-add_test(NAME bu_booleanize_yabcd        COMMAND bu_test booleanize "yabcd" 2)
-add_test(NAME bu_booleanize_Y            COMMAND bu_test booleanize "Y" 1)
-add_test(NAME bu_booleanize_Yabcd        COMMAND bu_test booleanize "Yabcd" 2)
-add_test(NAME bu_booleanize_abcd         COMMAND bu_test booleanize "abcd" 2)
-add_test(NAME bu_booleanize_neg1         COMMAND bu_test booleanize "-1" 2)
-add_test(NAME bu_booleanize_1            COMMAND bu_test booleanize "1" 1)
-add_test(NAME bu_booleanize_2            COMMAND bu_test booleanize "2" 2)
-add_test(NAME bu_booleanize_0            COMMAND bu_test booleanize "0" 0)
-add_test(NAME bu_booleanize_neg0         COMMAND bu_test booleanize "-0" 0)
-add_test(NAME bu_booleanize_0000         COMMAND bu_test booleanize "0000" 0)
-add_test(NAME bu_booleanize_0001         COMMAND bu_test booleanize "0001" 1)
+BRLCAD_ADD_TEST(NAME bu_booleanize_nullptr      GROUP bu COMMAND bu_test 
booleanize) # tests NULL
+BRLCAD_ADD_TEST(NAME bu_booleanize_nullstr      GROUP bu COMMAND bu_test 
booleanize "(null)" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_empty        GROUP bu COMMAND bu_test 
booleanize "" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_space        GROUP bu COMMAND bu_test 
booleanize " " 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_n            GROUP bu COMMAND bu_test 
booleanize "n" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_nabcd        GROUP bu COMMAND bu_test 
booleanize "nabcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_N            GROUP bu COMMAND bu_test 
booleanize "N" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_Nabcd        GROUP bu COMMAND bu_test 
booleanize "Nabcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize__sp__sp_abcd GROUP bu COMMAND bu_test 
booleanize "  abcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_y            GROUP bu COMMAND bu_test 
booleanize "y" 1)
+BRLCAD_ADD_TEST(NAME bu_booleanize_yabcd        GROUP bu COMMAND bu_test 
booleanize "yabcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_Y            GROUP bu COMMAND bu_test 
booleanize "Y" 1)
+BRLCAD_ADD_TEST(NAME bu_booleanize_Yabcd        GROUP bu COMMAND bu_test 
booleanize "Yabcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_abcd         GROUP bu COMMAND bu_test 
booleanize "abcd" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_neg1         GROUP bu COMMAND bu_test 
booleanize "-1" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_1            GROUP bu COMMAND bu_test 
booleanize "1" 1)
+BRLCAD_ADD_TEST(NAME bu_booleanize_2            GROUP bu COMMAND bu_test 
booleanize "2" 2)
+BRLCAD_ADD_TEST(NAME bu_booleanize_0            GROUP bu COMMAND bu_test 
booleanize "0" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_neg0         GROUP bu COMMAND bu_test 
booleanize "-0" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_0000         GROUP bu COMMAND bu_test 
booleanize "0000" 0)
+BRLCAD_ADD_TEST(NAME bu_booleanize_0001         GROUP bu COMMAND bu_test 
booleanize "0001" 1)
 
 #
 #  ************ ctype.c tests *************
@@ -190,13 +171,13 @@
 ##################################
 # Note - because of the special characters needed in these tests, the strings
 # don't work well when fed in from the command line.
-add_test(NAME bu_str_isprint_basic                COMMAND bu_test str_isprint 
1)
-add_test(NAME bu_str_isprint_eol                  COMMAND bu_test str_isprint 
2)
-add_test(NAME bu_str_isprint_double_slash         COMMAND bu_test str_isprint 
3)
-add_test(NAME bu_str_isprint_horiz_tab            COMMAND bu_test str_isprint 
4)
-add_test(NAME bu_str_isprint_non-alphanumeric     COMMAND bu_test str_isprint 
5)
-add_test(NAME bu_str_isprint_eol_non-alphanumeric COMMAND bu_test str_isprint 
6)
-add_test(NAME bu_str_isprint_carriage_return      COMMAND bu_test str_isprint 
7)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_basic                GROUP bu COMMAND 
bu_test str_isprint 1)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_eol                  GROUP bu COMMAND 
bu_test str_isprint 2)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_double_slash         GROUP bu COMMAND 
bu_test str_isprint 3)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_horiz_tab            GROUP bu COMMAND 
bu_test str_isprint 4)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_non-alphanumeric     GROUP bu COMMAND 
bu_test str_isprint 5)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_eol_non-alphanumeric GROUP bu COMMAND 
bu_test str_isprint 6)
+BRLCAD_ADD_TEST(NAME bu_str_isprint_carriage_return      GROUP bu COMMAND 
bu_test str_isprint 7)
 
 #
 #  ************ dirname.c tests *************
@@ -205,28 +186,28 @@
 ###################################
 #      bu_path_dirname testing    #
 ###################################
-add_test(NAME bu_path_dirname__usr_dir_file COMMAND bu_test dirname 
"/usr/dir/file")
-add_test(NAME bu_path_dirname__usr_dir_ COMMAND bu_test dirname "/usr/dir/")
-add_test(NAME bu_path_dirname__usr__bsl__dir COMMAND bu_test dirname 
"/usr\\\\/dir")
-add_test(NAME bu_path_dirname__usr_period COMMAND bu_test dirname "/usr/.")
-add_test(NAME bu_path_dirname__usr_ COMMAND bu_test dirname "/usr/")
-add_test(NAME bu_path_dirname__usr COMMAND bu_test dirname "/usr")
-add_test(NAME bu_path_dirname_usr COMMAND bu_test dirname "usr")
-add_test(NAME bu_path_dirname__usr_some_sp_long_file COMMAND bu_test dirname 
"/usr/some long/file")
-add_test(NAME bu_path_dirname__usr_some_sp_file COMMAND bu_test dirname 
"/usr/some file")
-add_test(NAME bu_path_dirname__usr_some__bsl__sp_drivepath COMMAND bu_test 
dirname "C:/usr/some\\\\ drivepath")
-add_test(NAME bu_path_dirname__a_sp_file COMMAND bu_test dirname "/a test 
file")
-add_test(NAME bu_path_dirname_another_file COMMAND bu_test dirname "another 
file")
-add_test(NAME bu_path_dirname_C_colon__bsl_Temp COMMAND bu_test dirname 
"C:\\\\Temp")
-add_test(NAME bu_path_dirname_C_colon__Temp COMMAND bu_test dirname "C:/Temp")
-add_test(NAME bu_path_dirname__ COMMAND bu_test dirname "/")
-add_test(NAME bu_path_dirname______ COMMAND bu_test dirname "/////")
-add_test(NAME bu_path_dirname__period_ COMMAND bu_test dirname ".")
-add_test(NAME bu_path_dirname__period__period_ COMMAND bu_test dirname "..")
-add_test(NAME bu_path_dirname__period__period__period_ COMMAND bu_test dirname 
"...")
-add_test(NAME bu_path_dirname__sp__sp__sp_ COMMAND bu_test dirname "   ")
-add_test(NAME bu_path_dirname_empty COMMAND bu_test dirname "")
-add_test(NAME bu_path_dirname_null COMMAND bu_test dirname)
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_dir_file GROUP bu COMMAND bu_test 
dirname "/usr/dir/file")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_dir_ GROUP bu COMMAND bu_test 
dirname "/usr/dir/")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr__bsl__dir GROUP bu COMMAND bu_test 
dirname "/usr\\\\/dir")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_period GROUP bu COMMAND bu_test 
dirname "/usr/.")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_ GROUP bu COMMAND bu_test dirname 
"/usr/")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr GROUP bu COMMAND bu_test dirname 
"/usr")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_usr GROUP bu COMMAND bu_test dirname 
"usr")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_some_sp_long_file GROUP bu COMMAND 
bu_test dirname "/usr/some long/file")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_some_sp_file GROUP bu COMMAND 
bu_test dirname "/usr/some file")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__usr_some__bsl__sp_drivepath GROUP bu 
COMMAND bu_test dirname "C:/usr/some\\\\ drivepath")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__a_sp_file GROUP bu COMMAND bu_test 
dirname "/a test file")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_another_file GROUP bu COMMAND bu_test 
dirname "another file")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_C_colon__bsl_Temp GROUP bu COMMAND 
bu_test dirname "C:\\\\Temp")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_C_colon__Temp GROUP bu COMMAND bu_test 
dirname "C:/Temp")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__ GROUP bu COMMAND bu_test dirname "/")
+BRLCAD_ADD_TEST(NAME bu_path_dirname______ GROUP bu COMMAND bu_test dirname 
"/////")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__period_ GROUP bu COMMAND bu_test dirname 
".")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__period__period_ GROUP bu COMMAND bu_test 
dirname "..")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__period__period__period_ GROUP bu COMMAND 
bu_test dirname "...")
+BRLCAD_ADD_TEST(NAME bu_path_dirname__sp__sp__sp_ GROUP bu COMMAND bu_test 
dirname "   ")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_empty GROUP bu COMMAND bu_test dirname "")
+BRLCAD_ADD_TEST(NAME bu_path_dirname_null GROUP bu COMMAND bu_test dirname)
 
 #
 #  ************ escape.c tests *************
@@ -239,7 +220,7 @@
 #      bu_str_unescape testing    #
 ###################################
 foreach(num RANGE 1 23)
-  add_test(NAME "bu_str_unescape_${num}" COMMAND bu_test escape 1 "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_str_unescape_${num}" GROUP bu COMMAND bu_test 
escape 1 "${num}")
 endforeach()
 
 #################################
@@ -246,7 +227,7 @@
 #      bu_str_escape testing    #
 #################################
 foreach(num RANGE 1 31)
-  add_test(NAME "bu_str_escape_${num}" COMMAND bu_test escape 2 "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_str_escape_${num}" GROUP bu COMMAND bu_test escape 
2 "${num}")
 endforeach()
 
 ##############################################
@@ -253,13 +234,13 @@
 #      escape/unescape round trip testing    #
 ##############################################
 foreach(num RANGE 1 4)
-  add_test(NAME "bu_escape_roundtrip_${num}" COMMAND bu_test escape 3 "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_escape_roundtrip_${num}" GROUP bu COMMAND bu_test 
escape 3 "${num}")
 endforeach()
 
 ###
 # bu_heap memory allocation testing
 ###
-add_test(NAME bu_heap_1 COMMAND bu_test heap)
+BRLCAD_ADD_TEST(NAME bu_heap_1 GROUP bu COMMAND bu_test heap)
 
 #
 #  ************ progname.c tests *************
@@ -272,8 +253,8 @@
 #      bu_progname testing    #
 ###############################
 BRLCAD_ADDEXEC(bu_progname progname.c libbu TEST)
-add_dependencies(bu_test bu_progname)
-add_test(NAME bu_progname_tests COMMAND bu_progname)
+BRLCAD_CTEST_EXEC(bu_progname bu_progname)
+BRLCAD_ADD_TEST(NAME bu_progname_tests GROUP bu_progname COMMAND bu_progname)
 
 #
 #  ************ encode.c tests *************
@@ -283,7 +264,7 @@
 # Like many string functions using escaped characters the input strings are
 # left in C to minimize pass-through errors.
 foreach(num RANGE 1 23)
-  add_test(NAME "bu_encode_${num}" COMMAND bu_test encode "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_encode_${num}" GROUP bu COMMAND bu_test encode 
"${num}")
 endforeach()
 
 #
@@ -291,20 +272,20 @@
 #
 # The testing of encoding and de-coding is tested at once in a "round trip"
 # approach - the tests below all test both bu_b64_encode and bu_b64_decode.
-add_test(NAME "bu_b64_test" COMMAND bu_test b64)
+BRLCAD_ADD_TEST(NAME "bu_b64_test" GROUP bu COMMAND bu_test b64)
 
 #
 #  ************ bu_semaphore.c tests *************
 #
-add_test(NAME bu_semaphore_test COMMAND bu_test semaphore)
-add_test(NAME bu_semaphore_P1 COMMAND bu_test semaphore -P1)
-add_test(NAME bu_semaphore_P2 COMMAND bu_test semaphore -P2)
-add_test(NAME bu_semaphore_P3 COMMAND bu_test semaphore -P3)
+BRLCAD_ADD_TEST(NAME bu_semaphore_test GROUP bu COMMAND bu_test semaphore)
+BRLCAD_ADD_TEST(NAME bu_semaphore_P1 GROUP bu COMMAND bu_test semaphore -P1)
+BRLCAD_ADD_TEST(NAME bu_semaphore_P2 GROUP bu COMMAND bu_test semaphore -P2)
+BRLCAD_ADD_TEST(NAME bu_semaphore_P3 GROUP bu COMMAND bu_test semaphore -P3)
 
 #
 #  ************ bu_parallel.c tests *************
 #
-add_test(NAME bu_parallel_test COMMAND bu_test parallel)
+BRLCAD_ADD_TEST(NAME bu_parallel_test GROUP bu COMMAND bu_test parallel)
 
 # TODO - add a parallel test for the static version of the library,
 # maybe using bu_getiwd
@@ -313,7 +294,7 @@
 #  ************ vls_vprintf.c tests *************
 #
 foreach(num RANGE 1 67)
-  add_test(NAME "bu_vls_vprintf_${num}" COMMAND bu_test vls_vprintf "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_vls_vprintf_${num}" GROUP bu COMMAND bu_test 
vls_vprintf "${num}")
 endforeach()
 
 #
@@ -325,23 +306,23 @@
 #
 #  ************ sort.c test *************
 #
-add_test(NAME bu_sort_unsigned_int_1 COMMAND bu_test sort 1)
-add_test(NAME bu_sort_unsigned_int_2 COMMAND bu_test sort 2)
-add_test(NAME bu_sort_fastf_t_1 COMMAND bu_test sort 3)
-add_test(NAME bu_sort_fastf_t_2 COMMAND bu_test sort 4)
-add_test(NAME bu_sort_string_1 COMMAND bu_test sort 5)
-add_test(NAME bu_sort_string_2 COMMAND bu_test sort 6)
-add_test(NAME bu_sort_dist_to_int_1 COMMAND bu_test sort 7)
-add_test(NAME bu_sort_dist_to_int_2 COMMAND bu_test sort 8)
-add_test(NAME bu_sort_fastf_empty COMMAND bu_test sort 9)
-add_test(NAME bu_sort_fastf_inf COMMAND bu_test sort 10)
+BRLCAD_ADD_TEST(NAME bu_sort_unsigned_int_1 GROUP bu COMMAND bu_test sort 1)
+BRLCAD_ADD_TEST(NAME bu_sort_unsigned_int_2 GROUP bu COMMAND bu_test sort 2)
+BRLCAD_ADD_TEST(NAME bu_sort_fastf_t_1 GROUP bu COMMAND bu_test sort 3)
+BRLCAD_ADD_TEST(NAME bu_sort_fastf_t_2 GROUP bu COMMAND bu_test sort 4)
+BRLCAD_ADD_TEST(NAME bu_sort_string_1 GROUP bu COMMAND bu_test sort 5)
+BRLCAD_ADD_TEST(NAME bu_sort_string_2 GROUP bu COMMAND bu_test sort 6)
+BRLCAD_ADD_TEST(NAME bu_sort_dist_to_int_1 GROUP bu COMMAND bu_test sort 7)
+BRLCAD_ADD_TEST(NAME bu_sort_dist_to_int_2 GROUP bu COMMAND bu_test sort 8)
+BRLCAD_ADD_TEST(NAME bu_sort_fastf_empty GROUP bu COMMAND bu_test sort 9)
+BRLCAD_ADD_TEST(NAME bu_sort_fastf_inf GROUP bu COMMAND bu_test sort 10)
 
 #
 #  ************ color.c tests *************
 
-# For COMMAND bu_test color, the input format is as follows:
+# For GROUP bu COMMAND bu_test color, the input format is as follows:
 #
-# COMMAND bu_test color <function number> <args>
+# GROUP bu COMMAND bu_test color <function number> <args>
 
 # For function #1 (bu_rgb_to_hsv) the <args> format is as follows:
 #
@@ -351,13 +332,13 @@
 # integers, and hsv colors are represented by comma-separated triples
 # of floats.
 
-add_test(NAME bu_rgb_to_hsv_1 COMMAND bu_test color 1 192,78,214 
290.294,0.636,0.839)
-add_test(NAME bu_rgb_to_hsv_2 COMMAND bu_test color 1 0,0,0 0.0,0.0,0.0)
-add_test(NAME bu_rgb_to_hsv_3 COMMAND bu_test color 1 255,255,255 0.0,0.0,1.0)
-add_test(NAME bu_rgb_to_hsv_4 COMMAND bu_test color 1 255,0,0 0.0,1.0,1.0)
-add_test(NAME bu_rgb_to_hsv_5 COMMAND bu_test color 1 0,255,0 120.0,1.0,1.0)
-add_test(NAME bu_rgb_to_hsv_6 COMMAND bu_test color 1 0,0,255 240.0,1.0,1.0)
-add_test(NAME bu_rgb_to_hsv_7 COMMAND bu_test color 1 128,128,128 
0.0,0.0,0.501)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_1 GROUP bu COMMAND bu_test color 1 
192,78,214 290.294,0.636,0.839)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_2 GROUP bu COMMAND bu_test color 1 0,0,0 
0.0,0.0,0.0)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_3 GROUP bu COMMAND bu_test color 1 
255,255,255 0.0,0.0,1.0)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_4 GROUP bu COMMAND bu_test color 1 255,0,0 
0.0,1.0,1.0)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_5 GROUP bu COMMAND bu_test color 1 0,255,0 
120.0,1.0,1.0)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_6 GROUP bu COMMAND bu_test color 1 0,0,255 
240.0,1.0,1.0)
+BRLCAD_ADD_TEST(NAME bu_rgb_to_hsv_7 GROUP bu COMMAND bu_test color 1 
128,128,128 0.0,0.0,0.501)
 
 # For function #2 (bu_hsv_to_rgb) the <args> format is as follows:
 #
@@ -367,13 +348,13 @@
 # integers, and hsv colors are represented by comma-separated triples
 # of floats.
 
-add_test(NAME bu_hsv_to_rgb_1 COMMAND bu_test color 2 290.294,0.636,0.839 
192,78,214)
-add_test(NAME bu_hsv_to_rgb_2 COMMAND bu_test color 2 0.0,0.0,0.0 0,0,0)
-add_test(NAME bu_hsv_to_rgb_3 COMMAND bu_test color 2 0.0,0.0,1.0 255,255,255)
-add_test(NAME bu_hsv_to_rgb_4 COMMAND bu_test color 2 0.0,1.0,1.0 255,0,0)
-add_test(NAME bu_hsv_to_rgb_5 COMMAND bu_test color 2 120.0,1.0,1.0 0,255,0)
-add_test(NAME bu_hsv_to_rgb_6 COMMAND bu_test color 2 240.0,1.0,1.0 0,0,255)
-add_test(NAME bu_hsv_to_rgb_7 COMMAND bu_test color 2 0.0,0.0,0.501 
128,128,128)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_1 GROUP bu COMMAND bu_test color 2 
290.294,0.636,0.839 192,78,214)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_2 GROUP bu COMMAND bu_test color 2 
0.0,0.0,0.0 0,0,0)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_3 GROUP bu COMMAND bu_test color 2 
0.0,0.0,1.0 255,255,255)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_4 GROUP bu COMMAND bu_test color 2 
0.0,1.0,1.0 255,0,0)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_5 GROUP bu COMMAND bu_test color 2 
120.0,1.0,1.0 0,255,0)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_6 GROUP bu COMMAND bu_test color 2 
240.0,1.0,1.0 0,0,255)
+BRLCAD_ADD_TEST(NAME bu_hsv_to_rgb_7 GROUP bu COMMAND bu_test color 2 
0.0,0.0,0.501 128,128,128)
 
 # For function #3 (bu_str_to_rgb) the <args> format is as follows:
 #
@@ -382,18 +363,18 @@
 # Where rgb colors are represented by comma-separated triples of
 # integers.
 
-add_test(NAME bu_str_to_rgb_1 COMMAND bu_test color 3 "1 2 3" 1,2,3)
-add_test(NAME bu_str_to_rgb_2 COMMAND bu_test color 3 "78/214/192" 78,214,192)
-add_test(NAME bu_str_to_rgb_3 COMMAND bu_test color 3 "214 192 78" 214,192,78)
-add_test(NAME bu_str_to_rgb_4 COMMAND bu_test color 3 "192,214,78" 192,214,78)
-add_test(NAME bu_str_to_rgb_5 COMMAND bu_test color 3 "1234/1234/1234" 
11,22,33) # invalid
-add_test(NAME bu_str_to_rgb_6 COMMAND bu_test color 3 "-1 -2 -3" 11,22,33) # 
invalid
-add_test(NAME bu_str_to_rgb_7 COMMAND bu_test color 3 "#000000" 0,0,0)
-add_test(NAME bu_str_to_rgb_8 COMMAND bu_test color 3 "#ffffff" 255,255,255)
-add_test(NAME bu_str_to_rgb_9 COMMAND bu_test color 3 "#FfFFfF" 255,255,255)
-add_test(NAME bu_str_to_rgb_10 COMMAND bu_test color 3 "#fff" 255,255,255)
-add_test(NAME bu_str_to_rgb_11 COMMAND bu_test color 3 "#C04ED6" 192,78,214)
-add_test(NAME bu_str_to_rgb_12 COMMAND bu_test color 3 "#C4D" 204,68,221)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_1 GROUP bu COMMAND bu_test color 3 "1 2 3" 
1,2,3)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_2 GROUP bu COMMAND bu_test color 3 
"78/214/192" 78,214,192)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_3 GROUP bu COMMAND bu_test color 3 "214 192 
78" 214,192,78)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_4 GROUP bu COMMAND bu_test color 3 
"192,214,78" 192,214,78)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_5 GROUP bu COMMAND bu_test color 3 
"1234/1234/1234" 11,22,33) # invalid
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_6 GROUP bu COMMAND bu_test color 3 "-1 -2 
-3" 11,22,33) # invalid
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_7 GROUP bu COMMAND bu_test color 3 
"#000000" 0,0,0)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_8 GROUP bu COMMAND bu_test color 3 
"#ffffff" 255,255,255)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_9 GROUP bu COMMAND bu_test color 3 
"#FfFFfF" 255,255,255)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_10 GROUP bu COMMAND bu_test color 3 "#fff" 
255,255,255)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_11 GROUP bu COMMAND bu_test color 3 
"#C04ED6" 192,78,214)
+BRLCAD_ADD_TEST(NAME bu_str_to_rgb_12 GROUP bu COMMAND bu_test color 3 "#C4D" 
204,68,221)
 
 # For function #4 (bu_color_to_rgb_floats) the <args> format is as follows:
 #
@@ -402,15 +383,15 @@
 # Where rgb colors are represented by comma-separated triples of
 # integers or floats.
 
-add_test(NAME bu_color_to_rgb_floats_1 COMMAND bu_test color 4 192,78,214)
+BRLCAD_ADD_TEST(NAME bu_color_to_rgb_floats_1 GROUP bu COMMAND bu_test color 4 
192,78,214)
 
 #
 # ************ str.c tests ************
 #
 
-# For COMMAND bu_test str, the input format is as follows:
+# For GROUP bu COMMAND bu_test str, the input format is as follows:
 #
-# COMMAND bu_test str <function number> <args>
+# GROUP bu COMMAND bu_test str <function number> <args>
 
 # For function #1 (bu_strlcatm) the <args> format is as follows:
 #
@@ -422,10 +403,10 @@
 # function, and expected_result is the expected resultant string in
 # dst.
 
-add_test(NAME bu_strlcatm_valid_1 COMMAND bu_test str 1 "abc" "def" 7 6 
"abcdef")
-add_test(NAME bu_strlcatm_valid_2 COMMAND bu_test str 1 "abc" "def" 8 6 
"abcdef")
-add_test(NAME bu_strlcatm_bad_size_1 COMMAND bu_test str 1 "abc" "def" 0 0 "")
-add_test(NAME bu_strlcatm_bad_size_2 COMMAND bu_test str 1 "abc" "def" 5 4 
"abcd")
+BRLCAD_ADD_TEST(NAME bu_strlcatm_valid_1 GROUP bu COMMAND bu_test str 1 "abc" 
"def" 7 6 "abcdef")
+BRLCAD_ADD_TEST(NAME bu_strlcatm_valid_2 GROUP bu COMMAND bu_test str 1 "abc" 
"def" 8 6 "abcdef")
+BRLCAD_ADD_TEST(NAME bu_strlcatm_bad_size_1 GROUP bu COMMAND bu_test str 1 
"abc" "def" 0 0 "")
+BRLCAD_ADD_TEST(NAME bu_strlcatm_bad_size_2 GROUP bu COMMAND bu_test str 1 
"abc" "def" 5 4 "abcd")
 
 # For function #2 (bu_strlcpym) the <args> format is as follows:
 #
@@ -436,10 +417,10 @@
 # function, and expected_result is the expected contents of the copied
 # string.
 
-add_test(NAME bu_strlcpym_valid_1 COMMAND bu_test str 2 "abcdef" 7 6 "abcdef")
-add_test(NAME bu_strlcpym_valid_2 COMMAND bu_test str 2 "abcdef" 8 6 "abcdef")
-add_test(NAME bu_strlcpym_bad_size_1 COMMAND bu_test str 2 "abcdef" 0 0 "")
-add_test(NAME bu_strlcpym_bad_size_2 COMMAND bu_test str 2 "abcdef" 5 4 "abcd")
+BRLCAD_ADD_TEST(NAME bu_strlcpym_valid_1 GROUP bu COMMAND bu_test str 2 
"abcdef" 7 6 "abcdef")
+BRLCAD_ADD_TEST(NAME bu_strlcpym_valid_2 GROUP bu COMMAND bu_test str 2 
"abcdef" 8 6 "abcdef")
+BRLCAD_ADD_TEST(NAME bu_strlcpym_bad_size_1 GROUP bu COMMAND bu_test str 2 
"abcdef" 0 0 "")
+BRLCAD_ADD_TEST(NAME bu_strlcpym_bad_size_2 GROUP bu COMMAND bu_test str 2 
"abcdef" 5 4 "abcd")
 
 # For function #3 (bu_strdupm) the <args> format is as follows:
 #
@@ -447,7 +428,7 @@
 #
 # Where string is the string to duplicate.
 
-add_test(NAME bu_strdupm_1 COMMAND bu_test str 3 "abcdef")
+BRLCAD_ADD_TEST(NAME bu_strdupm_1 GROUP bu COMMAND bu_test str 3 "abcdef")
 
 # For function #4 (bu_strcmp) the <args> format is as follows:
 #
@@ -457,11 +438,11 @@
 # expected_ret is a number of the same sign as the expected comparison
 # result.
 
-add_test(NAME bu_strcmp_equal_1 COMMAND bu_test str 4 "abcd" "abcd" 0)
-add_test(NAME bu_strcmp_less_1 COMMAND bu_test str 4 "a" "b" -1)
-add_test(NAME bu_strcmp_less_2 COMMAND bu_test str 4 "abCD" "abcd" -1)
-add_test(NAME bu_strcmp_greater_1 COMMAND bu_test str 4 "b" "a" 1)
-add_test(NAME bu_strcmp_greater_2 COMMAND bu_test str 4 "abcd" "abCD" 1)
+BRLCAD_ADD_TEST(NAME bu_strcmp_equal_1 GROUP bu COMMAND bu_test str 4 "abcd" 
"abcd" 0)
+BRLCAD_ADD_TEST(NAME bu_strcmp_less_1 GROUP bu COMMAND bu_test str 4 "a" "b" 
-1)
+BRLCAD_ADD_TEST(NAME bu_strcmp_less_2 GROUP bu COMMAND bu_test str 4 "abCD" 
"abcd" -1)
+BRLCAD_ADD_TEST(NAME bu_strcmp_greater_1 GROUP bu COMMAND bu_test str 4 "b" 
"a" 1)
+BRLCAD_ADD_TEST(NAME bu_strcmp_greater_2 GROUP bu COMMAND bu_test str 4 "abcd" 
"abCD" 1)
 
 # For function #5 (bu_strncmp) the <args> format is as follows:
 #
@@ -471,15 +452,15 @@
 # length to give strncmp, and expected_ret is a number of the same
 # sign as the expected comparison result.
 
-add_test(NAME bu_strncmp_equal_1 COMMAND bu_test str 5 "abcd" "abcd" 4 0)
-add_test(NAME bu_strncmp_equal_2 COMMAND bu_test str 5 "abcd" "abcd" 3 0)
-add_test(NAME bu_strncmp_equal_3 COMMAND bu_test str 5 "abcd" "abcd" 5 0)
-add_test(NAME bu_strncmp_equal_4 COMMAND bu_test str 5 "abcd" "abc" 3 0)
-add_test(NAME bu_strncmp_equal_5 COMMAND bu_test str 5 "abcd" "abce" 3 0)
-add_test(NAME bu_strncmp_less_1 COMMAND bu_test str 5 "abcd" "abce" 4 -1)
-add_test(NAME bu_strncmp_less_2 COMMAND bu_test str 5 "abCD" "abcd" 4 -1)
-add_test(NAME bu_strncmp_greater_1 COMMAND bu_test str 5 "abcd" "abc" 4 1)
-add_test(NAME bu_strncmp_greater_2 COMMAND bu_test str 5 "abcd" "abCD" 4 1)
+BRLCAD_ADD_TEST(NAME bu_strncmp_equal_1 GROUP bu COMMAND bu_test str 5 "abcd" 
"abcd" 4 0)
+BRLCAD_ADD_TEST(NAME bu_strncmp_equal_2 GROUP bu COMMAND bu_test str 5 "abcd" 
"abcd" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncmp_equal_3 GROUP bu COMMAND bu_test str 5 "abcd" 
"abcd" 5 0)
+BRLCAD_ADD_TEST(NAME bu_strncmp_equal_4 GROUP bu COMMAND bu_test str 5 "abcd" 
"abc" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncmp_equal_5 GROUP bu COMMAND bu_test str 5 "abcd" 
"abce" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncmp_less_1 GROUP bu COMMAND bu_test str 5 "abcd" 
"abce" 4 -1)
+BRLCAD_ADD_TEST(NAME bu_strncmp_less_2 GROUP bu COMMAND bu_test str 5 "abCD" 
"abcd" 4 -1)
+BRLCAD_ADD_TEST(NAME bu_strncmp_greater_1 GROUP bu COMMAND bu_test str 5 
"abcd" "abc" 4 1)
+BRLCAD_ADD_TEST(NAME bu_strncmp_greater_2 GROUP bu COMMAND bu_test str 5 
"abcd" "abCD" 4 1)
 
 # For function #6 (bu_strcasecmp) the <args> format is as follows:
 #
@@ -489,11 +470,11 @@
 # expected_ret is a number of the same sign as the expected comparison
 # result.
 
-add_test(NAME bu_strcasecmp_equal_1 COMMAND bu_test str 6 "abcd" "abcd" 0)
-add_test(NAME bu_strcasecmp_equal_2 COMMAND bu_test str 6 "abCD" "abcd" 0)
-add_test(NAME bu_strcasecmp_equal_3 COMMAND bu_test str 6 "abcd" "abCD" 0)
-add_test(NAME bu_strcasecmp_less_1 COMMAND bu_test str 4 "a" "b" -1)
-add_test(NAME bu_strcasecmp_greater_1 COMMAND bu_test str 4 "b" "a" 1)
+BRLCAD_ADD_TEST(NAME bu_strcasecmp_equal_1 GROUP bu COMMAND bu_test str 6 
"abcd" "abcd" 0)
+BRLCAD_ADD_TEST(NAME bu_strcasecmp_equal_2 GROUP bu COMMAND bu_test str 6 
"abCD" "abcd" 0)
+BRLCAD_ADD_TEST(NAME bu_strcasecmp_equal_3 GROUP bu COMMAND bu_test str 6 
"abcd" "abCD" 0)
+BRLCAD_ADD_TEST(NAME bu_strcasecmp_less_1 GROUP bu COMMAND bu_test str 4 "a" 
"b" -1)
+BRLCAD_ADD_TEST(NAME bu_strcasecmp_greater_1 GROUP bu COMMAND bu_test str 4 
"b" "a" 1)
 
 # For function #7 (bu_strncasecmp) the <args> format is as follows:
 #
@@ -503,160 +484,160 @@
 # length to give strncmp, and expected_ret is a number of the same
 # sign as the expected comparison result.
 
-add_test(NAME bu_strncasecmp_equal_1 COMMAND bu_test str 7 "abcd" "abcd" 4 0)
-add_test(NAME bu_strncasecmp_equal_2 COMMAND bu_test str 7 "abcd" "abcd" 3 0)
-add_test(NAME bu_strncasecmp_equal_3 COMMAND bu_test str 7 "abcd" "abcd" 5 0)
-add_test(NAME bu_strncasecmp_equal_4 COMMAND bu_test str 7 "abcd" "abc" 3 0)
-add_test(NAME bu_strncasecmp_equal_5 COMMAND bu_test str 7 "abcd" "abce" 3 0)
-add_test(NAME bu_strncasecmp_equal_6 COMMAND bu_test str 7 "abCD" "abcd" 4 0)
-add_test(NAME bu_strncasecmp_equal_7 COMMAND bu_test str 7 "abcd" "abCD" 4 0)
-add_test(NAME bu_strncasecmp_less_1 COMMAND bu_test str 7 "abcd" "abce" 4 -1)
-add_test(NAME bu_strncasecmp_greater_1 COMMAND bu_test str 7 "abcd" "abc" 4 1)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_1 GROUP bu COMMAND bu_test str 7 
"abcd" "abcd" 4 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_2 GROUP bu COMMAND bu_test str 7 
"abcd" "abcd" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_3 GROUP bu COMMAND bu_test str 7 
"abcd" "abcd" 5 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_4 GROUP bu COMMAND bu_test str 7 
"abcd" "abc" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_5 GROUP bu COMMAND bu_test str 7 
"abcd" "abce" 3 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_6 GROUP bu COMMAND bu_test str 7 
"abCD" "abcd" 4 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_equal_7 GROUP bu COMMAND bu_test str 7 
"abcd" "abCD" 4 0)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_less_1 GROUP bu COMMAND bu_test str 7 
"abcd" "abce" 4 -1)
+BRLCAD_ADD_TEST(NAME bu_strncasecmp_greater_1 GROUP bu COMMAND bu_test str 7 
"abcd" "abc" 4 1)
 
 #
 #  *********** badmagic.c tests ************
 #
 
-add_test(NAME bu_badmagic_diff_magic  COMMAND bu_test badmagic 1)
-add_test(NAME bu_badmagic_normal      COMMAND bu_test badmagic 2)
-add_test(NAME bu_badmagic_null_ptr    COMMAND bu_test badmagic 3)
-add_test(NAME bu_badmagic_misaligned  COMMAND bu_test badmagic 4)
+BRLCAD_ADD_TEST(NAME bu_badmagic_diff_magic  GROUP bu COMMAND bu_test badmagic 
1)
+BRLCAD_ADD_TEST(NAME bu_badmagic_normal      GROUP bu COMMAND bu_test badmagic 
2)
+BRLCAD_ADD_TEST(NAME bu_badmagic_null_ptr    GROUP bu COMMAND bu_test badmagic 
3)
+BRLCAD_ADD_TEST(NAME bu_badmagic_misaligned  GROUP bu COMMAND bu_test badmagic 
4)
 
 #
 #  *********** vls_incr.c tests ************
 #
 
-add_test(NAME bu_vls_incr_1  COMMAND bu_test vls_incr "test1.r"      0 "NULL"  
      1  "test2.r")
-add_test(NAME bu_vls_incr_2  COMMAND bu_test vls_incr "test1.r"      0 
"0:0:0:0"    10  "test11.r")
-add_test(NAME bu_vls_incr_3  COMMAND bu_test vls_incr "test1_1.r"    0 
"0:0:0:0"     2  "test1_3.r")
-add_test(NAME bu_vls_incr_4  COMMAND bu_test vls_incr "test-1.r"     0 
"0:0:0:0"     1  "test-2.r")
-add_test(NAME bu_vls_incr_5  COMMAND bu_test vls_incr "test1.r"      0 
"3:0:0:0"     1  "test002.r")
-add_test(NAME bu_vls_incr_6  COMMAND bu_test vls_incr "test1.r"      0 
"3:5:0:0"     1  "test005.r")
-add_test(NAME bu_vls_incr_7  COMMAND bu_test vls_incr "test5.r"      0 
"3:5:0:0"     1  "test006.r")
-add_test(NAME bu_vls_incr_8  COMMAND bu_test vls_incr "test8.r"      0 
"0:0:9:0"     2  "test0.r")
-add_test(NAME bu_vls_incr_9  COMMAND bu_test vls_incr "test1.r"      0 
"0:0:0:2"     2  "test5.r")
-add_test(NAME bu_vls_incr_10 COMMAND bu_test vls_incr "test90.r"     0 
"4:20:99:5"   2  "test0020.r")
-add_test(NAME bu_vls_incr_11 COMMAND bu_test vls_incr "test_1_obj.r" 1 
"0:0:0:0:-:-" 1  "test-2-obj.r")
-add_test(NAME bu_vls_incr_12 COMMAND bu_test vls_incr "test.r"       1 
"3:0:0:0:-"   5  "test.r-005")
-add_test(NAME bu_vls_incr_13 COMMAND bu_test vls_incr "test1"        0 "NULL"  
      1  "test2")
-add_test(NAME bu_vls_incr_14 COMMAND bu_test vls_incr "test20"       0 "NULL"  
    100  "test120")
-add_test(NAME bu_vls_incr_15 COMMAND bu_test vls_incr "test"         0 "NULL"  
      1  "test1")
-add_test(NAME bu_vls_incr_16 COMMAND bu_test vls_incr "test"         0 
"0:0:0:0:-"   1  "test-1")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_1  GROUP bu COMMAND bu_test vls_incr 
"test1.r"      0 "NULL"        1  "test2.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_2  GROUP bu COMMAND bu_test vls_incr 
"test1.r"      0 "0:0:0:0"    10  "test11.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_3  GROUP bu COMMAND bu_test vls_incr 
"test1_1.r"    0 "0:0:0:0"     2  "test1_3.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_4  GROUP bu COMMAND bu_test vls_incr 
"test-1.r"     0 "0:0:0:0"     1  "test-2.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_5  GROUP bu COMMAND bu_test vls_incr 
"test1.r"      0 "3:0:0:0"     1  "test002.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_6  GROUP bu COMMAND bu_test vls_incr 
"test1.r"      0 "3:5:0:0"     1  "test005.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_7  GROUP bu COMMAND bu_test vls_incr 
"test5.r"      0 "3:5:0:0"     1  "test006.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_8  GROUP bu COMMAND bu_test vls_incr 
"test8.r"      0 "0:0:9:0"     2  "test0.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_9  GROUP bu COMMAND bu_test vls_incr 
"test1.r"      0 "0:0:0:2"     2  "test5.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_10 GROUP bu COMMAND bu_test vls_incr 
"test90.r"     0 "4:20:99:5"   2  "test0020.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_11 GROUP bu COMMAND bu_test vls_incr 
"test_1_obj.r" 1 "0:0:0:0:-:-" 1  "test-2-obj.r")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_12 GROUP bu COMMAND bu_test vls_incr "test.r" 
      1 "3:0:0:0:-"   5  "test.r-005")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_13 GROUP bu COMMAND bu_test vls_incr "test1"  
      0 "NULL"        1  "test2")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_14 GROUP bu COMMAND bu_test vls_incr "test20" 
      0 "NULL"      100  "test120")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_15 GROUP bu COMMAND bu_test vls_incr "test"   
      0 "NULL"        1  "test1")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_16 GROUP bu COMMAND bu_test vls_incr "test"   
      0 "0:0:0:0:-"   1  "test-1")
 
 BRLCAD_ADDEXEC(bu_vls_incr_uniq vls_incr_uniq.cpp libbu TEST)
-add_dependencies(bu_test bu_vls_incr_uniq)
-add_test(NAME bu_vls_incr_uniq_1  COMMAND bu_vls_incr_uniq  "test.r1" 
"test.r3")
-add_test(NAME bu_vls_incr_uniq_2  COMMAND bu_vls_incr_uniq  "test.r2" 
"test.r3")
+BRLCAD_CTEST_EXEC(bu_vls_incr_uniq bu_vls_incr_uniq)
+BRLCAD_ADD_TEST(NAME bu_vls_incr_uniq_1  GROUP bu_vls_incr_uniq COMMAND 
bu_vls_incr_uniq  "test.r1" "test.r3")
+BRLCAD_ADD_TEST(NAME bu_vls_incr_uniq_2  GROUP bu_vls_incr_uniq COMMAND 
bu_vls_incr_uniq  "test.r2" "test.r3")
 
 #
 #  *********** vls_simlify.c tests ************
 #
 
-add_test(NAME bu_vls_simplify_1  COMMAND bu_test vls_simplify "^%test1@@%"    
"__test1___")
-add_test(NAME bu_vls_simplify_2  COMMAND bu_test vls_simplify "^%test1@@%"    
"_test1_"     ""   "_")
-add_test(NAME bu_vls_simplify_3  COMMAND bu_test vls_simplify "^%test1@@%"    
"_test1@@_"   "@"  "_")
-add_test(NAME bu_vls_simplify_4  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"_test1_s_"   ""   "_")
-add_test(NAME bu_vls_simplify_5  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"_test1.s_"   "."  "_")
-add_test(NAME bu_vls_simplify_6  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"test1.s"     "."  "_"  "_")
-add_test(NAME bu_vls_simplify_7  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"%test1.s_%"  ".%" "_"  "_")
-add_test(NAME bu_vls_simplify_8  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"test1.s"     ".%" "_"  "%_")
-add_test(NAME bu_vls_simplify_9  COMMAND bu_test vls_simplify "^%test1.s@@%"  
"test1.s@"    ".@" "_@" "_")
-add_test(NAME bu_vls_simplify_10 COMMAND bu_test vls_simplify "^%test1.s@@%"  
"test1.s"     ".@" "_@" "@_")
-add_test(NAME bu_vls_simplify_11 COMMAND bu_test vls_simplify "^%[email protected]@@%" 
"[email protected]"    ".@" "_@" "@_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_1  GROUP bu COMMAND bu_test vls_simplify 
"^%test1@@%"    "__test1___")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_2  GROUP bu COMMAND bu_test vls_simplify 
"^%test1@@%"    "_test1_"     ""   "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_3  GROUP bu COMMAND bu_test vls_simplify 
"^%test1@@%"    "_test1@@_"   "@"  "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_4  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "_test1_s_"   ""   "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_5  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "_test1.s_"   "."  "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_6  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "test1.s"     "."  "_"  "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_7  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "%test1.s_%"  ".%" "_"  "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_8  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "test1.s"     ".%" "_"  "%_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_9  GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "test1.s@"    ".@" "_@" "_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_10 GROUP bu COMMAND bu_test vls_simplify 
"^%test1.s@@%"  "test1.s"     ".@" "_@" "@_")
+BRLCAD_ADD_TEST(NAME bu_vls_simplify_11 GROUP bu COMMAND bu_test vls_simplify 
"^%[email protected]@@%" "[email protected]"    ".@" "_@" "@_")
 
 #
 #  *********** opt.c tests ************
 #
 
-add_test(NAME bu_opt_null  COMMAND bu_test opt 0 0 0)
+BRLCAD_ADD_TEST(NAME bu_opt_null  GROUP bu COMMAND bu_test opt 0 0 0)
 
 # Verbosity (custom handler) testing
-add_test(NAME bu_opt_1_v_00  COMMAND bu_test opt 1 v 0)
-add_test(NAME bu_opt_1_v_01  COMMAND bu_test opt 1 v 1)
-add_test(NAME bu_opt_1_v_02  COMMAND bu_test opt 1 v 2)
-add_test(NAME bu_opt_1_v_03  COMMAND bu_test opt 1 v 3)
-add_test(NAME bu_opt_1_v_04  COMMAND bu_test opt 1 v 4)
-add_test(NAME bu_opt_1_v_05  COMMAND bu_test opt 1 v 5)
-add_test(NAME bu_opt_1_v_06  COMMAND bu_test opt 1 v 6)
-add_test(NAME bu_opt_1_v_07  COMMAND bu_test opt 1 v 7)
-add_test(NAME bu_opt_1_v_08  COMMAND bu_test opt 1 v 8)
-add_test(NAME bu_opt_1_v_09  COMMAND bu_test opt 1 v 9)
-add_test(NAME bu_opt_1_v_10  COMMAND bu_test opt 1 v 10)
-add_test(NAME bu_opt_1_v_11  COMMAND bu_test opt 1 v 11)
-add_test(NAME bu_opt_1_v_12  COMMAND bu_test opt 1 v 12)
-add_test(NAME bu_opt_1_v_13  COMMAND bu_test opt 1 v 13)
-add_test(NAME bu_opt_1_v_14  COMMAND bu_test opt 1 v 14)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_00  GROUP bu COMMAND bu_test opt 1 v 0)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_01  GROUP bu COMMAND bu_test opt 1 v 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_02  GROUP bu COMMAND bu_test opt 1 v 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_03  GROUP bu COMMAND bu_test opt 1 v 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_04  GROUP bu COMMAND bu_test opt 1 v 4)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_05  GROUP bu COMMAND bu_test opt 1 v 5)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_06  GROUP bu COMMAND bu_test opt 1 v 6)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_07  GROUP bu COMMAND bu_test opt 1 v 7)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_08  GROUP bu COMMAND bu_test opt 1 v 8)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_09  GROUP bu COMMAND bu_test opt 1 v 9)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_10  GROUP bu COMMAND bu_test opt 1 v 10)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_11  GROUP bu COMMAND bu_test opt 1 v 11)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_12  GROUP bu COMMAND bu_test opt 1 v 12)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_13  GROUP bu COMMAND bu_test opt 1 v 13)
+BRLCAD_ADD_TEST(NAME bu_opt_1_v_14  GROUP bu COMMAND bu_test opt 1 v 14)
 
 # Help option testing
-add_test(NAME bu_opt_1_h_01  COMMAND bu_test opt 1 h 1)
-add_test(NAME bu_opt_1_h_02  COMMAND bu_test opt 1 h 2)
-add_test(NAME bu_opt_1_h_03  COMMAND bu_test opt 1 h 3)
-add_test(NAME bu_opt_1_h_04  COMMAND bu_test opt 1 h 4)
-add_test(NAME bu_opt_1_h_05  COMMAND bu_test opt 1 h 5)
-add_test(NAME bu_opt_1_h_06  COMMAND bu_test opt 1 h 6)
-add_test(NAME bu_opt_1_h_07  COMMAND bu_test opt 1 h 7)
-add_test(NAME bu_opt_1_h_08  COMMAND bu_test opt 1 h 8)
-add_test(NAME bu_opt_1_h_09  COMMAND bu_test opt 1 h 9)
-add_test(NAME bu_opt_1_h_10  COMMAND bu_test opt 1 h 10)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_01  GROUP bu COMMAND bu_test opt 1 h 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_02  GROUP bu COMMAND bu_test opt 1 h 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_03  GROUP bu COMMAND bu_test opt 1 h 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_04  GROUP bu COMMAND bu_test opt 1 h 4)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_05  GROUP bu COMMAND bu_test opt 1 h 5)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_06  GROUP bu COMMAND bu_test opt 1 h 6)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_07  GROUP bu COMMAND bu_test opt 1 h 7)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_08  GROUP bu COMMAND bu_test opt 1 h 8)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_09  GROUP bu COMMAND bu_test opt 1 h 9)
+BRLCAD_ADD_TEST(NAME bu_opt_1_h_10  GROUP bu COMMAND bu_test opt 1 h 10)
 
 # Boolean option testing
-add_test(NAME bu_opt_1_b_01  COMMAND bu_test opt 1 b 1)
-add_test(NAME bu_opt_1_b_02  COMMAND bu_test opt 1 b 2)
-add_test(NAME bu_opt_1_b_03  COMMAND bu_test opt 1 b 3)
-add_test(NAME bu_opt_1_b_04  COMMAND bu_test opt 1 b 4)
+BRLCAD_ADD_TEST(NAME bu_opt_1_b_01  GROUP bu COMMAND bu_test opt 1 b 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_b_02  GROUP bu COMMAND bu_test opt 1 b 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_b_03  GROUP bu COMMAND bu_test opt 1 b 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_b_04  GROUP bu COMMAND bu_test opt 1 b 4)
 
 # String option testing
-add_test(NAME bu_opt_1_s_01  COMMAND bu_test opt 1 s 1)
-add_test(NAME bu_opt_1_s_02  COMMAND bu_test opt 1 s 2)
-add_test(NAME bu_opt_1_s_03  COMMAND bu_test opt 1 s 3)
-add_test(NAME bu_opt_1_s_04  COMMAND bu_test opt 1 s 4)
-add_test(NAME bu_opt_1_s_05  COMMAND bu_test opt 1 s 5)
+BRLCAD_ADD_TEST(NAME bu_opt_1_s_01  GROUP bu COMMAND bu_test opt 1 s 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_s_02  GROUP bu COMMAND bu_test opt 1 s 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_s_03  GROUP bu COMMAND bu_test opt 1 s 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_s_04  GROUP bu COMMAND bu_test opt 1 s 4)
+BRLCAD_ADD_TEST(NAME bu_opt_1_s_05  GROUP bu COMMAND bu_test opt 1 s 5)
 
 # Integer option testing
-add_test(NAME bu_opt_1_i_01  COMMAND bu_test opt 1 i 1)
-add_test(NAME bu_opt_1_i_02  COMMAND bu_test opt 1 i 2)
-add_test(NAME bu_opt_1_i_03  COMMAND bu_test opt 1 i 3)
-add_test(NAME bu_opt_1_i_04  COMMAND bu_test opt 1 i 4)
+BRLCAD_ADD_TEST(NAME bu_opt_1_i_01  GROUP bu COMMAND bu_test opt 1 i 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_i_02  GROUP bu COMMAND bu_test opt 1 i 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_i_03  GROUP bu COMMAND bu_test opt 1 i 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_i_04  GROUP bu COMMAND bu_test opt 1 i 4)
 
 # Long int option testing
-add_test(NAME bu_opt_1_l_01  COMMAND bu_test opt 1 l 1)
-add_test(NAME bu_opt_1_l_02  COMMAND bu_test opt 1 l 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_l_01  GROUP bu COMMAND bu_test opt 1 l 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_l_02  GROUP bu COMMAND bu_test opt 1 l 2)
 
 # fastf_t option testing
-add_test(NAME bu_opt_1_f_01  COMMAND bu_test opt 1 f 1)
-add_test(NAME bu_opt_1_f_02  COMMAND bu_test opt 1 f 2)
-add_test(NAME bu_opt_1_f_03  COMMAND bu_test opt 1 f 3)
+BRLCAD_ADD_TEST(NAME bu_opt_1_f_01  GROUP bu COMMAND bu_test opt 1 f 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_f_02  GROUP bu COMMAND bu_test opt 1 f 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_f_03  GROUP bu COMMAND bu_test opt 1 f 3)
 
 # Multiple flag option testing
-add_test(NAME bu_opt_1_mf_01  COMMAND bu_test opt 1 m 1)
-add_test(NAME bu_opt_1_mf_02  COMMAND bu_test opt 1 m 2)
+BRLCAD_ADD_TEST(NAME bu_opt_1_mf_01  GROUP bu COMMAND bu_test opt 1 m 1)
+BRLCAD_ADD_TEST(NAME bu_opt_1_mf_02  GROUP bu COMMAND bu_test opt 1 m 2)
 
 # non-static var assignment option testing (and also complex
 # custom arg processing testing)
-add_test(NAME bu_opt_2_color_00  COMMAND bu_test opt 2 C 0)
-add_test(NAME bu_opt_2_color_01  COMMAND bu_test opt 2 C 1)
-add_test(NAME bu_opt_2_color_02  COMMAND bu_test opt 2 C 2)
-add_test(NAME bu_opt_2_color_03  COMMAND bu_test opt 2 C 3)
-add_test(NAME bu_opt_2_color_04  COMMAND bu_test opt 2 C 4)
-add_test(NAME bu_opt_2_color_05  COMMAND bu_test opt 2 C 5)
-add_test(NAME bu_opt_2_color_06  COMMAND bu_test opt 2 C 6)
-add_test(NAME bu_opt_2_color_07  COMMAND bu_test opt 2 C 7)
-add_test(NAME bu_opt_2_color_08  COMMAND bu_test opt 2 C 8)
-add_test(NAME bu_opt_2_color_09  COMMAND bu_test opt 2 C 9)
-add_test(NAME bu_opt_2_color_10  COMMAND bu_test opt 2 C 10)
-add_test(NAME bu_opt_2_color_11  COMMAND bu_test opt 2 C 11)
-add_test(NAME bu_opt_2_color_12  COMMAND bu_test opt 2 C 12)
-add_test(NAME bu_opt_2_color_13  COMMAND bu_test opt 2 C 13)
-add_test(NAME bu_opt_2_color_14  COMMAND bu_test opt 2 C 14)
-add_test(NAME bu_opt_2_color_15  COMMAND bu_test opt 2 C 15)
-add_test(NAME bu_opt_2_color_16  COMMAND bu_test opt 2 C 16)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_00  GROUP bu COMMAND bu_test opt 2 C 0)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_01  GROUP bu COMMAND bu_test opt 2 C 1)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_02  GROUP bu COMMAND bu_test opt 2 C 2)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_03  GROUP bu COMMAND bu_test opt 2 C 3)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_04  GROUP bu COMMAND bu_test opt 2 C 4)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_05  GROUP bu COMMAND bu_test opt 2 C 5)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_06  GROUP bu COMMAND bu_test opt 2 C 6)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_07  GROUP bu COMMAND bu_test opt 2 C 7)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_08  GROUP bu COMMAND bu_test opt 2 C 8)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_09  GROUP bu COMMAND bu_test opt 2 C 9)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_10  GROUP bu COMMAND bu_test opt 2 C 10)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_11  GROUP bu COMMAND bu_test opt 2 C 11)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_12  GROUP bu COMMAND bu_test opt 2 C 12)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_13  GROUP bu COMMAND bu_test opt 2 C 13)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_14  GROUP bu COMMAND bu_test opt 2 C 14)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_15  GROUP bu COMMAND bu_test opt 2 C 15)
+BRLCAD_ADD_TEST(NAME bu_opt_2_color_16  GROUP bu COMMAND bu_test opt 2 C 16)
 
 # vector tests
-add_test(NAME bu_opt_3_vect_00  COMMAND bu_test opt 3 V 0)
-add_test(NAME bu_opt_3_vect_01  COMMAND bu_test opt 3 V 1)
-add_test(NAME bu_opt_3_vect_02  COMMAND bu_test opt 3 V 2)
-add_test(NAME bu_opt_3_vect_03  COMMAND bu_test opt 3 V 3)
-add_test(NAME bu_opt_3_vect_04  COMMAND bu_test opt 3 V 4)
+BRLCAD_ADD_TEST(NAME bu_opt_3_vect_00  GROUP bu COMMAND bu_test opt 3 V 0)
+BRLCAD_ADD_TEST(NAME bu_opt_3_vect_01  GROUP bu COMMAND bu_test opt 3 V 1)
+BRLCAD_ADD_TEST(NAME bu_opt_3_vect_02  GROUP bu COMMAND bu_test opt 3 V 2)
+BRLCAD_ADD_TEST(NAME bu_opt_3_vect_03  GROUP bu COMMAND bu_test opt 3 V 3)
+BRLCAD_ADD_TEST(NAME bu_opt_3_vect_04  GROUP bu COMMAND bu_test opt 3 V 4)
 
 #
 #  *********** datetime.c tests ************
@@ -663,7 +644,7 @@
 #
 
 foreach(num RANGE 0 11)
-  add_test(NAME "bu_datetime${num}" COMMAND bu_test datetime "${num}")
+  BRLCAD_ADD_TEST(NAME "bu_datetime${num}" GROUP bu COMMAND bu_test datetime 
"${num}")
 endforeach()
 
 #
@@ -670,56 +651,56 @@
 #  *********** hash.c tests ************
 #
 BRLCAD_ADDEXEC(bu_hash hash.cpp libbu TEST)
-add_dependencies(bu_test bu_hash)
-add_test(NAME bu_hash_noop         COMMAND bu_hash 0)
-add_test(NAME bu_hash_one_entry    COMMAND bu_hash 1)
-add_test(NAME bu_hash_lorem_ipsum  COMMAND bu_hash 2)
+BRLCAD_CTEST_EXEC(bu_hash bu_hash)
+BRLCAD_ADD_TEST(NAME bu_hash_noop         GROUP bu_hash COMMAND bu_hash 0)
+BRLCAD_ADD_TEST(NAME bu_hash_one_entry    GROUP bu_hash COMMAND bu_hash 1)
+BRLCAD_ADD_TEST(NAME bu_hash_lorem_ipsum  GROUP bu_hash COMMAND bu_hash 2)
 
 #
 #  *********** humanize_number.c tests ************
 #
 
-add_test(NAME bu_humanize_number_BSD COMMAND bu_test humanize_number)
+BRLCAD_ADD_TEST(NAME bu_humanize_number_BSD GROUP bu COMMAND bu_test 
humanize_number)
 
 #
 #  *********** uuid.c tests ************
 #
 
-add_test(NAME bu_uuid_encode COMMAND bu_test uuid)
+BRLCAD_ADD_TEST(NAME bu_uuid_encode GROUP bu COMMAND bu_test uuid)
 
-#add_test(NAME bu_uuid_create  COMMAND bu_test uuid 0)
-#add_test(NAME bu_uuid_compare COMMAND bu_test uuid 1)
-#add_test(NAME bu_uuid_encode  COMMAND bu_test uuid 2)
+#BRLCAD_ADD_TEST(NAME bu_uuid_create  GROUP bu COMMAND bu_test uuid 0)
+#BRLCAD_ADD_TEST(NAME bu_uuid_compare GROUP bu COMMAND bu_test uuid 1)
+#BRLCAD_ADD_TEST(NAME bu_uuid_encode  GROUP bu COMMAND bu_test uuid 2)
 
 #
 #  *********** ptbl.c tests ************
 #
 
-add_test(NAME bu_ptbl_init_default COMMAND bu_test ptbl init)
-add_test(NAME bu_ptbl_init_0 COMMAND bu_test ptbl init 0)
-add_test(NAME bu_ptbl_init_10000 COMMAND bu_test ptbl init 10000)
+BRLCAD_ADD_TEST(NAME bu_ptbl_init_default GROUP bu COMMAND bu_test ptbl init)
+BRLCAD_ADD_TEST(NAME bu_ptbl_init_0 GROUP bu COMMAND bu_test ptbl init 0)
+BRLCAD_ADD_TEST(NAME bu_ptbl_init_10000 GROUP bu COMMAND bu_test ptbl init 
10000)
 
-add_test(NAME bu_ptbl_reset COMMAND bu_test ptbl reset)
+BRLCAD_ADD_TEST(NAME bu_ptbl_reset GROUP bu COMMAND bu_test ptbl reset)
 
-add_test(NAME bu_ptbl_ins COMMAND bu_test ptbl ins)
-add_test(NAME bu_ptbl_ins_uniq COMMAND bu_test ptbl ins uniq)
-add_test(NAME bu_ptbl_locate COMMAND bu_test ptbl locate)
+BRLCAD_ADD_TEST(NAME bu_ptbl_ins GROUP bu COMMAND bu_test ptbl ins)
+BRLCAD_ADD_TEST(NAME bu_ptbl_ins_uniq GROUP bu COMMAND bu_test ptbl ins uniq)
+BRLCAD_ADD_TEST(NAME bu_ptbl_locate GROUP bu COMMAND bu_test ptbl locate)
 
-add_test(NAME bu_ptbl_rm_cons COMMAND bu_test ptbl rm cons)
-add_test(NAME bu_ptbl_rm_mix COMMAND bu_test ptbl rm mix)
+BRLCAD_ADD_TEST(NAME bu_ptbl_rm_cons GROUP bu COMMAND bu_test ptbl rm cons)
+BRLCAD_ADD_TEST(NAME bu_ptbl_rm_mix GROUP bu COMMAND bu_test ptbl rm mix)
 
-add_test(NAME bu_ptbl_cat COMMAND bu_test ptbl cat)
-add_test(NAME bu_ptbl_cat_uniq COMMAND bu_test ptbl cat uniq)
+BRLCAD_ADD_TEST(NAME bu_ptbl_cat GROUP bu COMMAND bu_test ptbl cat)
+BRLCAD_ADD_TEST(NAME bu_ptbl_cat_uniq GROUP bu COMMAND bu_test ptbl cat uniq)
 
-add_test(NAME bu_ptbl_trunc COMMAND bu_test ptbl trunc)
+BRLCAD_ADD_TEST(NAME bu_ptbl_trunc GROUP bu COMMAND bu_test ptbl trunc)
 
 #
 #  *********** hook.c tests ************
 #
 
-add_test(NAME bu_hook_basic COMMAND bu_test hook basic)
-add_test(NAME bu_hook_multiadd COMMAND bu_test hook multiadd)
-add_test(NAME bu_hook_saverestore COMMAND bu_test hook saverestore)
+BRLCAD_ADD_TEST(NAME bu_hook_basic GROUP bu COMMAND bu_test hook basic)
+BRLCAD_ADD_TEST(NAME bu_hook_multiadd GROUP bu COMMAND bu_test hook multiadd)
+BRLCAD_ADD_TEST(NAME bu_hook_saverestore GROUP bu COMMAND bu_test hook 
saverestore)
 
 #
 #  *********** process.c tests ************
@@ -729,32 +710,32 @@
 # dependency of bu_test to make sure it is present when
 # bu_test runs its process tests
 BRLCAD_ADDEXEC(bu_subprocess subprocess.cpp libbu TEST)
-add_dependencies(bu_test bu_subprocess)
-add_test(NAME bu_process_basic COMMAND bu_test process 
"$<TARGET_FILE:bu_subprocess>" basic)
-add_test(NAME bu_process_abort COMMAND bu_test process 
"$<TARGET_FILE:bu_subprocess>" abort)
+BRLCAD_CTEST_EXEC(bu_subprocess bu_subprocess)
+BRLCAD_ADD_TEST(NAME bu_process_basic GROUP bu_subprocess COMMAND bu_test 
process "$<TARGET_FILE:bu_subprocess>" basic)
+BRLCAD_ADD_TEST(NAME bu_process_abort GROUP bu_subprocess COMMAND bu_test 
process "$<TARGET_FILE:bu_subprocess>" abort)
 
 #  *********** mappedfile.c tests ************
-add_test(NAME bu_mappedfile_serial_1 COMMAND bu_test mappedfile 1 1)
-add_test(NAME bu_mappedfile_parallel_1 COMMAND bu_test mappedfile 2 1)
-add_test(NAME bu_mappedfile_serial_16 COMMAND bu_test mappedfile 1 16)
-add_test(NAME bu_mappedfile_parallel_16 COMMAND bu_test mappedfile 2 16)
-add_test(NAME bu_mappedfile_serial_128 COMMAND bu_test mappedfile 1 128)
-add_test(NAME bu_mappedfile_parallel_128 COMMAND bu_test mappedfile 2 128)
-add_test(NAME bu_mappedfile_serial_1024 COMMAND bu_test mappedfile 1 1024)
-add_test(NAME bu_mappedfile_parallel_1024 COMMAND bu_test mappedfile 2 1024)
-add_test(NAME bu_mappedfile_serial_2048 COMMAND bu_test mappedfile 1 2048)
-add_test(NAME bu_mappedfile_parallel_2048 COMMAND bu_test mappedfile 2 2048)
-add_test(NAME bu_mappedfile_serial_16384 COMMAND bu_test mappedfile 1 16384)
-add_test(NAME bu_mappedfile_parallel_16384 COMMAND bu_test mappedfile 2 16384)
-add_test(NAME bu_mappedfile_repeat_serial_10 COMMAND bu_test mappedfile 3 10)
-add_test(NAME bu_mappedfile_repeat_parallel_10 COMMAND bu_test mappedfile 4 10)
-#add_test(NAME bu_mappedfile_parallel_free COMMAND bu_test mappedfile 5)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_1 GROUP bu COMMAND bu_test 
mappedfile 1 1)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_1 GROUP bu COMMAND bu_test 
mappedfile 2 1)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_16 GROUP bu COMMAND bu_test 
mappedfile 1 16)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_16 GROUP bu COMMAND bu_test 
mappedfile 2 16)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_128 GROUP bu COMMAND bu_test 
mappedfile 1 128)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_128 GROUP bu COMMAND bu_test 
mappedfile 2 128)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_1024 GROUP bu COMMAND bu_test 
mappedfile 1 1024)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_1024 GROUP bu COMMAND bu_test 
mappedfile 2 1024)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_2048 GROUP bu COMMAND bu_test 
mappedfile 1 2048)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_2048 GROUP bu COMMAND bu_test 
mappedfile 2 2048)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_serial_16384 GROUP bu COMMAND bu_test 
mappedfile 1 16384)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_16384 GROUP bu COMMAND bu_test 
mappedfile 2 16384)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_repeat_serial_10 GROUP bu COMMAND bu_test 
mappedfile 3 10)
+BRLCAD_ADD_TEST(NAME bu_mappedfile_repeat_parallel_10 GROUP bu COMMAND bu_test 
mappedfile 4 10)
+#BRLCAD_ADD_TEST(NAME bu_mappedfile_parallel_free GROUP bu COMMAND bu_test 
mappedfile 5)
 
 #
 #  *********** realpath.c tests ************
 #
-add_test(NAME bu_file_realpath_1 COMMAND bu_test realpath 1)
-add_test(NAME bu_file_realpath_2 COMMAND bu_test realpath 2)
+BRLCAD_ADD_TEST(NAME bu_file_realpath_1 GROUP bu COMMAND bu_test realpath 1)
+BRLCAD_ADD_TEST(NAME bu_file_realpath_2 GROUP bu COMMAND bu_test realpath 2)
 
 #
 #  *********** bu_dlopen/bu_dlsym test ************

Modified: brlcad/branches/mktest/src/libbu/tests/dylib/CMakeLists.txt
===================================================================
--- brlcad/branches/mktest/src/libbu/tests/dylib/CMakeLists.txt 2020-05-21 
18:00:35 UTC (rev 75882)
+++ brlcad/branches/mktest/src/libbu/tests/dylib/CMakeLists.txt 2020-05-21 
19:05:08 UTC (rev 75883)
@@ -42,6 +42,7 @@
 
 add_executable(bu_dylib run.c)
 target_link_libraries(bu_dylib libdylib libbu)
+BRLCAD_CTEST_EXEC(bu_dylib bu)
 if (CPP_DLL_DEFINES)
   set_property(TARGET bu_dylib APPEND PROPERTY COMPILE_DEFINITIONS 
BU_DYLIB_DLL_IMPORTS)
 endif (CPP_DLL_DEFINES)
@@ -50,7 +51,7 @@
 # As a build convenience, make bu_dylib depend on everything
 add_dependencies(bu_dylib plugin_1 plugin_2)
 
-add_test(NAME bu_dylib COMMAND bu_dylib)
+BRLCAD_ADD_TEST(NAME bu_dylib GROUP bu COMMAND bu_dylib)
 
 # Local Variables:
 # tab-width: 8

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