tests: Add expected output parameter to OVS_VSWITCHD_START.
[sliver-openvswitch.git] / tests / ofproto-macros.at
1 m4_define([STRIP_XIDS], [[sed 's/ (xid=0x[0-9a-fA-F]*)//']])
2 m4_define([STRIP_DURATION], [[sed 's/\bduration=[0-9.]*s/duration=?s/']])
3 m4_define([TESTABLE_LOG], [-vPATTERN:ANY:'%c|%p|%m'])
4
5 # OVS_VSWITCHD_START([vsctl-args], [vsctl-output])
6 #
7 # Creates a database and starts ovsdb-server, starts ovs-vswitchd
8 # connected to that database, calls ovs-vsctl to create a bridge named
9 # br0 with predictable settings, passing 'vsctl-args' as additional
10 # commands to ovs-vsctl.  If 'vsctl-args' causes ovs-vsctl to provide
11 # output (e.g. because it includes "create" commands) then 'vsctl-output'
12 # specifies the expected output after filtering through uuidfilt.pl.
13 m4_define([OVS_VSWITCHD_START],
14   [OVS_RUNDIR=$PWD; export OVS_RUNDIR
15    OVS_LOGDIR=$PWD; export OVS_LOGDIR
16    OVS_SYSCONFDIR=$PWD; export OVS_SYSCONFDIR
17    trap 'kill `cat ovsdb-server.pid ovs-vswitchd.pid`' 0
18
19    dnl Create database.
20    mkdir openvswitch
21    touch openvswitch/.conf.db.~lock~
22    AT_CHECK([ovsdb-tool create openvswitch/conf.db $abs_top_srcdir/vswitchd/vswitch.ovsschema])
23
24    dnl Start ovsdb-server.
25    AT_CHECK([ovsdb-server --detach --pidfile --log-file --remote=punix:$OVS_RUNDIR/db.sock], [0], [], [stderr])
26    AT_CHECK([[sed < stderr '/vlog|INFO|opened log file/d']])
27    AT_CAPTURE_FILE([ovsdb-server.log])
28
29    dnl Initialize database.
30    AT_CHECK([ovs-vsctl --no-wait init])
31
32    dnl Start ovs-vswitchd.
33    AT_CHECK([ovs-vswitchd --detach --pidfile --enable-dummy --disable-system --log-file], [0], [], [stderr])
34    AT_CAPTURE_FILE([ovs-vswitchd.log])
35    AT_CHECK([[sed < stderr '
36 /vlog|INFO|opened log file/d
37 /reconnect|INFO|/d
38 /ofproto|INFO|using datapath ID/d
39 /ofproto|INFO|datapath ID changed to fedcba9876543210/d']])
40
41    dnl Add bridges, ports, etc.
42    AT_CHECK([ovs-vsctl -- add-br br0 -- set bridge br0 datapath-type=dummy other-config:datapath-id=fedcba9876543210 other-config:hwaddr=aa:55:aa:55:00:00 fail-mode=secure -- $1 m4_if([$2], [], [], [| perl $srcdir/uuidfilt.pl])], [0], [$2])
43 ])
44
45 m4_define([OVS_VSWITCHD_STOP],
46   [AT_CHECK([ovs-appctl -t ovs-vswitchd exit])
47    AT_CHECK([ovs-appctl -t ovsdb-server exit])
48    trap '' 0])