unixctl: Skip Python unixctl tests.
[sliver-openvswitch.git] / tests / unixctl-py.at
1 AT_BANNER([unixctl])
2
3 AT_SETUP([unixctl ovs-vswitchd exit - Python])
4 AT_SKIP_IF([:])
5 AT_SKIP_IF([test $HAVE_PYTHON = no])
6 OVS_VSWITCHD_START
7
8 AT_CHECK([$PYTHON $srcdir/appctl.py -t ovs-vswitchd exit], [0], [])
9 OVS_WAIT_WHILE([test -s ovs-vswitchd.pid])
10
11 AT_CHECK([$PYTHON $srcdir/appctl.py -t ovsdb-server exit], [0], [])
12 OVS_WAIT_WHILE([test -s ovsdb-server.pid])
13 AT_CLEANUP
14
15 AT_SETUP([unixctl ovs-vswitchd help - Python])
16 AT_SKIP_IF([:])
17 AT_SKIP_IF([test $HAVE_PYTHON = no])
18 OVS_VSWITCHD_START
19
20 AT_CHECK([ovs-appctl help], [0], [stdout])
21 AT_CHECK([head -1 stdout], [0], [dnl
22 The available commands are:
23 ])
24 mv stdout expout
25 AT_CHECK([$PYTHON $srcdir/appctl.py help], [0], [expout])
26
27 OVS_VSWITCHD_STOP
28 AT_CLEANUP
29
30
31 AT_SETUP([unixctl ovs-vswitchd arguments - Python])
32 AT_SKIP_IF([:])
33 AT_SKIP_IF([test $HAVE_PYTHON = no])
34 OVS_VSWITCHD_START
35
36 AT_CHECK([ovs-appctl bond/hash], [2], [], [stderr])
37 AT_CHECK([head -1 stderr], [0], [dnl
38 "bond/hash" command requires at least 1 arguments
39 ])
40 sed 's/ovs-appctl/appctl.py/' stderr > experr
41 AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash], [2], [], [experr])
42
43 AT_CHECK([ovs-appctl bond/hash mac], [2], [], [stderr])
44 AT_CHECK([head -1 stderr], [0], [dnl
45 invalid mac
46 ])
47 sed 's/ovs-appctl/appctl.py/' stderr > experr
48 AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac], [2], [], [experr])
49
50 AT_CHECK([ovs-appctl bond/hash mac vlan], [2], [], [stderr])
51 AT_CHECK([head -1 stderr], [0], [dnl
52 invalid vlan
53 ])
54 sed 's/ovs-appctl/appctl.py/' stderr > experr
55 AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac vlan], [2], [], [experr])
56
57 AT_CHECK([ovs-appctl bond/hash mac vlan basis], [2], [], [stderr])
58 AT_CHECK([head -1 stderr], [0], [dnl
59 invalid vlan
60 ])
61 sed 's/ovs-appctl/appctl.py/' stderr > experr
62 AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash vlan basis], [2], [], [experr])
63
64 AT_CHECK([ovs-appctl bond/hash mac vlan basis extra], [2], [], [stderr])
65 AT_CHECK([head -1 stderr], [0], [dnl
66 "bond/hash" command takes at most 3 arguments
67 ])
68 sed 's/ovs-appctl/appctl.py/' stderr > experr
69 AT_CHECK([$PYTHON $srcdir/appctl.py bond/hash mac vlan basis extra], [2], [], [experr])
70
71 OVS_VSWITCHD_STOP
72 AT_CLEANUP
73
74 AT_SETUP([unixctl bad target - Python])
75 OVS_RUNDIR=$PWD; export OVS_RUNDIR
76 AT_SKIP_IF([:])
77 AT_SKIP_IF([test $HAVE_PYTHON = no])
78
79 AT_CHECK([$PYTHON $srcdir/appctl.py -t bogus doit], [1], [], [stderr])
80 AT_CHECK_UNQUOTED([tail -1 stderr], [0], [dnl
81 appctl.py: cannot read pidfile "$PWD/bogus.pid" (No such file or directory)
82 ])
83
84 AT_CHECK([$PYTHON $srcdir/appctl.py -t /bogus/path.pid doit], [1], [], [stderr])
85 AT_CHECK([tail -1 stderr], [0], [dnl
86 appctl.py: cannot connect to "/bogus/path.pid" (No such file or directory)
87 ])
88
89 AT_CLEANUP
90
91 AT_SETUP([unixctl server - Python])
92 AT_SKIP_IF([:])
93 AT_SKIP_IF([test $HAVE_PYTHON = no])
94 OVS_RUNDIR=$PWD; export OVS_RUNDIR
95 OVS_LOGDIR=$PWD; export OVS_LOGDIR
96 OVS_SYSCONFDIR=$PWD; export OVS_SYSCONFDIR
97 trap 'kill `cat test-unixctl.py.pid`' 0
98 AT_CAPTURE_FILE([$PWD/test-unixctl.py.log])
99 AT_CHECK([$PYTHON $srcdir/test-unixctl.py --log-file --pidfile --detach])
100
101 AT_CHECK([ovs-appctl -t test-unixctl.py help], [0], [stdout])
102 AT_CHECK([cat stdout], [0], [dnl
103 The available commands are:
104   echo                    [[arg ...]]
105   echo_error              [[arg ...]]
106   exit
107   help
108   version
109 ])
110 mv stdout expout
111 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py help], [0], [expout])
112
113 AT_CHECK([echo "test-unixctl.py (Open vSwitch) $VERSION $BUILDNR" > expout])
114 AT_CHECK([ovs-appctl -t test-unixctl.py version], [0], [expout])
115 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py version], [0], [expout])
116
117 AT_CHECK([ovs-appctl -t test-unixctl.py echo robot ninja], [0], [stdout])
118 AT_CHECK([cat stdout], [0], [dnl
119 [[u'robot', u'ninja']]
120 ])
121 mv stdout expout
122 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo robot ninja], [0], [expout])
123
124 AT_CHECK([ovs-appctl -t test-unixctl.py echo_error robot ninja], [2], [], [stderr])
125 AT_CHECK([cat stderr], [0], [dnl
126 [[u'robot', u'ninja']]
127 ovs-appctl: test-unixctl.py: server returned an error
128 ])
129 sed 's/ovs-appctl/appctl.py/' stderr > experr
130 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo_error robot ninja], [2], [], [experr])
131
132 AT_CHECK([ovs-appctl -t test-unixctl.py echo], [2], [], [stderr])
133 AT_CHECK([cat stderr], [0], [dnl
134 "echo" command requires at least 1 arguments
135 ovs-appctl: test-unixctl.py: server returned an error
136 ])
137 sed 's/ovs-appctl/appctl.py/' stderr > experr
138 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo], [2], [], [experr])
139
140 AT_CHECK([ovs-appctl -t test-unixctl.py echo robot ninja pirates], [2], [], [stderr])
141 AT_CHECK([cat stderr], [0], [dnl
142 "echo" command takes at most 2 arguments
143 ovs-appctl: test-unixctl.py: server returned an error
144 ])
145 sed 's/ovs-appctl/appctl.py/' stderr > experr
146 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py echo robot ninja pirates], [2], [], [experr])
147
148 AT_CHECK([ovs-appctl -t test-unixctl.py bogus], [2], [], [stderr])
149 AT_CHECK([cat stderr], [0], [dnl
150 "bogus" is not a valid command
151 ovs-appctl: test-unixctl.py: server returned an error
152 ])
153 sed 's/ovs-appctl/appctl.py/' stderr > experr
154 AT_CHECK([$PYTHON $srcdir/appctl.py -t test-unixctl.py bogus], [2], [], [experr])
155
156 AT_CHECK([ovs-appctl -t test-unixctl.py exit])
157 trap '' 0]
158 AT_CLEANUP
159
160
161 AT_SETUP([unixctl server errors - Python])
162 AT_SKIP_IF([:])
163 AT_SKIP_IF([test $HAVE_PYTHON = no])
164 AT_CHECK($PYTHON $srcdir/test-unixctl.py --unixctl $PWD/bogus/path, [1], [], [ignore])
165 AT_CLEANUP