X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-ovsdb.c;h=1cdf69ae88667cf9702cbfc8e96a50e3af83738d;hb=eaa6eb2afd76819de5df0ae9ed753627504ed7e4;hp=5594b40f0666ab89a2f017d5f04e21ab440a722e;hpb=29d7226e8b17ce1891aaba8f3009715b24fa664f;p=sliver-openvswitch.git diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c index 5594b40f0..1cdf69ae8 100644 --- a/tests/test-ovsdb.c +++ b/tests/test-ovsdb.c @@ -39,6 +39,7 @@ #include "ovsdb/ovsdb.h" #include "ovsdb/query.h" #include "ovsdb/row.h" +#include "ovsdb/server.h" #include "ovsdb/table.h" #include "ovsdb/transaction.h" #include "ovsdb/trigger.h" @@ -1257,7 +1258,7 @@ do_execute(int argc OVS_UNUSED, char *argv[]) char *s; params = parse_json(argv[i]); - result = ovsdb_execute(db, params, 0, NULL); + result = ovsdb_execute(db, NULL, params, 0, NULL); s = json_to_string(result, JSSF_SORT); printf("%s\n", s); free(s); @@ -1292,7 +1293,7 @@ static void do_trigger(int argc OVS_UNUSED, char *argv[]) { struct ovsdb_schema *schema; - struct list completions; + struct ovsdb_session session; struct json *json; struct ovsdb *db; long long int now; @@ -1305,7 +1306,8 @@ do_trigger(int argc OVS_UNUSED, char *argv[]) json_destroy(json); db = ovsdb_create(schema); - list_init(&completions); + ovsdb_session_init(&session, db); + now = 0; number = 0; for (i = 2; i < argc; i++) { @@ -1319,7 +1321,7 @@ do_trigger(int argc OVS_UNUSED, char *argv[]) json_destroy(params); } else { struct test_trigger *t = xmalloc(sizeof *t); - ovsdb_trigger_init(db, &t->trigger, params, &completions, now); + ovsdb_trigger_init(&session, &t->trigger, params, now); t->number = number++; if (ovsdb_trigger_is_complete(&t->trigger)) { do_trigger_dump(t, now, "immediate"); @@ -1329,8 +1331,8 @@ do_trigger(int argc OVS_UNUSED, char *argv[]) } ovsdb_trigger_run(db, now); - while (!list_is_empty(&completions)) { - do_trigger_dump(CONTAINER_OF(list_pop_front(&completions), + while (!list_is_empty(&session.completions)) { + do_trigger_dump(CONTAINER_OF(list_pop_front(&session.completions), struct test_trigger, trigger.node), now, "delayed"); } @@ -1828,6 +1830,13 @@ idl_set(struct ovsdb_idl *idl, char *commands, int step) } ovsdb_idl_txn_increment(txn, arg1, arg2, NULL); increment = true; + } else if (!strcmp(name, "abort")) { + ovsdb_idl_txn_abort(txn); + break; + } else if (!strcmp(name, "destroy")) { + printf("%03d: destroy\n", step); + ovsdb_idl_txn_destroy(txn); + return; } else { ovs_fatal(0, "unknown command %s", name); }