Revision: 65241
          http://sourceforge.net/p/brlcad/code/65241
Author:   starseeker
Date:     2015-06-10 16:34:55 +0000 (Wed, 10 Jun 2015)
Log Message:
-----------
Add more tests.

Modified Paths:
--------------
    brlcad/trunk/include/bu/opt.h
    brlcad/trunk/src/libbu/opt.c
    brlcad/trunk/src/libbu/tests/CMakeLists.txt
    brlcad/trunk/src/libbu/tests/opt.c

Modified: brlcad/trunk/include/bu/opt.h
===================================================================
--- brlcad/trunk/include/bu/opt.h       2015-06-10 15:44:37 UTC (rev 65240)
+++ brlcad/trunk/include/bu/opt.h       2015-06-10 16:34:55 UTC (rev 65241)
@@ -161,13 +161,11 @@
  */
 BU_EXPORT extern int bu_opt_int(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 BU_EXPORT extern int bu_opt_fastf_t(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
+BU_EXPORT extern int bu_opt_str(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 BU_EXPORT extern int bu_opt_vls(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 BU_EXPORT extern int bu_opt_bool(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 /* TODO - unimplemented */
 BU_EXPORT extern int bu_opt_long(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
-BU_EXPORT extern int bu_opt_float(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
-BU_EXPORT extern int bu_opt_double(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
-BU_EXPORT extern int bu_opt_ascii(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 BU_EXPORT extern int bu_opt_utf8(struct bu_vls *msg, int argc, const char 
**argv, void *set_var);
 
 

Modified: brlcad/trunk/src/libbu/opt.c
===================================================================
--- brlcad/trunk/src/libbu/opt.c        2015-06-10 15:44:37 UTC (rev 65240)
+++ brlcad/trunk/src/libbu/opt.c        2015-06-10 16:34:55 UTC (rev 65241)
@@ -530,6 +530,34 @@
 }
 
 int
+bu_opt_long(struct bu_vls *msg, int argc, const char **argv, void *set_var)
+{
+    long int l;
+    char *endptr = NULL;
+    long *long_set = (long *)set_var;
+
+    if (!argv || !argv[0] || strlen(argv[0]) == 0 || argc != 1 ) {
+       return 0;
+    }
+
+    l = strtol(argv[0], &endptr, 0);
+
+    if (endptr != NULL && strlen(endptr) > 0) {
+       /* Had some invalid character in the input, fail */
+       if (msg) bu_vls_printf(msg, "Invalid string specifier for int: %s\n", 
argv[0]);
+       return -1;
+    }
+
+    if (errno == ERANGE) {
+       if (msg) bu_vls_printf(msg, "Invalid input for int (range error): 
%s\n", argv[0]);
+       return -1;
+    }
+
+    if (long_set) (*long_set) = l;
+    return 1;
+}
+
+int
 bu_opt_fastf_t(struct bu_vls *msg, int argc, const char **argv, void *set_var)
 {
     fastf_t f;
@@ -564,6 +592,17 @@
 }
 
 int
+bu_opt_str(struct bu_vls *UNUSED(msg), int argc, const char **argv, void 
*set_var)
+{
+    const char **s_set = (const char **)set_var;
+
+    if (!argv || !argv[0] || strlen(argv[0]) == 0 || argc != 1 ) return 0;
+
+    if (s_set) (*s_set) = argv[0];
+    return 1;
+}
+
+int
 bu_opt_vls(struct bu_vls *UNUSED(msg), int argc, const char **argv, void 
*set_var)
 {
     struct bu_vls *s_set = (struct bu_vls *)set_var;

Modified: brlcad/trunk/src/libbu/tests/CMakeLists.txt
===================================================================
--- brlcad/trunk/src/libbu/tests/CMakeLists.txt 2015-06-10 15:44:37 UTC (rev 
65240)
+++ brlcad/trunk/src/libbu/tests/CMakeLists.txt 2015-06-10 16:34:55 UTC (rev 
65241)
@@ -434,65 +434,74 @@
 #
 
 BRLCAD_ADDEXEC(tester_bu_opt opt.c libbu NO_INSTALL)
-add_test(NAME bu_opt_null  COMMAND tester_bu_opt 0 0)
-add_test(NAME bu_opt_1_v_00  COMMAND tester_bu_opt 1 0)
-add_test(NAME bu_opt_1_v_01  COMMAND tester_bu_opt 1 1)
-add_test(NAME bu_opt_1_v_02  COMMAND tester_bu_opt 1 2)
-add_test(NAME bu_opt_1_v_03  COMMAND tester_bu_opt 1 3)
-add_test(NAME bu_opt_1_v_04  COMMAND tester_bu_opt 1 4)
-add_test(NAME bu_opt_1_v_05  COMMAND tester_bu_opt 1 5)
-add_test(NAME bu_opt_1_v_06  COMMAND tester_bu_opt 1 6)
-add_test(NAME bu_opt_1_v_07  COMMAND tester_bu_opt 1 7)
-add_test(NAME bu_opt_1_v_08  COMMAND tester_bu_opt 1 8)
-add_test(NAME bu_opt_1_v_09  COMMAND tester_bu_opt 1 9)
-add_test(NAME bu_opt_1_v_10  COMMAND tester_bu_opt 1 10)
-add_test(NAME bu_opt_1_v_11  COMMAND tester_bu_opt 1 11)
-add_test(NAME bu_opt_1_v_12  COMMAND tester_bu_opt 1 12)
-add_test(NAME bu_opt_1_v_13  COMMAND tester_bu_opt 1 13)
-add_test(NAME bu_opt_1_v_14  COMMAND tester_bu_opt 1 14)
+add_test(NAME bu_opt_null  COMMAND tester_bu_opt 0 0 0)
 
-add_test(NAME bu_opt_1_h_01  COMMAND tester_bu_opt 1 15)
-add_test(NAME bu_opt_1_h_02  COMMAND tester_bu_opt 1 16)
-add_test(NAME bu_opt_1_h_03  COMMAND tester_bu_opt 1 17)
-add_test(NAME bu_opt_1_h_04  COMMAND tester_bu_opt 1 18)
-add_test(NAME bu_opt_1_h_05  COMMAND tester_bu_opt 1 19)
-add_test(NAME bu_opt_1_h_06  COMMAND tester_bu_opt 1 20)
-add_test(NAME bu_opt_1_h_07  COMMAND tester_bu_opt 1 21)
-add_test(NAME bu_opt_1_h_08  COMMAND tester_bu_opt 1 22)
-add_test(NAME bu_opt_1_h_09  COMMAND tester_bu_opt 1 23)
-add_test(NAME bu_opt_1_h_10  COMMAND tester_bu_opt 1 24)
+# Verbosity (custom handler) testing
+add_test(NAME bu_opt_1_v_00  COMMAND tester_bu_opt 1 v 0)
+add_test(NAME bu_opt_1_v_01  COMMAND tester_bu_opt 1 v 1)
+add_test(NAME bu_opt_1_v_02  COMMAND tester_bu_opt 1 v 2)
+add_test(NAME bu_opt_1_v_03  COMMAND tester_bu_opt 1 v 3)
+add_test(NAME bu_opt_1_v_04  COMMAND tester_bu_opt 1 v 4)
+add_test(NAME bu_opt_1_v_05  COMMAND tester_bu_opt 1 v 5)
+add_test(NAME bu_opt_1_v_06  COMMAND tester_bu_opt 1 v 6)
+add_test(NAME bu_opt_1_v_07  COMMAND tester_bu_opt 1 v 7)
+add_test(NAME bu_opt_1_v_08  COMMAND tester_bu_opt 1 v 8)
+add_test(NAME bu_opt_1_v_09  COMMAND tester_bu_opt 1 v 9)
+add_test(NAME bu_opt_1_v_10  COMMAND tester_bu_opt 1 v 10)
+add_test(NAME bu_opt_1_v_11  COMMAND tester_bu_opt 1 v 11)
+add_test(NAME bu_opt_1_v_12  COMMAND tester_bu_opt 1 v 12)
+add_test(NAME bu_opt_1_v_13  COMMAND tester_bu_opt 1 v 13)
+add_test(NAME bu_opt_1_v_14  COMMAND tester_bu_opt 1 v 14)
 
-add_test(NAME bu_opt_1_b_01  COMMAND tester_bu_opt 1 25)
-add_test(NAME bu_opt_1_b_02  COMMAND tester_bu_opt 1 26)
-add_test(NAME bu_opt_1_b_03  COMMAND tester_bu_opt 1 27)
-add_test(NAME bu_opt_1_b_04  COMMAND tester_bu_opt 1 28)
+# Help option testing
+add_test(NAME bu_opt_1_h_01  COMMAND tester_bu_opt 1 h 1)
+add_test(NAME bu_opt_1_h_02  COMMAND tester_bu_opt 1 h 2)
+add_test(NAME bu_opt_1_h_03  COMMAND tester_bu_opt 1 h 3)
+add_test(NAME bu_opt_1_h_04  COMMAND tester_bu_opt 1 h 4)
+add_test(NAME bu_opt_1_h_05  COMMAND tester_bu_opt 1 h 5)
+add_test(NAME bu_opt_1_h_06  COMMAND tester_bu_opt 1 h 6)
+add_test(NAME bu_opt_1_h_07  COMMAND tester_bu_opt 1 h 7)
+add_test(NAME bu_opt_1_h_08  COMMAND tester_bu_opt 1 h 8)
+add_test(NAME bu_opt_1_h_09  COMMAND tester_bu_opt 1 h 9)
+add_test(NAME bu_opt_1_h_10  COMMAND tester_bu_opt 1 h 10)
 
+add_test(NAME bu_opt_1_b_01  COMMAND tester_bu_opt 1 b 1)
+add_test(NAME bu_opt_1_b_02  COMMAND tester_bu_opt 1 b 2)
+add_test(NAME bu_opt_1_b_03  COMMAND tester_bu_opt 1 b 3)
+add_test(NAME bu_opt_1_b_04  COMMAND tester_bu_opt 1 b 4)
 
-add_test(NAME bu_opt_2_color_00  COMMAND tester_bu_opt 2 0)
-add_test(NAME bu_opt_2_color_01  COMMAND tester_bu_opt 2 1)
-add_test(NAME bu_opt_2_color_02  COMMAND tester_bu_opt 2 2)
-add_test(NAME bu_opt_2_color_03  COMMAND tester_bu_opt 2 3)
-add_test(NAME bu_opt_2_color_04  COMMAND tester_bu_opt 2 4)
-add_test(NAME bu_opt_2_color_05  COMMAND tester_bu_opt 2 5)
-add_test(NAME bu_opt_2_color_06  COMMAND tester_bu_opt 2 6)
-add_test(NAME bu_opt_2_color_07  COMMAND tester_bu_opt 2 7)
-add_test(NAME bu_opt_2_color_08  COMMAND tester_bu_opt 2 8)
-add_test(NAME bu_opt_2_color_09  COMMAND tester_bu_opt 2 9)
-add_test(NAME bu_opt_2_color_10  COMMAND tester_bu_opt 2 10)
-add_test(NAME bu_opt_2_color_11  COMMAND tester_bu_opt 2 11)
-add_test(NAME bu_opt_2_color_12  COMMAND tester_bu_opt 2 12)
-add_test(NAME bu_opt_2_color_13  COMMAND tester_bu_opt 2 13)
-add_test(NAME bu_opt_2_color_14  COMMAND tester_bu_opt 2 14)
-add_test(NAME bu_opt_2_color_15  COMMAND tester_bu_opt 2 15)
+add_test(NAME bu_opt_1_s_01  COMMAND tester_bu_opt 1 s 1)
+add_test(NAME bu_opt_1_s_02  COMMAND tester_bu_opt 1 s 2)
 
-add_test(NAME bu_opt_3_00  COMMAND tester_bu_opt 3 0)
-add_test(NAME bu_opt_3_01  COMMAND tester_bu_opt 3 1)
-add_test(NAME bu_opt_3_02  COMMAND tester_bu_opt 3 2)
-add_test(NAME bu_opt_3_03  COMMAND tester_bu_opt 3 3)
-add_test(NAME bu_opt_3_04  COMMAND tester_bu_opt 3 4)
-add_test(NAME bu_opt_3_05  COMMAND tester_bu_opt 3 5)
-add_test(NAME bu_opt_3_06  COMMAND tester_bu_opt 3 6)
+add_test(NAME bu_opt_1_i_01  COMMAND tester_bu_opt 1 i 1)
+add_test(NAME bu_opt_1_i_02  COMMAND tester_bu_opt 1 i 2)
+add_test(NAME bu_opt_1_i_03  COMMAND tester_bu_opt 1 i 3)
+add_test(NAME bu_opt_1_i_04  COMMAND tester_bu_opt 1 i 4)
 
+add_test(NAME bu_opt_1_l_01  COMMAND tester_bu_opt 1 l 1)
+add_test(NAME bu_opt_1_l_02  COMMAND tester_bu_opt 1 l 2)
+
+add_test(NAME bu_opt_1_f_01  COMMAND tester_bu_opt 1 f 1)
+add_test(NAME bu_opt_1_f_02  COMMAND tester_bu_opt 1 f 2)
+add_test(NAME bu_opt_1_f_03  COMMAND tester_bu_opt 1 f 3)
+
+add_test(NAME bu_opt_2_color_00  COMMAND tester_bu_opt 2 C 0)
+add_test(NAME bu_opt_2_color_01  COMMAND tester_bu_opt 2 C 1)
+add_test(NAME bu_opt_2_color_02  COMMAND tester_bu_opt 2 C 2)
+add_test(NAME bu_opt_2_color_03  COMMAND tester_bu_opt 2 C 3)
+add_test(NAME bu_opt_2_color_04  COMMAND tester_bu_opt 2 C 4)
+add_test(NAME bu_opt_2_color_05  COMMAND tester_bu_opt 2 C 5)
+add_test(NAME bu_opt_2_color_06  COMMAND tester_bu_opt 2 C 6)
+add_test(NAME bu_opt_2_color_07  COMMAND tester_bu_opt 2 C 7)
+add_test(NAME bu_opt_2_color_08  COMMAND tester_bu_opt 2 C 8)
+add_test(NAME bu_opt_2_color_09  COMMAND tester_bu_opt 2 C 9)
+add_test(NAME bu_opt_2_color_10  COMMAND tester_bu_opt 2 C 10)
+add_test(NAME bu_opt_2_color_11  COMMAND tester_bu_opt 2 C 11)
+add_test(NAME bu_opt_2_color_12  COMMAND tester_bu_opt 2 C 12)
+add_test(NAME bu_opt_2_color_13  COMMAND tester_bu_opt 2 C 13)
+add_test(NAME bu_opt_2_color_14  COMMAND tester_bu_opt 2 C 14)
+add_test(NAME bu_opt_2_color_15  COMMAND tester_bu_opt 2 C 15)
+
 #
 #  *********** date-time.c tests ************
 #

Modified: brlcad/trunk/src/libbu/tests/opt.c
===================================================================
--- brlcad/trunk/src/libbu/tests/opt.c  2015-06-10 15:44:37 UTC (rev 65240)
+++ brlcad/trunk/src/libbu/tests/opt.c  2015-06-10 16:34:55 UTC (rev 65241)
@@ -51,10 +51,6 @@
     return 1;
 }
 
-#define voff 0
-#define hoff 15
-#define boff 25
-
 void
 set_msg_str(struct bu_vls *msg, int ac, const char **av)
 {
@@ -110,6 +106,15 @@
     } \
 }
 
+#define EXPECT_SUCCESS_STRING(_name, _var, _exp) { \
+    if (ret || !BU_STR_EQUAL(_var, _exp)) { \
+       bu_vls_printf(&parse_msgs, "\nError - expected value \"%s\" and got 
value %s\n", _exp, _var); \
+       val_ok = 0; \
+    } else { \
+       bu_vls_printf(&parse_msgs, "  \nGot expected value: %s = %s\n", _name, 
_var); \
+    } \
+}
+
 #define EXPECT_SUCCESS_COLOR(_name, _color, _r, _g, _b) { \
     if (ret || (!NEAR_EQUAL(_color.buc_rgb[0], _r, SMALL_FASTF) || 
!NEAR_EQUAL(_color.buc_rgb[1], _g, SMALL_FASTF) || 
!NEAR_EQUAL(_color.buc_rgb[2], _b, SMALL_FASTF))) { \
        bu_vls_printf(&parse_msgs, "\nError - expected value \"%d/%d/%d\" and 
got value %.0f/%.0f/%.0f\n", _r, _g, _b, _color.buc_rgb[0], _color.buc_rgb[1], 
_color.buc_rgb[2]); \
@@ -144,24 +149,32 @@
 }
 
 
-int desc_1(int test_num)
+int desc_1(const char *cgy, int test_num)
 {
     static int print_help = 0;
     static int verbosity = 0;
     static int b = -1;
+    static const char *str = NULL;
+    static int i = 0;
+    static long l = 0;
+    static fastf_t f = 0;
 
     /* Option descriptions */
-    struct bu_opt_desc d[5] = {
-       {"h", "help",      0, 0, NULL,     (void *)&print_help, "",     
help_str},
-       {"?", "",          0, 0, NULL,     (void *)&print_help, "",     
help_str},
-       {"v", "verbosity", 0, 1, &d1_verb, (void *)&verbosity,  "#",    "Set 
verbosity (range is 0 to 3)"},
-       {"b", "bool",      1, 1, &bu_opt_bool, (void *)&b,      "bool", "Set 
verbosity (range is 0 to 3)"},
+    struct bu_opt_desc d[9] = {
+       {"h", "help",    0, 0, NULL,     (void *)&print_help, "",       
help_str},
+       {"?", "",        0, 0, NULL,     (void *)&print_help, "",       
help_str},
+       {"v", "verb",    0, 1, &d1_verb, (void *)&verbosity,  "#",      "Set 
verbosity (range is 0 to 3)"},
+       {"b", "bool",    1, 1, &bu_opt_bool, (void *)&b,      "bool",   "Set 
boolean flag"},
+       {"s", "str",     1, 1, &bu_opt_str,  (void *)&str,    "string", "Set 
string"},
+       {"i", "int",     1, 1, &bu_opt_int,  (void *)&i,      "#",      "Set 
int"},
+       {"l", "long",    1, 1, &bu_opt_long, (void *)&l,      "#",      "Set 
long"},
+       {"f", "fastf_t", 1, 1, &bu_opt_fastf_t, (void *)&f,   "#",      "Read 
float"},
        BU_OPT_DESC_NULL
     };
 
     int ac = 0;
     int val_ok = 1;
-    int ret = 0;
+    int ret = -1;
     int containers = 6;
     const char **av;
     const char **unknown;
@@ -170,231 +183,396 @@
     av = (const char **)bu_calloc(containers, sizeof(char *), "Input array");
     unknown = (const char **)bu_calloc(containers, sizeof(char *), "unknown 
results");
 
-    switch (test_num) {
-       /* Verbosity option tests */
-       case voff:
-           ret = bu_opt_parse(&unknown, 0, &parse_msgs, 0, NULL, d);
-           ret = (ret == -1) ? 0 : -1;
-           break;
-       case voff+1:
-           ac = 1;
-           av[0] = "-v";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+2:
-           ac = 1;
-           av[0] = "-v1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+3:
-           ac = 2;
-           av[0] = "-v";
-           av[1] = "1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+4:
-           ac = 1;
-           av[0] = "-v=1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+5:
-           ac = 2;
-           av[0] = "--v";
-           av[1] = "1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+6:
-           ac = 1;
-           av[0] = "--v=1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       case voff+7:
-           ac = 2;
-           av[0] = "-v";
-           av[1] = "2";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
-           break;
-       case voff+8:
-           ac = 2;
-           av[0] = "-v";
-           av[1] = "4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("verbosity", "4 > 3");
-           break;
-       case voff+9:
-           ac = 2;
-           av[0] = "--verbosity";
-           av[1] = "2";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
-           break;
-       case voff+10:
-           ac = 2;
-           av[0] = "--verbosity";
-           av[1] = "4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("verbosity", "4 > 3");
-           break;
-       case voff+11:
-           ac = 1;
-           av[0] = "--verbosity=2";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
-           break;
-       case voff+12:
-           ac = 1;
-           av[0] = "--verbosity=4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("verbosity", "4 > 3");
-           break;
-       case voff+13:
-           ac = 1;
-           av[0] = "--v";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           if (ret || verbosity != 1) {
-               bu_vls_printf(&parse_msgs, "\nError - expected value \"1\" and 
got value %d\n", verbosity);
-               val_ok = 0;
-           } else {
-               bu_vls_printf(&parse_msgs, "  OK\nverbosity = %d\n", verbosity);
+    if (cgy[0] == 'v') {
+       switch (test_num) {
+           /* Verbosity option tests */
+           case 0:
+               ret = bu_opt_parse(&unknown, 0, &parse_msgs, 0, NULL, d);
+               ret = (ret == -1) ? 0 : -1;
+               break;
+           case 1:
+               ac = 1;
+               av[0] = "-v";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 2:
+               ac = 1;
+               av[0] = "-v1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 3:
+               ac = 2;
+               av[0] = "-v";
+               av[1] = "1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 4:
+               ac = 1;
+               av[0] = "-v=1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 5:
+               ac = 2;
+               av[0] = "--v";
+               av[1] = "1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 6:
+               ac = 1;
+               av[0] = "--v=1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 7:
+               ac = 2;
+               av[0] = "-v";
+               av[1] = "2";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
+               break;
+           case 8:
+               ac = 2;
+               av[0] = "-v";
+               av[1] = "4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("verbosity", "4 > 3");
+               break;
+           case 9:
+               ac = 2;
+               av[0] = "--verb";
+               av[1] = "2";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
+               break;
+           case 10:
+               ac = 2;
+               av[0] = "--verb";
+               av[1] = "4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("verbosity", "4 > 3");
+               break;
+           case 11:
+               ac = 1;
+               av[0] = "--verb=2";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 2);
+               break;
+           case 12:
+               ac = 1;
+               av[0] = "--verb=4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("verbosity", "4 > 3");
+               break;
+           case 13:
+               ac = 1;
+               av[0] = "--v";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           case 14:
+               ac = 1;
+               av[0] = "--verb";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
+               break;
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+       }
+    }
+    if (cgy[0] == 'h') {
+       switch (test_num) {
+           /* Help option tests */
+           case 1:
+               ac = 1;
+               av[0] = "-h";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("print_help", print_help, 1);
+               break;
+           case 2:
+               ac = 1;
+               av[0] = "-?";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("print_help", print_help, 1);
+               break;
+           case 3:
+               ac = 1;
+               av[0] = "--help";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("print_help", print_help, 1);
+               break;
+           case 4:
+               ac = 1;
+               av[0] = "--help=4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("print_help", "extra arg");
+               break;
+           case 5:
+               ac = 1;
+               av[0] = "-?4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("print_help", "extra arg");
+               break;
+           case 6:
+               ac = 2;
+               av[0] = "-?";
+               av[1] = "4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT_UNKNOWN("print_help", print_help, 1);
+               break;
+           case 7:
+               ac = 1;
+               av[0] = "-?=4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("print_help", "extra arg");
+               break;
+           case 8:
+               ac = 1;
+               av[0] = "--?4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE_INT_UNKNOWN("print_help", print_help, 1);
+               break;
+           case 9:
+               ac = 2;
+               av[0] = "--?";
+               av[1] = "4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT_UNKNOWN("print_help", print_help, 1);
+               break;
+           case 10:
+               ac = 1;
+               av[0] = "--?=4";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("print_help", "extra arg");
+               break;
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+       }
+    }
+    if (cgy[0] == 'b') {
+       switch (test_num) {
+           /* boolean option tests */
+           case 1:
+               ac = 2;
+               av[0] = "-b";
+               av[1] = "true";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("bool", b, 1);
+               break;
+           case 2:
+               ac = 2;
+               av[0] = "-b";
+               av[1] = "false";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("bool", b, 0);
+               break;
+           case 3:
+               ac = 2;
+               av[0] = "--bool";
+               av[1] = "1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("bool", b, 1);
+               break;
+           case 4:
+               ac = 2;
+               av[0] = "--bool";
+               av[1] = "0";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("bool", b, 0);
+               break;
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+       }
+    }
+    if (cgy[0] == 's') {
+       switch (test_num) {
+           /* string option tests */
+           case 1:
+               ac = 1;
+               av[0] = "-s";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("string", "missing argument");
+               break;
+           case 2:
+               ac = 2;
+               av[0] = "-s";
+               av[1] = "test_str";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_STRING("string", str, "test_str");
+               break;
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+       }
+    }
+    if (cgy[0] == 'i') {
+       /* int option tests */
+       switch(test_num) {
+           case 1:
+               ac = 1;
+               av[0] = "-i";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("int_num", "missing arg");
+               break;
+           case 2:
+               ac = 2;
+               av[0] = "-i";
+               av[1] = "-f";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("int_num", "invalid arg");
+               break;
+           case 3:
+               ac = 2;
+               av[0] = "-i";
+               av[1] = "1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("int_num", i, 1);
+               break;
+           case 4:
+               ac = 2;
+               av[0] = "-i";
+               av[1] = "-1";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_INT("int_num", i, -1);
+               break;
+           case 5:
+               ac = 2;
+               av[0] = "-i";
+               av[1] = "214748364700";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_FAILURE("int_num", "number too large for int container");
+               break;
+
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+
+       }
+    }
+    if (cgy[0] == 'l') {
+       /* long option tests */
+       if (INT_MAX != LONG_MAX) {
+           switch(test_num) {
+               case 1:
+                   ac = 2;
+                   av[0] = "-l";
+                   av[1] = "214748364800";
+                   set_msg_str(&parse_msgs, ac, av);
+                   ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, 
av, d);
+                   EXPECT_SUCCESS_INT("long_num", l, 214748364800);
+                   break;
+               case 2:
+                   ac = 2;
+                   av[0] = "-l";
+                   av[1] = "-214748364800";
+                   set_msg_str(&parse_msgs, ac, av);
+                   ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, 
av, d);
+                   EXPECT_SUCCESS_INT("long_num", l, -214748364800);
+                   break;
+               default:
+                   bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+                   return -1;
+
            }
-           break;
-       case voff+14:
-           ac = 1;
-           av[0] = "--verbosity";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("verbosity", verbosity, 1);
-           break;
-       /* Help option tests */
-       case hoff:
-           ac = 1;
-           av[0] = "-h";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("print_help", print_help, 1);
-           break;
-       case hoff + 1:
-           ac = 1;
-           av[0] = "-?";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("print_help", print_help, 1);
-           break;
-       case hoff + 2:
-           ac = 1;
-           av[0] = "--help";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("print_help", print_help, 1);
-           break;
-       case hoff + 3:
-           ac = 1;
-           av[0] = "--help=4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("print_help", "extra arg");
-           break;
-       case hoff + 4:
-           ac = 1;
-           av[0] = "-?4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("print_help", "extra arg");
-           break;
-       case hoff + 5:
-           ac = 2;
-           av[0] = "-?";
-           av[1] = "4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT_UNKNOWN("print_help", print_help, 1);
-           break;
-       case hoff + 6:
-           ac = 1;
-           av[0] = "-?=4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("print_help", "extra arg");
-           break;
-       case hoff + 7:
-           ac = 1;
-           av[0] = "--?4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE_INT_UNKNOWN("print_help", print_help, 1);
-           break;
-       case hoff + 8:
-           ac = 2;
-           av[0] = "--?";
-           av[1] = "4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT_UNKNOWN("print_help", print_help, 1);
-           break;
-       case hoff + 9:
-           ac = 1;
-           av[0] = "--?=4";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("print_help", "extra arg");
-           break;
-       case boff:
-           ac = 2;
-           av[0] = "-b";
-           av[1] = "true";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("bool", b, 1);
-           break;
-       case boff  + 1:
-           ac = 2;
-           av[0] = "-b";
-           av[1] = "false";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("bool", b, 0);
-           break;
-       case boff  + 2:
-           ac = 2;
-           av[0] = "--bool";
-           av[1] = "1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("bool", b, 1);
-           break;
-       case boff  + 3:
-           ac = 2;
-           av[0] = "--bool";
-           av[1] = "0";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("bool", b, 0);
-           break;
-       default:
-           bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
-           return -1;
+       } else {
+           switch(test_num) {
+               case 1:
+                   ac = 2;
+                   av[0] = "-l";
+                   av[1] = "21474836";
+                   set_msg_str(&parse_msgs, ac, av);
+                   ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, 
av, d);
+                   EXPECT_SUCCESS_INT("long_num", l, 21474836);
+                   break;
+               case 2:
+                   ac = 2;
+                   av[0] = "-l";
+                   av[1] = "-21474836";
+                   set_msg_str(&parse_msgs, ac, av);
+                   ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, 
av, d);
+                   EXPECT_SUCCESS_INT("long_num", l, -21474836);
+                   break;
+               default:
+                   bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+                   return -1;
+
+           }
+       }
     }
+    if (cgy[0] == 'f') {
+       /* fastf_t option tests */
+       switch (test_num) {
+           case 1:
+               ac = 2;
+               av[0] = "-f";
+               av[1] = "1.234";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_FLOAT("float_num", f, 1.234);
+               break;
+           case 2:
+               ac = 2;
+               av[0] = "-f";
+               av[1] = "-1.234";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_FLOAT("float_num", f, -1.234);
+               break;
+           case 3:
+               ac = 2;
+               av[0] = "-f";
+               av[1] = "-3.0e-3";
+               set_msg_str(&parse_msgs, ac, av);
+               ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, 
d);
+               EXPECT_SUCCESS_FLOAT("float_num", f, -0.003);
+               break;
+           default:
+               bu_vls_printf(&parse_msgs, "unknown test: %d\n", test_num);
+               return -1;
+       }
+    }
 
     if (ret > 0) {
        int u = 0;
@@ -654,120 +832,18 @@
 }
 
 
-int desc_3(int test_num)
-{
-    static int print_help = 0;
-    static int int_num = 0;
-    static fastf_t float_num = 0;
-
-    struct bu_opt_desc d[4] = {
-       {"h", "help",    0, 0, NULL,            (void *)&print_help, "", 
help_str},
-       {"n", "num",     1, 1, &bu_opt_int,     (void *)&int_num, "#", "Read 
int"},
-       {"f", "fastf_t", 1, 1, &bu_opt_fastf_t, (void *)&float_num, "#", "Read 
float"},
-       BU_OPT_DESC_NULL
-    };
-
-    int containers = 6;
-    int val_ok = 1;
-    int ac = 0;
-    const char **av;
-    const char **unknown;
-    struct bu_vls parse_msgs = BU_VLS_INIT_ZERO;
-    int ret = 0;
-
-    av = (const char **)bu_calloc(containers, sizeof(char *), "Input array");
-    unknown = (const char **)bu_calloc(containers, sizeof(char *), "unknown 
results");
-
-    switch (test_num) {
-       case 0:
-           ret = bu_opt_parse(&unknown, 0, &parse_msgs, 0, NULL, d);
-           ret = (ret == -1) ? 0 : -1;
-           break;
-       case 1:
-           ac = 1;
-           av[0] = "-n";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("int_num", "missing arg");
-           break;
-       case 2:
-           ac = 2;
-           av[0] = "-n";
-           av[1] = "-f";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_FAILURE("int_num", "invalid arg");
-           break;
-       case 3:
-           ac = 2;
-           av[0] = "-n";
-           av[1] = "1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("int_num", int_num, 1);
-           break;
-       case 4:
-           ac = 2;
-           av[0] = "-n";
-           av[1] = "-1";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_INT("int_num", int_num, -1);
-           break;
-       case 5:
-           ac = 2;
-           av[0] = "-f";
-           av[1] = "-3.0e-3";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_FLOAT("float_num", float_num, -0.003);
-           break;
-       case 6:
-           ac = 4;
-           av[0] = "-n";
-           av[1] = "2";
-           av[2] = "-f";
-           av[3] = "0.01";
-           set_msg_str(&parse_msgs, ac, av);
-           ret = bu_opt_parse(&unknown, containers, &parse_msgs, ac, av, d);
-           EXPECT_SUCCESS_FLOAT("int_num", int_num, 2);
-           EXPECT_SUCCESS_FLOAT("float_num", float_num, 0.01);
-           break;
-    }
-
-    if (ret > 0) {
-       int u = 0;
-       bu_vls_printf(&parse_msgs, "\nUnknown args: ");
-       for (u = 0; u < ret - 1; u++) {
-           bu_vls_printf(&parse_msgs, "%s, ", unknown[u]);
-       }
-       bu_vls_printf(&parse_msgs, "%s\n", unknown[ret - 1]);
-    }
-
-    ret = (!val_ok) ? -1 : 0;
-
-    if (bu_vls_strlen(&parse_msgs) > 0) {
-       bu_log("%s\n", bu_vls_addr(&parse_msgs));
-    }
-    bu_vls_free(&parse_msgs);
-    bu_free(av, "free av");
-    bu_free(unknown, "free av");
-    return ret;
-
-}
-
-
 int
 main(int argc, const char **argv)
 {
-    int ret = 0;
+    int ret = -1;
     long desc_num;
     long test_num;
+    const char *cgy = NULL;
     char *endptr = NULL;
 
     /* Sanity check */
-    if (argc < 3)
-       bu_exit(1, "ERROR: wrong number of parameters - need option num and 
test num");
+    if (argc < 4)
+       bu_exit(1, "ERROR: wrong number of parameters - need option desc num, 
category and test num");
 
     /* Set the option description to used based on the input number */
     desc_num = strtol(argv[1], &endptr, 0);
@@ -775,7 +851,9 @@
        bu_exit(1, "Invalid desc number: %s\n", argv[1]);
     }
 
-    test_num = strtol(argv[2], &endptr, 0);
+    cgy = argv[2];
+
+    test_num = strtol(argv[3], &endptr, 0);
     if (endptr && strlen(endptr) != 0) {
        bu_exit(1, "Invalid test number: %s\n", argv[2]);
     }
@@ -784,14 +862,11 @@
        case 0:
            ret = bu_opt_parse(NULL, 0, NULL, 0, NULL, NULL);
        case 1:
-           ret = desc_1(test_num);
+           ret = desc_1(cgy, test_num);
            break;
        case 2:
            ret = desc_2(test_num);
            break;
-       case 3:
-           ret = desc_3(test_num);
-           break;
     }
 
     return ret;

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