mirror of
https://salsa.debian.org/freeipa-team/freeipa.git
synced 2024-12-23 23:50:03 -06:00
05f612e58a
Using the in-tree binary makes testing outside the source tree impossible. Use ipa-getkeytab from $PATH, and add the directory to $PATH when running the in-tree tests. Part of the work for https://fedorahosted.org/freeipa/ticket/3654 Reviewed-By: Martin Kosek <mkosek@redhat.com>
62 lines
1.1 KiB
Python
Executable File
62 lines
1.1 KiB
Python
Executable File
#!/usr/bin/python2
|
|
|
|
"""
|
|
Run IPA unit tests under multiple versions of Python (if present).
|
|
"""
|
|
|
|
import sys
|
|
import optparse
|
|
import os
|
|
from os import path
|
|
from subprocess import call
|
|
|
|
versions = ('2.4', '2.5', '2.6', '2.7')
|
|
python = '/usr/bin/python'
|
|
nose = '/usr/bin/nosetests'
|
|
ran = []
|
|
fail = []
|
|
|
|
cmd = [
|
|
nose,
|
|
'-v',
|
|
'--with-doctest',
|
|
'--doctest-tests',
|
|
'--exclude=plugins',
|
|
]
|
|
cmd += sys.argv[1:]
|
|
|
|
|
|
# This must be set so ipalib.api gets initialized property for tests:
|
|
os.environ['IPA_UNIT_TEST_MODE'] = 'cli_test'
|
|
|
|
# Add in-tree client binaries to PATH
|
|
os.environ['PATH'] = './ipa-client:' + os.environ['PATH']
|
|
|
|
if not path.isfile(nose):
|
|
print 'ERROR: need %r' % nose
|
|
sys.exit(100)
|
|
for v in versions:
|
|
pver = python + v
|
|
if not path.isfile(pver):
|
|
continue
|
|
command = [pver] + cmd
|
|
print ' '.join(cmd)
|
|
if 0 != call(cmd):
|
|
fail.append(pver)
|
|
ran.append(pver)
|
|
|
|
|
|
print '=' * 70
|
|
for pver in ran:
|
|
if pver in fail:
|
|
print 'FAILED under %r' % pver
|
|
else:
|
|
print 'passed under %r' % pver
|
|
print ''
|
|
if fail:
|
|
print '** FAIL **'
|
|
sys.exit(1)
|
|
else:
|
|
print '** pass **'
|
|
sys.exit(0)
|