X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Ftest-ovsdb.c;h=5a5a9083d4525b6e10e489f53e32a45b678e1870;hb=bf9712678fc9ec85bf2ac54407e16d76aa22e7b6;hp=f516f9d27be116624bffd8738a1d235718b5b74e;hpb=9200fb9ef9a1c55a76e4c4aa789f3fb0a76f0ed1;p=openvswitch diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c index f516f9d2..5a5a9083 100644 --- a/tests/test-ovsdb.c +++ b/tests/test-ovsdb.c @@ -137,9 +137,6 @@ usage(void) " print JSON ATOMs in sorted order\n" " parse-data TYPE DATUM...\n" " parse JSON DATUMs as data of given TYPE, and re-serialize\n" - " parse-data-unique TYPE DATUM...\n" - " parse JSON DATUMs as data of given TYPE, eliminating\n" - " duplicate keys, and re-serialize\n" " parse-data-strings TYPE DATUM...\n" " parse string DATUMs as data of given TYPE, and re-serialize\n" " parse-column NAME OBJECT\n" @@ -514,12 +511,6 @@ do_parse_data(int argc, char *argv[]) do_parse_data__(argc, argv, ovsdb_datum_from_json); } -static void -do_parse_data_unique(int argc, char *argv[]) -{ - do_parse_data__(argc, argv, ovsdb_datum_from_json_unique); -} - static void do_parse_data_strings(int argc, char *argv[]) { @@ -1104,7 +1095,7 @@ do_query_distinct(int argc OVS_UNUSED, char *argv[]) size_t n_classes; struct json *json; int exit_code = 0; - size_t i, j, k; + size_t i; /* Parse table schema, create table. */ json = unbox_json(parse_json(argv[1])); @@ -1170,6 +1161,7 @@ do_query_distinct(int argc OVS_UNUSED, char *argv[]) for (i = 0; i < json->u.array.n; i++) { struct ovsdb_row_set results; struct ovsdb_condition cnd; + size_t j; check_ovsdb_error(ovsdb_condition_from_json(ts, json->u.array.elems[i], NULL, &cnd)); @@ -1180,6 +1172,8 @@ do_query_distinct(int argc OVS_UNUSED, char *argv[]) ovsdb_row_set_init(&results); ovsdb_query_distinct(table, &cnd, &columns, &results); for (j = 0; j < results.n_rows; j++) { + size_t k; + for (k = 0; k < n_rows; k++) { if (uuid_equals(ovsdb_row_get_uuid(results.rows[j]), &rows[k].uuid)) { @@ -1474,8 +1468,7 @@ do_transact_print(int argc OVS_UNUSED, char *argv[] OVS_UNUSED) n_rows = hmap_count(&do_transact_table->rows); rows = xmalloc(n_rows * sizeof *rows); i = 0; - HMAP_FOR_EACH (row, struct ovsdb_row, hmap_node, - &do_transact_table->rows) { + HMAP_FOR_EACH (row, hmap_node, &do_transact_table->rows) { rows[i++] = row; } assert(i == n_rows); @@ -1786,9 +1779,36 @@ idl_set(struct ovsdb_idl *idl, char *commands, int step) "i=%d", atoi(arg1)); } idltest_simple_delete(s); + } else if (!strcmp(name, "verify")) { + const struct idltest_simple *s; + + if (!arg2 || arg3) { + ovs_fatal(0, "\"verify\" command requires 2 arguments"); + } + + s = idltest_find_simple(idl, atoi(arg1)); + if (!s) { + ovs_fatal(0, "\"verify\" command asks for nonexistent " + "i=%d", atoi(arg1)); + } + + if (!strcmp(arg2, "i")) { + idltest_simple_verify_i(s); + } else if (!strcmp(arg2, "b")) { + idltest_simple_verify_b(s); + } else if (!strcmp(arg2, "s")) { + idltest_simple_verify_s(s); + } else if (!strcmp(arg2, "u")) { + idltest_simple_verify_s(s); + } else if (!strcmp(arg2, "r")) { + idltest_simple_verify_r(s); + } else { + ovs_fatal(0, "\"verify\" command asks for unknown column %s", + arg2); + } } else if (!strcmp(name, "increment")) { if (!arg2 || arg3) { - ovs_fatal(0, "\"set\" command requires 2 arguments"); + ovs_fatal(0, "\"increment\" command requires 2 arguments"); } ovsdb_idl_txn_increment(txn, arg1, arg2, NULL); increment = true; @@ -1842,7 +1862,6 @@ do_idl(int argc, char *argv[]) for (i = 2; i < argc; i++) { char *arg = argv[i]; struct jsonrpc_msg *request, *reply; - int error; if (*arg == '+') { /* The previous transaction didn't change anything. */ @@ -1908,7 +1927,6 @@ static struct command all_commands[] = { { "parse-atoms", 2, INT_MAX, do_parse_atoms }, { "parse-atom-strings", 2, INT_MAX, do_parse_atom_strings }, { "parse-data", 2, INT_MAX, do_parse_data }, - { "parse-data-unique", 2, INT_MAX, do_parse_data_unique }, { "parse-data-strings", 2, INT_MAX, do_parse_data_strings }, { "sort-atoms", 2, 2, do_sort_atoms }, { "parse-column", 2, 2, do_parse_column },