m4_define([OVSDB_CHECK_IDL],
[AT_SETUP([$1])
AT_KEYWORDS([ovsdb server idl positive $5])
- OVS_CHECK_LCOV([ovsdb-tool create db $abs_builddir/idltest.ovsschema],
+ AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
[0], [stdout], [ignore])
- AT_CHECK([ovsdb-server --detach --pidfile=$PWD/server-pid --listen=punix:socket --unixctl=$PWD/unixctl db])
+ AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --pidfile=$PWD/pid --remote=punix:socket --unixctl=$PWD/unixctl db], [0], [ignore], [ignore])
m4_if([$2], [], [],
- [OVS_CHECK_LCOV([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore], [kill `cat server-pid`])])
- AT_CHECK([test-ovsdb -vjsonrpc -t10 idl unix:socket $3],
- [0], [stdout], [ignore], [kill `cat server-pid`])
+ [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore], [kill `cat pid`])])
+ AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket $3],
+ [0], [stdout], [ignore], [kill `cat pid`])
AT_CHECK([sort stdout | perl $srcdir/uuidfilt.pl], [0], [$4], [],
- [kill `cat server-pid`])
- kill `cat server-pid`
+ [kill `cat pid`])
+ OVSDB_SERVER_SHUTDOWN
AT_CLEANUP])
OVSDB_CHECK_IDL([simple idl, initially empty, no ops],
003: done
]])
+OVSDB_CHECK_IDL([simple idl, writing via IDL],
+ [['[{"op": "insert",
+ "table": "simple",
+ "row": {"i": 1,
+ "r": 2.0,
+ "b": true,
+ "s": "mystring",
+ "u": ["uuid", "84f5c8f5-ac76-4dbc-a24f-8860eb407fc1"],
+ "ia": ["set", [1, 2, 3]],
+ "ra": ["set", [-0.5]],
+ "ba": ["set", [true, false]],
+ "sa": ["set", ["abc", "def"]],
+ "ua": ["set", [["uuid", "69443985-7806-45e2-b35f-574a04e720f9"],
+ ["uuid", "aad11ef0-816a-4b01-93e6-03b8b4256b98"]]]}},
+ {"op": "insert",
+ "table": "simple",
+ "row": {}}]']],
+ [['set 0 b 1, set 1 r 3.5' \
+ 'insert 2, delete 1']],
+ [[000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
+000: i=1 r=2 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] sa=[abc def] ua=[<3> <4>] uuid=<5>
+001: commit, status=success
+002: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
+002: i=1 r=3.5 b=true s=mystring u=<2> ia=[1 2 3] ra=[-0.5] ba=[false true] sa=[abc def] ua=[<3> <4>] uuid=<5>
+003: commit, status=success
+004: i=0 r=0 b=true s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
+004: i=2 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<6>
+005: done
+]])
+
+OVSDB_CHECK_IDL([simple idl, increment operation],
+ [['[{"op": "insert",
+ "table": "simple",
+ "row": {}}]']],
+ [['set 0 r 2.0, increment simple i']],
+ [[000: i=0 r=0 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
+001: commit, status=success, increment=1
+002: i=1 r=2 b=false s= u=<0> ia=[] ra=[] ba=[] sa=[] ua=[] uuid=<1>
+003: done
+]])
+
OVSDB_CHECK_IDL([self-linking idl, consistent ops],
[],
[['[{"op": "insert",
"table": "link1",
"row": {"i": 0, "k": ["named-uuid", "self"]},
"uuid-name": "self"}]' \
- '[{"op": "insert",
+ '[{"op": "declare",
+ "uuid-name": "row1"},
+ {"op": "declare",
+ "uuid-name": "row2"},
+ {"op": "insert",
"table": "link1",
- "row": {"i": 1},
+ "row": {"i": 1, "k": ["named-uuid", "row2"]},
"uuid-name": "row1"},
{"op": "insert",
"table": "link1",
"row": {"i": 2, "k": ["named-uuid", "row1"]},
- "uuid-name": "row2"},
- {"op": "update",
- "table": "link1",
- "where": [["i", "==", 1]],
- "row": {"k": ["named-uuid", "row2"]}}]' \
+ "uuid-name": "row2"}]' \
'[{"op": "update",
"table": "link1",
"where": [["i", "==", 1]],
[[000: empty
001: {"error":null,"result":[{"uuid":["uuid","<0>"]}]}
002: i=0 k=0 ka=[] l2= uuid=<0>
-003: {"error":null,"result":[{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]},{"count":1}]}
+003: {"error":null,"result":[{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]},{"uuid":["uuid","<1>"]},{"uuid":["uuid","<2>"]}]}
004: i=0 k=0 ka=[] l2= uuid=<0>
004: i=1 k=2 ka=[] l2= uuid=<1>
004: i=2 k=1 ka=[] l2= uuid=<2>
007: done
]])
-
OVSDB_CHECK_IDL([external-linking idl, consistent ops],
[],
[['[{"op": "insert",