static void do_default_order_test(struct fastbuf *out)
{
table_init(&test_default_order_tbl);
- test_default_order_tbl.out = out;
- table_start(&test_default_order_tbl);
+ table_start(&test_default_order_tbl, out);
- table_set_int(&test_default_order_tbl, test_default_order_col0_int, 0);
- table_set_int(&test_default_order_tbl, test_default_order_col1_int, 1);
- table_set_int(&test_default_order_tbl, test_default_order_col2_int, 2);
+ table_col_int(&test_default_order_tbl, test_default_order_col0_int, 0);
+ table_col_int(&test_default_order_tbl, test_default_order_col1_int, 1);
+ table_col_int(&test_default_order_tbl, test_default_order_col2_int, 2);
table_end_row(&test_default_order_tbl);
- table_set_int(&test_default_order_tbl, test_default_order_col0_int, 10);
- table_set_int(&test_default_order_tbl, test_default_order_col1_int, 11);
- table_set_int(&test_default_order_tbl, test_default_order_col2_int, 12);
+ table_col_int(&test_default_order_tbl, test_default_order_col0_int, 10);
+ table_col_int(&test_default_order_tbl, test_default_order_col1_int, 11);
+ table_col_int(&test_default_order_tbl, test_default_order_col2_int, 12);
table_end_row(&test_default_order_tbl);
table_end(&test_default_order_tbl);
}
/**
- * tests: table_set_nt, table_set_uint, table_set_bool, table_set_double, table_set_printf
+ * tests: table_col_int, table_col_uint, table_col_bool, table_col_double, table_col_printf
**/
static void do_print1(struct table *test_tbl)
{
- table_set_str(test_tbl, test_col0_str, "sdsdf");
+ table_col_str(test_tbl, test_col0_str, "sdsdf");
table_append_str(test_tbl, "aaaaa");
- table_set_int(test_tbl, test_col1_int, -10);
- table_set_int(test_tbl, test_col1_int, 10000);
- table_set_uint(test_tbl, test_col2_uint, 10);
- table_set_printf(test_tbl, test_col2_uint, "XXX-%u", 22222);
- table_set_bool(test_tbl, test_col3_bool, 1);
- table_set_double(test_tbl, test_col4_double, 1.5);
+ table_col_int(test_tbl, test_col1_int, -10);
+ table_col_int(test_tbl, test_col1_int, 10000);
+ table_col_uint(test_tbl, test_col2_uint, 10);
+ table_col_printf(test_tbl, test_col2_uint, "XXX-%u", 22222);
+ table_col_bool(test_tbl, test_col3_bool, 1);
+ table_col_double(test_tbl, test_col4_double, 1.5);
table_end_row(test_tbl);
- table_set_str(test_tbl, test_col0_str, "test");
+ table_col_str(test_tbl, test_col0_str, "test");
table_append_str(test_tbl, "bbbbb");
- table_set_int(test_tbl, test_col1_int, -100);
- table_set_uint(test_tbl, test_col2_uint, 100);
- table_set_bool(test_tbl, test_col3_bool, 0);
- table_set_double(test_tbl, test_col4_double, 1.5);
+ table_col_int(test_tbl, test_col1_int, -100);
+ table_col_uint(test_tbl, test_col2_uint, 100);
+ table_col_bool(test_tbl, test_col3_bool, 0);
+ table_col_double(test_tbl, test_col4_double, 1.5);
table_end_row(test_tbl);
}
static char **cli_table_opts;
-static int test_default_column_order;
-static int test_invalid_option;
-static int test_invalid_order;
+
+enum test_type_t {
+ TEST_DEFAULT_COLUMN_ORDER = 1,
+ TEST_INVALID_OPTION = 2,
+ TEST_INVALID_ORDER = 3
+};
+
+static int test_to_perform = -1;
static struct opt_section table_printer_opts = {
OPT_ITEMS {
OPT_HELP("Options:"),
OPT_STRING_MULTIPLE('T', "table", cli_table_opts, OPT_REQUIRED_VALUE, "\tSets options for the table."),
- OPT_BOOL('d', 0, test_default_column_order, 0, "\tRun the test that uses the default column order."),
- OPT_BOOL('i', 0, test_invalid_option, 0, "\tTest the output for invalid option."),
- OPT_BOOL('n', 0, test_invalid_order, 0, "\tTest the output for invalid names of columns for the 'cols' option."),
+ OPT_SWITCH('d', 0, test_to_perform, TEST_DEFAULT_COLUMN_ORDER, OPT_SINGLE, "\tRun the test that uses the default column order."),
+ OPT_SWITCH('i', 0, test_to_perform, TEST_INVALID_OPTION, OPT_SINGLE, "\tTest the output for invalid option."),
+ OPT_SWITCH('n', 0, test_to_perform, TEST_INVALID_ORDER, OPT_SINGLE, "\tTest the output for invalid names of columns for the 'cols' option."),
OPT_END
}
};
GARY_INIT(cli_table_opts, 0);
opt_parse(&table_printer_opts, argv+1);
-
- for(uint i = 0; i < GARY_SIZE(cli_table_opts); i++) {
- const char *rv = table_set_option(tbl, cli_table_opts[i]);
- ASSERT_MSG(rv == NULL, "Tableprinter option parser returned error: '%s'.", rv);
- }
+ table_set_gary_options(tbl, cli_table_opts);
GARY_FREE(cli_table_opts);
}
out = bfdopen_shared(1, 4096);
table_init(&test_tbl);
- test_tbl.out = out;
process_command_line_opts(argv, &test_tbl);
- if(test_invalid_order == 1) {
- const char *rv = table_set_option(&test_tbl, "cols:test_col0_str,test_col1_int,xxx");
+ const char *rv = NULL;
+ switch(test_to_perform) {
+ case TEST_INVALID_ORDER:
+ rv = table_set_option(&test_tbl, "cols:test_col0_str,test_col1_int,xxx");
if(rv) printf("Tableprinter option parser returned: '%s'.\n", rv);
return 0;
- } else if(test_default_column_order == 1) {
+ case TEST_DEFAULT_COLUMN_ORDER:
do_default_order_test(out);
bclose(out);
return 0;
- } else if(test_invalid_option == 1) {
+ case TEST_INVALID_OPTION:
test_option_parser(&test_tbl);
bclose(out);
return 0;
- }
+ };
- table_start(&test_tbl);
+ table_start(&test_tbl, out);
do_print1(&test_tbl);
table_end(&test_tbl);
table_cleanup(&test_tbl);