From: William Lallemand Date: Tue, 11 Sep 2018 14:51:30 +0000 (+0200) Subject: TESTS: add a python wrapper for sockpair@ X-Git-Tag: v1.9-dev2~40 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7755f9f2be1d02ec011e9088a34f58f97b25ea43;p=thirdparty%2Fhaproxy.git TESTS: add a python wrapper for sockpair@ This is a python wrapper which creates a socketpair and passes it as two environment variable to haproxy. It's the easiest way to test the sockpair protocol in haproxy. --- diff --git a/tests/test-sockpair.py b/tests/test-sockpair.py new file mode 100644 index 0000000000..922c6d09b0 --- /dev/null +++ b/tests/test-sockpair.py @@ -0,0 +1,28 @@ +#!/usr/bin/python +""" +Python wrapper example to test socketpair protocol +./test-socketpair.py test.cfg + +use sockpair@${FD1} and sockpair@${FD2} in your configuration file + +""" + +import socket, os, sys + +s = socket.socketpair(socket.AF_UNIX, socket.SOCK_STREAM) +os.set_inheritable(s[0].fileno(), 1) +os.set_inheritable(s[1].fileno(), 1) + +FD1 = s[0].fileno() +FD2 = s[1].fileno() + +print("FD1={} FD2={}".format(FD1, FD2)) + +os.environ["FD1"] = str(FD1) +os.environ["FD2"] = str(FD2) + +cmd = ["./haproxy", + "-f", + "{}".format(sys.argv[1]) +] +os.execve(cmd[0], cmd, os.environ)