[ovs-dev] [PATCH] tests: fix issue in use of OVS_APP_EXIT_AND_WAIT
Paul Boca
pboca at cloudbasesolutions.com
Mon Jun 6 09:43:01 UTC 2016
Hi Lance!
Thanks for fixing this. Tested on Windows and the fix works.
Acked-by: Paul-Daniel Boca <pboca at cloudbasesolutions.com>
> -----Original Message-----
> From: dev [mailto:dev-bounces at openvswitch.org] On Behalf Of Lance
> Richardson
> Sent: Saturday, June 4, 2016 1:09 AM
> To: dev at openvswitch.org
> Subject: [ovs-dev] [PATCH] tests: fix issue in use of OVS_APP_EXIT_AND_WAIT
>
> Commit f9b11f2a09b4 introduced a loop to wait for process exit
> in OVS_APP_EXIT_AND_WAIT after the "exit" command has been sent.
> Unfortunately, this does not work for cases where a unixctl socket
> has to be used to send the "exit" command because the process
> ID cannot be determined from the socket path.
>
> OVS_APP_EXIT_AND_WAIT_BY_TARGET has since been introduced to enable
> graceful termination of daemons via unixctl sockets.
>
> This set of changes addresses the problem described above by
> making OVS_APP_EXIT_AND_WAIT_BY_TARGET take the unixctl socket
> path and corresponding process ID as separate parameters. In order
> to better detect issues in this logic in the future, checks have
> been added to verify that the pidfile exists before using its
> contents.
>
> Tested on a Linux system.
>
> Fixes: f9b11f2a09b4 ("tests: Make OVS_APP_EXIT_AND_WAIT() wait for process
> termination")
> Signed-off-by: Lance Richardson <lrichard at redhat.com>
> ---
> tests/daemon.at | 2 +-
> tests/ovn-controller.at | 5 +++--
> tests/ovn-sbctl.at | 8 ++++----
> tests/ovs-macros.at | 16 +++++++++-------
> tests/ovs-vswitchd.at | 15 +++++++++------
> tests/ovsdb-idl.at | 42 +++++++++++++++++++++---------------------
> tests/ovsdb-monitor.at | 2 +-
> tests/ovsdb-server.at | 2 +-
> 8 files changed, 49 insertions(+), 43 deletions(-)
>
> diff --git a/tests/daemon.at b/tests/daemon.at
> index 41c5d07..768a44e 100644
> --- a/tests/daemon.at
> +++ b/tests/daemon.at
> @@ -83,7 +83,7 @@ if test "$IS_WIN32" = "yes"; then
> # When a 'kill pid' is done on windows (through 'taskkill //F'),
> # pidfiles are not deleted (because it is force kill), so use
> # 'ovs-appctl exit' instead
> - OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl])
> + OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [`pwd`/pid])
> else
> kill `cat pid`
> fi
> diff --git a/tests/ovn-controller.at b/tests/ovn-controller.at
> index 13b3f53..1cb28f8 100644
> --- a/tests/ovn-controller.at
> +++ b/tests/ovn-controller.at
> @@ -127,7 +127,8 @@ check_patches \
> on_exit 'kill `cat $ovs_base/ovn-sb/ovsdb-server-2.pid`'
>
> ovsdb-tool create $ovs_base/ovn-sb/ovn-sb1.db "$abs_top_srcdir"/ovn/ovn-
> sb.ovsschema
> -as ovn-sb ovsdb-server --detach --pidfile=$ovs_base/ovn-sb/ovsdb-server-2.pid
> --remote=punix:$ovs_base/ovn-sb/ovn-sb1.sock $ovs_base/ovn-sb/ovn-sb1.db
> +as ovn-sb ovsdb-server --detach --pidfile=$ovs_base/ovn-sb/ovsdb-server-2.pid
> --remote=punix:$ovs_base/ovn-sb/ovn-sb1.sock $ovs_base/ovn-sb/ovn-sb1.db
> \
> + --unixctl=$ovs_base/ovn-sb/ovsdb-server-2.ctl
> AT_CHECK([ovs-vsctl -- set Open_vSwitch . external-ids:ovn-
> remote=unix:$ovs_base/ovn-sb/ovn-sb1.sock])
> check_patches
> AT_CHECK([ovs-vsctl -- set Open_vSwitch . external-ids:ovn-
> remote=unix:$ovs_base/ovn-sb/ovn-sb.sock])
> @@ -153,7 +154,7 @@ OVS_APP_EXIT_AND_WAIT([ovs-vswitchd])
> OVS_APP_EXIT_AND_WAIT([ovsdb-server])
>
> as ovn-sb
> -OVS_APP_EXIT_AND_WAIT_BY_TARGET([ovsdb-server-2])
> +OVS_APP_EXIT_AND_WAIT_BY_TARGET([$ovs_base/ovn-sb/ovsdb-server-
> 2.ctl], [$ovs_base/ovn-sb/ovsdb-server-2.pid])
> OVS_APP_EXIT_AND_WAIT([ovsdb-server])
>
> AT_CLEANUP
> diff --git a/tests/ovn-sbctl.at b/tests/ovn-sbctl.at
> index c1b57dc..4fbda04 100644
> --- a/tests/ovn-sbctl.at
> +++ b/tests/ovn-sbctl.at
> @@ -9,8 +9,8 @@ m4_define([OVN_SBCTL_TEST_START],
> done
>
> dnl Start ovsdb-servers.
> - AT_CHECK([ovsdb-server --detach --no-chdir --
> pidfile=$OVS_RUNDIR/ovnnb_db.pid --log-file=$OVS_RUNDIR/ovsdb_nb.log --
> remote=punix:$OVS_RUNDIR/ovnnb_db.sock ovn-nb.db ], [0], [], [stderr])
> - AT_CHECK([ovsdb-server --detach --no-chdir --
> pidfile=$OVS_RUNDIR/ovnsb_db.pid --log-file=$OVS_RUNDIR/ovsdb_sb.log --
> remote=punix:$OVS_RUNDIR/ovnsb_db.sock ovn-sb.db], [0], [], [stderr])
> + AT_CHECK([ovsdb-server --detach --no-chdir --
> pidfile=$OVS_RUNDIR/ovnnb_db.pid --unixctl=$OVS_RUNDIR/ovnnb_db.ctl --
> log-file=$OVS_RUNDIR/ovsdb_nb.log --
> remote=punix:$OVS_RUNDIR/ovnnb_db.sock ovn-nb.db ], [0], [], [stderr])
> + AT_CHECK([ovsdb-server --detach --no-chdir --
> pidfile=$OVS_RUNDIR/ovnsb_db.pid --unixctl=$OVS_RUNDIR/ovnsb_db.ctl --
> log-file=$OVS_RUNDIR/ovsdb_sb.log --
> remote=punix:$OVS_RUNDIR/ovnsb_db.sock ovn-sb.db], [0], [], [stderr])
> on_exit "kill `cat ovnnb_db.pid` `cat ovnsb_db.pid`"
> AT_CHECK([[sed < stderr '
> /vlog|INFO|opened log file/d
> @@ -37,8 +37,8 @@ m4_define([OVN_SBCTL_TEST_STOP],
> AT_CHECK([check_logs "$1
> /Broken pipe/d"])
> OVS_APP_EXIT_AND_WAIT([ovn-northd])
> - OVS_APP_EXIT_AND_WAIT_BY_TARGET([ovnnb_db])
> - OVS_APP_EXIT_AND_WAIT_BY_TARGET([ovnsb_db])])
> + OVS_APP_EXIT_AND_WAIT_BY_TARGET([$OVS_RUNDIR/ovnnb_db.ctl],
> [$OVS_RUNDIR/ovnnb_db.pid])
> + OVS_APP_EXIT_AND_WAIT_BY_TARGET([$OVS_RUNDIR/ovnsb_db.ctl],
> [$OVS_RUNDIR/ovnsb_db.pid])])
>
> dnl ---------------------------------------------------------------------
>
> diff --git a/tests/ovs-macros.at b/tests/ovs-macros.at
> index e5710a0..fadd2be 100644
> --- a/tests/ovs-macros.at
> +++ b/tests/ovs-macros.at
> @@ -132,20 +132,22 @@ m4_define([OVS_WAIT_WHILE],
>
> dnl OVS_APP_EXIT_AND_WAIT(DAEMON)
> dnl
> -dnl Ask the daemon named DAEMON to exit, via ovs-appctl, and then waits for
> it
> +dnl Ask the daemon named DAEMON to exit, via ovs-appctl, and then wait for
> it
> dnl to exit.
> m4_define([OVS_APP_EXIT_AND_WAIT],
> - [TMPPID=$(cat "$OVS_RUNDIR"/$1.pid 2>/dev/null)
> + [AT_CHECK([test -e $OVS_RUNDIR/$1.pid])
> + TMPPID=$(cat $OVS_RUNDIR/$1.pid)
> AT_CHECK([ovs-appctl -t $1 exit])
> OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])])
>
> -dnl OVS_APP_EXIT_AND_WAIT_BY_TARGET(DAEMON)
> +dnl OVS_APP_EXIT_AND_WAIT_BY_TARGET(TARGET, PIDFILE)
> dnl
> -dnl Ask the daemon named DAEMON to exit, via ovs-appctl (using the target
> -dnl argument), and then waits for it to exit.
> +dnl Ask the daemon identified by TARGET to exit, via ovs-appctl (using the
> target
> +dnl argument), and then wait for it to exit.
> m4_define([OVS_APP_EXIT_AND_WAIT_BY_TARGET],
> - [TMPPID=`cat "$OVS_RUNDIR"/$1.pid 2>/dev/null`
> - AT_CHECK([ovs-appctl --target=$OVS_RUNDIR/ovsdb-server.$TMPPID.ctl
> exit])
> + [AT_CHECK([test -e $2])
> + TMPPID=$(cat $2)
> + AT_CHECK([ovs-appctl --target=$1 exit])
> OVS_WAIT_WHILE([kill -0 $TMPPID 2>/dev/null])])
>
> dnl on_exit "COMMAND"
> diff --git a/tests/ovs-vswitchd.at b/tests/ovs-vswitchd.at
> index 816d0a2..e34e05e 100644
> --- a/tests/ovs-vswitchd.at
> +++ b/tests/ovs-vswitchd.at
> @@ -70,13 +70,14 @@ AT_SETUP([ovs-vswitchd -- start additional ovs-vswitchd
> process])
> OVS_VSWITCHD_START
>
> # start another ovs-vswitchd process.
> -ovs-vswitchd --log-file=fakelog --unixctl="`pwd`"/unixctl &
> +ovs-vswitchd --log-file=fakelog --unixctl="`pwd`"/unixctl --pidfile=`pwd`/ovs-
> vswitchd-2.pid &
> +on_exit 'kill `cat ovs-vswitchd-2.pid`'
>
> # sleep for a while
> sleep 5
>
> # stop the process.
> -OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl])
> +OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [`pwd`/ovs-vswitchd-
> 2.pid])
>
> # check the fakelog, should only see one ERR for reporting
> # the existing ovs-vswitchd process.
> @@ -94,7 +95,8 @@ AT_SETUP([ovs-vswitchd -- switch over to another ovs-
> vswitchd process])
> OVS_VSWITCHD_START
>
> # start a new ovs-vswitchd process.
> -ovs-vswitchd --log-file=fakelog --enable-dummy --unixctl="`pwd`"/unixctl &
> +ovs-vswitchd --log-file=fakelog --enable-dummy --unixctl="`pwd`"/unixctl --
> pidfile=ovs-vswitchd-2.pid &
> +on_exit 'kill `cat ovs-vswitchd-2.pid`'
>
> # sleep for a while.
> sleep 5
> @@ -112,7 +114,7 @@ bridge br0: using datapath ID
> ])
>
> # stop the process.
> -OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl])
> +OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [ovs-vswitchd-2.pid])
>
> # check the fakelog, should not see WARN/ERR/EMER log other than the one
> # for reporting the existing ovs-vswitchd process and the one for killing
> @@ -132,13 +134,14 @@ dnl -------------------------------------------------------------
> ---------
> AT_SETUP([ovs-vswitchd -- invalid database path])
>
> # start an ovs-vswitchd process with invalid db path.
> -ovs-vswitchd unix:invalid.db.sock --log-file=fakelog --enable-dummy --
> unixctl="`pwd`"/unixctl &
> +ovs-vswitchd unix:invalid.db.sock --log-file=fakelog --enable-dummy --
> unixctl="`pwd`"/unixctl --pidfile=ovs-vswitchd-2.pid &
> +on_exit 'kill `cat ovs-vswitchd-2.pid`'
>
> # sleep for a while.
> sleep 10
>
> # stop the process.
> -OVS_APP_EXIT_AND_WAIT([`pwd`/unixctl])
> +OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [ovs-vswitchd-2.pid])
>
> # should not see this log (which indicates high cpu utilization).
> AT_CHECK([grep "wakeup due to" fakelog], [ignore])
> diff --git a/tests/ovsdb-idl.at b/tests/ovsdb-idl.at
> index 057d09f..cda0f79 100644
> --- a/tests/ovsdb-idl.at
> +++ b/tests/ovsdb-idl.at
> @@ -21,8 +21,8 @@ m4_define([OVSDB_CHECK_IDL_C],
> AT_KEYWORDS([ovsdb server idl positive $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10
> idl unix:socket $3],
> @@ -39,8 +39,8 @@ m4_define([OVSDB_CHECK_IDL_PYN],
> AT_KEYWORDS([ovsdb server idl positive Python $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema
> unix:socket $3],
> @@ -62,8 +62,8 @@
> m4_define([OVSDB_CHECK_IDL_REGISTER_COLUMNS_PYN],
> AT_KEYWORDS([ovsdb server idl positive Python register_columns $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([$8 $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema
> unix:socket ?simple:b,ba,i,ia,r,ra,s,sa,u,ua?link1:i,k,ka,l2?link2:i,l1 $3],
> @@ -86,8 +86,8 @@ m4_define([OVSDB_CHECK_IDL_TCP_PYN],
> AT_KEYWORDS([ovsdb server idl positive Python with tcp socket $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m'
> --detach --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-
> server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket
> --remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
>
> m4_if([$2], [], [],
> @@ -113,8 +113,8 @@ m4_define([OVSDB_CHECK_IDL_TCP6_PYN],
> AT_KEYWORDS([ovsdb server idl positive Python with tcp6 socket $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m'
> --detach --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=ptcp:0:[[::1]] --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-
> server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=ptcp:0:[[::1]]
> --unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
> echo "TCP_PORT=$TCP_PORT"
>
> @@ -148,13 +148,13 @@ m4_define([OVSDB_CHECK_IDL_PASSIVE_TCP_PY],
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> # find free TCP port
> - AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m'
> --detach --no-chdir --pidfile="`pwd`"/ovsdb-server1.pid --
> remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-
> server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --
> remote=ptcp:0:127.0.0.1 --unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> PARSE_LISTENING_PORT([ovsdb-server.log], [TCP_PORT])
> OVSDB_SERVER_SHUTDOWN
>
> # start OVSDB server in passive mode
> - AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-server|%c|%m'
> --detach --no-chdir --pidfile="`pwd`"/ovsdb-server2.pid --remote=punix:socket --
> remote=tcp:127.0.0.1:$TCP_PORT --unixctl="`pwd`"/unixctl db], [0], [ignore],
> [ignore])
> + AT_CHECK([ovsdb-server --log-file '-vPATTERN:console:ovsdb-
> server|%c|%m' --detach --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket
> --remote=tcp:127.0.0.1:$TCP_PORT --unixctl="`pwd`"/unixctl db], [0], [ignore],
> [ignore])
> AT_CHECK([$PYTHON $srcdir/test-ovsdb.py -t10 idl_passive
> $srcdir/idltest.ovsschema ptcp:127.0.0.1:$TCP_PORT $3],
> [0], [stdout], [ignore])
> AT_CHECK([sort stdout | ${PERL} $srcdir/uuidfilt.pl]m4_if([$6],,, [[| $6]]),
> @@ -594,8 +594,8 @@ AT_KEYWORDS([ovsdb server idl positive])
> # tolerates them being missing.
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest2.ovsschema],
> [0], [stdout], [ignore])
> -AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach -
> -no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> -on_exit 'kill `cat *.pid`'
> +AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach -
> -no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> +on_exit 'kill `cat pid`'
> AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10
> idl unix:socket ['["idltest",
> {"op": "insert",
> "table": "link1",
> @@ -666,8 +666,8 @@ m4_define([OVSDB_CHECK_IDL_FETCH_COLUMNS_PY],
> AT_KEYWORDS([ovsdb server idl positive Python increment fetch $6])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([$PYTHON $srcdir/test-ovsdb.py -t10 idl $srcdir/idltest.ovsschema
> unix:socket [$3] $4],
> @@ -713,8 +713,8 @@ m4_define([OVSDB_CHECK_IDL_TRACK_C],
> AT_KEYWORDS([ovsdb server idl tracking positive $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10
> -c idl unix:socket $3],
> @@ -845,8 +845,8 @@
> m4_define([OVSDB_CHECK_IDL_PARTIAL_UPDATE_MAP_COLUMN],
> AT_KEYWORDS([ovsdb server idl partial update map column positive $5])
> AT_CHECK([ovsdb-tool create db $abs_srcdir/idltest.ovsschema],
> [0], [stdout], [ignore])
> - AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/ovsdb-server.pid --remote=punix:socket --
> unixctl="`pwd`"/unixctl db], [0], [ignore], [ignore])
> - on_exit 'kill `cat *.pid`'
> + AT_CHECK([ovsdb-server '-vPATTERN:console:ovsdb-server|%c|%m' --detach
> --no-chdir --pidfile="`pwd`"/pid --remote=punix:socket --unixctl="`pwd`"/unixctl
> db], [0], [ignore], [ignore])
> + on_exit 'kill `cat pid`'
> m4_if([$2], [], [],
> [AT_CHECK([ovsdb-client transact unix:socket $2], [0], [ignore], [ignore])])
> AT_CHECK([test-ovsdb '-vPATTERN:console:test-ovsdb|%c|%m' -vjsonrpc -t10
> -c idl-partial-update-map-column unix:socket $3],
> diff --git a/tests/ovsdb-monitor.at b/tests/ovsdb-monitor.at
> index 37383fa..0649f2a 100644
> --- a/tests/ovsdb-monitor.at
> +++ b/tests/ovsdb-monitor.at
> @@ -39,7 +39,7 @@ m4_define([OVSDB_CHECK_MONITOR],
> [ignore], [ignore], [kill `cat server-pid client-pid`])])
> AT_CHECK([ovsdb-client transact unix:socket '[["$4"]]'], [0],
> [ignore], [ignore], [kill `cat server-pid client-pid`])
> - OVS_APP_EXIT_AND_WAIT(["`pwd`"/unixctl])
> + OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [`pwd`/server-pid])
> OVS_WAIT_UNTIL([test ! -e client-pid])
> AT_CHECK([${PERL} $srcdir/ovsdb-monitor-sort.pl < output | ${PERL}
> $srcdir/uuidfilt.pl], [0], [$7], [ignore])
> AT_CLEANUP])
> diff --git a/tests/ovsdb-server.at b/tests/ovsdb-server.at
> index 0ed7e87..9da511d 100644
> --- a/tests/ovsdb-server.at
> +++ b/tests/ovsdb-server.at
> @@ -1,7 +1,7 @@
> AT_BANNER([OVSDB -- ovsdb-server transactions (Unix sockets)])
>
> m4_define([OVSDB_SERVER_SHUTDOWN],
> - [OVS_APP_EXIT_AND_WAIT(["`pwd`"/unixctl])])
> + [OVS_APP_EXIT_AND_WAIT_BY_TARGET([`pwd`/unixctl], [`pwd`/pid])])
>
> # OVSDB_CHECK_EXECUTION(TITLE, SCHEMA, TRANSACTIONS, OUTPUT,
> [KEYWORDS])
> #
> --
> 2.5.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev
More information about the dev
mailing list