ovs-brcompatd: Don't consume CPU if can't connect to config db
[openvswitch] / tests / ovsdb-idl.at
index 65914194bef8bc9ac9712ca1e996634a0006b04f..0ce65355aa4700bd1bddad0a5b113afba4dbb749 100644 (file)
@@ -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",