]> git.proxmox.com Git - mirror_ovs.git/blame - tests/test-unix-socket.py
check-kmod: Remove all OVS modules in this target.
[mirror_ovs.git] / tests / test-unix-socket.py
CommitLineData
cd57233c
BP
1#
2# Copyright (c) 2010, 2012, 2013 Nicira, Inc.
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at:
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
16import os
17import signal
18import socket
19import sys
20
21import ovs.socket_util
22
bdca6c4b 23
cd57233c
BP
24def main(argv):
25 if len(argv) not in (2, 3):
26 sys.stderr.write("usage: %s SOCKETNAME1 [SOCKETNAME2]", argv[0])
27 sys.exit(1)
28
29 sockname1 = argv[1]
30 if len(argv) > 2:
31 sockname2 = argv[2]
32 else:
33 sockname2 = sockname1
34
35 signal.signal(signal.SIGALRM, signal.SIG_DFL)
36 signal.alarm(5)
37
38 # Create a listening socket under name 'sockname1'.
39 error, sock1 = ovs.socket_util.make_unix_socket(socket.SOCK_STREAM, False,
40 sockname1, None)
41 if error:
42 sys.stderr.write("%s: bind failed (%s)" % (sockname1,
43 os.strerror(error)))
a8453a38 44 sys.exit(1)
cd57233c
BP
45 sock1.listen(1)
46
47 # Connect to 'sockname2' (which should be the same file, perhaps under a
48 # different name).
49 error, sock2 = ovs.socket_util.make_unix_socket(socket.SOCK_STREAM, False,
50 None, sockname2)
51 if error:
52 sys.stderr.write("%s: connect failed (%s)" % (sockname2,
53 os.strerror(error)))
a8453a38 54 sys.exit(1)
cd57233c 55
bdca6c4b 56
cd57233c
BP
57if __name__ == '__main__':
58 main(sys.argv)