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],