X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Fovsdb-idl.at;h=0ce65355aa4700bd1bddad0a5b113afba4dbb749;hb=58fbee4664788d779ad7b0e57c3dd420adca9221;hp=65914194bef8bc9ac9712ca1e996634a0006b04f;hpb=475281c01bd655c49f086d62d0cb4055a8f8d74b;p=openvswitch diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at index 65914194..0ce65355 100644 --- a/tests/ovsdb-idl.at +++ b/tests/ovsdb-idl.at @@ -17,9 +17,18 @@ AT_BANNER([OVSDB -- interface description language (IDL)]) 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], - [0], [stdout], [ignore]) - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --pidfile=$PWD/server-pid --listen=punix:socket --unixctl=$PWD/unixctl db], [0], [ignore], [ignore]) + OVS_CHECK_LCOV( + [SCHEMA=$abs_builddir/idltest.ovsschema + if test ! -e $SCHEMA; then + SCHEMA=$abs_srcdir/idltest.ovsschema + if test ! -e $SCHEMA; then + echo 'Failed to find idltest.ovsschema' + exit 1 + fi + fi + ovsdb-tool create db $SCHEMA], + [0], [stdout], [ignore]) + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach --pidfile=$PWD/server-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 '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10 idl unix:socket $3], @@ -167,6 +176,17 @@ OVSDB_CHECK_IDL([simple idl, writing via IDL], 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",