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.
This commit is contained in:
parent
2fe7dd0b2e
commit
7755f9f2be
|
@ -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)
|
Loading…
Reference in New Issue