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