summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2017-08-31 14:55:44 -0700
committerBen Pfaff <blp@ovn.org>2017-12-08 14:13:49 -0800
commit1cae21eece9f83d6540b2d28c0f6851303471c6c (patch)
tree6a6d64c107570f58c836d290955e2d68ff8cf38d /tests
parent9bc3966ce261c3c98c44d3f74440d3725aba49aa (diff)
downloadopenvswitch-1cae21eece9f83d6540b2d28c0f6851303471c6c.tar.gz
test-ovsdb: Triggers should wake up other triggers immediately.
When a trigger executes, it can make changes to the database that fulfill the conditions for some other trigger to execute. ovsdb-server implements this properly, but the code in test-ovsdb for testing triggers outside ovsdb-server did not. This fixes the problem. Found by inspection. Signed-off-by: Ben Pfaff <blp@ovn.org> Acked-by: Justin Pettit <jpettit@ovn.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/ovsdb-trigger.at2
-rw-r--r--tests/test-ovsdb.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/tests/ovsdb-trigger.at b/tests/ovsdb-trigger.at
index 7ba6cb326..1fb19fe08 100644
--- a/tests/ovsdb-trigger.at
+++ b/tests/ovsdb-trigger.at
@@ -181,7 +181,7 @@ t=5: new trigger 1
t=5: new trigger 2
t=10: trigger 3 (immediate): [{"uuid":["uuid","<2>"]}]
t=10: trigger 2 (delayed): [{},{"count":2}]
-t=15: trigger 1 (delayed): [{},{"count":1},{"uuid":["uuid","<3>"]}]
+t=10: trigger 1 (delayed): [{},{"count":1},{"uuid":["uuid","<3>"]}]
t=15: trigger 4 (immediate): [{"rows":[{"_uuid":["uuid","<3>"],"_version":["uuid","<4>"],"name":"three","number":3}]}]
]])
diff --git a/tests/test-ovsdb.c b/tests/test-ovsdb.c
index ae679c131..5037258cd 100644
--- a/tests/test-ovsdb.c
+++ b/tests/test-ovsdb.c
@@ -1535,6 +1535,7 @@ do_trigger(struct ovs_cmdl_context *ctx)
struct test_trigger *t;
LIST_FOR_EACH_POP (t, trigger.node, &session.completions) {
do_trigger_dump(t, now, "delayed");
+ ovsdb_trigger_run(db, now);
}
ovsdb_trigger_wait(db, now);