summaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorSimo Sorce <simo@redhat.com>2014-06-02 14:05:57 -0400
committerSimo Sorce <simo@redhat.com>2014-06-04 10:26:34 -0400
commit5a78c0ed852d43f13ffa48f096c0f48367bd1acf (patch)
tree8dcf3a70b8ced3ae16cffbc6efb3d06f0f9de6a1 /tests
parent54aa265915f305f688051bebf940fcbe000ddce2 (diff)
downloadipsilon-5a78c0ed852d43f13ffa48f096c0f48367bd1acf.tar.gz
ipsilon-5a78c0ed852d43f13ffa48f096c0f48367bd1acf.tar.xz
ipsilon-5a78c0ed852d43f13ffa48f096c0f48367bd1acf.zip
Add support for socket wrappers if available
Signed-off-by: Simo Sorce <simo@redhat.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/httpd.conf1
-rwxr-xr-xtests/tests.py29
2 files changed, 29 insertions, 1 deletions
diff --git a/tests/httpd.conf b/tests/httpd.conf
index 6b2a4cb..f0c4300 100644
--- a/tests/httpd.conf
+++ b/tests/httpd.conf
@@ -1,4 +1,5 @@
ServerRoot "${HTTPROOT}"
+ServerName localhost
Listen ${HTTPADDR}:${HTTPPORT}
LoadModule access_compat_module modules/mod_access_compat.so
diff --git a/tests/tests.py b/tests/tests.py
index cfd63c6..811d31d 100755
--- a/tests/tests.py
+++ b/tests/tests.py
@@ -39,6 +39,9 @@ def parse_args():
help="Directory in which tests are run")
parser.add_argument('--test', default='test1',
help="The test to run")
+ parser.add_argument('--wrappers', default='auto',
+ choices=['yes', 'no', 'auto'],
+ help="Run the tests with socket wrappers")
return vars(parser.parse_args())
@@ -167,6 +170,28 @@ Alias /sp ${HTTPDIR}/sp
with open(httpdir + '/sp/index.html', 'w') as f:
f.write(index)
+
+def try_wrappers(base, wrappers):
+ if wrappers == 'no':
+ return {}
+
+ pkgcfg = subprocess.Popen(['pkg-config', '--exists', 'socket_wrapper'])
+ pkgcfg.wait()
+ if pkgcfg.returncode != 0:
+ if wrappers == 'auto':
+ return {}
+ else:
+ raise ValueError('Socket Wrappers not available')
+
+ wrapdir = os.path.join(base, 'wrapdir')
+ os.mkdir(wrapdir)
+
+ wenv = {'LD_PRELOAD': 'libsocket_wrapper.so',
+ 'SOCKET_WRAPPER_DIR': wrapdir,
+ 'SOCKET_WRAPPER_DEFAULT_IFACE': '9'}
+
+ return wenv
+
if __name__ == '__main__':
args = parse_args()
@@ -178,7 +203,9 @@ if __name__ == '__main__':
options = setup_test(args['path'], args['test'])
basedir = options['basedir']
- env={'PYTHONPATH':'./'}
+ env = try_wrappers(basedir, args['wrappers'])
+ env['PYTHONPATH'] = './'
+
srvs = []
try:
for h in options['servers'].split(','):