diff options
Diffstat (limited to 'tests/integration/saml2/__init__.py')
-rw-r--r-- | tests/integration/saml2/__init__.py | 49 |
1 files changed, 39 insertions, 10 deletions
diff --git a/tests/integration/saml2/__init__.py b/tests/integration/saml2/__init__.py index f4e7ab35..50fcba0e 100644 --- a/tests/integration/saml2/__init__.py +++ b/tests/integration/saml2/__init__.py @@ -5,12 +5,38 @@ import subprocess import time import twill import urllib2 +import os.path +import re -AUTHENTIC_SRCDIR = '/usr/local/src/authentic' -AUTHENTICCTL = '/usr/sbin/authenticctl.py' -AUTHENTIC_DATA_DIR = '/usr/share/authentic/' -LCSCTL = '/usr/sbin/lcsctl.py' -LCS_DATADIR = '/usr/share/lcs/' +CONFIG_FILE = os.path.expanduser('~/.config/lasso_integration.conf') +CONFIG = dict() + +if os.path.exists(CONFIG_FILE): + lines = open(CONFIG_FILE).read().splitlines() + i = 1 + for line in lines: + try: + m = re.match('(\w*) = (.*)', line) + CONFIG[m.groups()[0]] = m.groups()[1] + except: + print "Line", i, " of configuration file", CONFIG_FILE, "is invalid:", line + i +=1 + +# Combine default and configuration file +AUTHENTIC_SRCDIR = CONFIG.get('AUTHENTIC_SRCDIR') or '/usr/local/src/authentic' +AUTHENTICCTL = CONFIG.get('AUTHENTICCTL') or '/usr/sbin/authenticctl.py' +AUTHENTIC_DATA_DIR = CONFIG.get('AUTHENTIC_DATA_DIR') or '/usr/share/authentic/' +LCSCTL = CONFIG.get('LCSCTL') or '/usr/sbin/lcsctl.py' +LCS_DATADIR = CONFIG.get('LCS_DATADIR') or '/usr/share/lcs/' +LASSO_BUILDDIR = os.environ.get('LASSO_BUILDDIR') or \ + CONFIG.get('LASSO_BUILDDIR') or \ + os.path.realpath(os.path.join(os.path.dirname(__FILE__), "..", "..", "..")) + +os.environ['LD_LIBRARY_PATH'] = os.path.join(LASSO_BUILDDIR, "lasso", ".libs") + ":" + \ + os.environ.get('LD_LIBRARY_PATH', '') +os.environ['PYTHONPATH'] = os.path.join(LASSO_BUILDDIR, "bindings", "python") + \ + ":" + os.path.join(LASSO_BUILDDIR, "bindings", "python", ".libs") + ":" + \ + os.environ.get('PYTHONPATH', '') try: from config import * @@ -37,10 +63,11 @@ def setup(): print >> sys.stderr, 'Create it or edit tests/config.py to match your local installation' sys.exit(1) + silent = os.environ.get('NO_SILENT') is None twill.commands.reset_browser() twill.set_output(file('/dev/null', 'w')) base = [] - if os.path.exists('/usr/bin/valgrind'): + if os.environ.get('VALGRIND') is '1' and os.path.exists('/usr/bin/valgrind'): base = ['./valgrind-wrapper.sh', 'python'] os.mkdir('/tmp/.tests') @@ -48,15 +75,17 @@ def setup(): '--app-dir', '/tmp/.tests/authentictests', '--data-dir', AUTHENTIC_DATADIR, '--extra', os.path.join(AUTHENTIC_SRCDIR, 'extra', 'conformance'), - '--port', '10001', '--http', '--silent'] - print authentic_command + '--port', '10001', '--http'] + if silent: + authentic_command.append('--silent') sp = subprocess.Popen(authentic_command) pids.append(sp.pid) lcs_command = base + [LCSCTL, 'start', '--app-dir', '/tmp/.tests/lcstests', '--data-dir', LCS_DATADIR, - '--port', '10002', '--http', '--silent'] - print lcs_command + '--port', '10002', '--http'] + if silent: + lcs_command.append('--silent') sp = subprocess.Popen(lcs_command) pids.append(sp.pid) |