blob: d2e21b17d0e9dc61e055444aff054f7867cab65f [file] [log] [blame]
import os, sys, string, shutil, traceback
### Fix these paths!
python = 'C:/PROGRA~1/Python/python.exe'
shell = 'C:/PROGRA~1/Cygnus/cygwin/bin/bash.exe'
tests = ['subversion/tests/libsvn_subr/path-test.exe',
'subversion/tests/libsvn_delta/random-test.exe',
'subversion/tests/libsvn_subr/hashdump-test.exe',
'subversion/tests/libsvn_wc/translate-test.exe',
'subversion/tests/libsvn_subr/stringtest.exe',
'subversion/tests/clients/cmdline/xmltests/svn-test.sh',
'subversion/tests/clients/cmdline/xmltests/svn-test2.sh',
'subversion/tests/libsvn_subr/target-test.sh',
'subversion/tests/libsvn_subr/time-test.exe']
fs_tests = ['subversion/tests/libsvn_fs/run-fs-tests.py',
'subversion/tests/libsvn_repos/run-repos-tests.py']
python_tests = ['subversion/tests/clients/cmdline/getopt_tests.py',
'subversion/tests/clients/cmdline/basic_tests.py',
'subversion/tests/clients/cmdline/commit_tests.py',
'subversion/tests/clients/cmdline/update_tests.py',
'subversion/tests/clients/cmdline/prop_tests.py',
'subversion/tests/clients/cmdline/schedule_tests.py',
'subversion/tests/clients/cmdline/log_tests.py',
'subversion/tests/clients/cmdline/copy_tests.py',
'subversion/tests/clients/cmdline/diff_tests.py',
'subversion/tests/clients/cmdline/stat_tests.py',
'subversion/tests/clients/cmdline/trans_tests.py',
'subversion/tests/clients/cmdline/svnadmin_tests.py',
'subversion/tests/clients/cmdline/module_tests.py']
all_tests = tests + fs_tests + python_tests
# Have to move the executables where the tests expect them to be
if len(sys.argv) == 1 or sys.argv[1] == 'd' or sys.argv[1] == 'debug':
filter = 'Debug'
elif sys.argv[1] == 'r' or sys.argv[1] == 'release':
filter = 'Release'
else:
sys.stderr.write("Wrong test mode '" + type + "'\n")
sys.exit(1)
def delete_execs(filter, dirname, names):
if os.path.basename(dirname) != filter: return
for name in names:
if os.path.splitext(name)[1] != ".exe": continue
src = os.path.join(dirname, name)
tgt = os.path.join(os.path.dirname(dirname), name)
try:
if os.path.isfile(tgt):
print "kill:", tgt
os.unlink(tgt)
except:
traceback.print_exc(file=sys.stdout)
pass
def copy_execs(filter, dirname, names):
if os.path.basename(dirname) != filter: return
for name in names:
if os.path.splitext(name)[1] != ".exe": continue
src = os.path.join(dirname, name)
tgt = os.path.join(os.path.dirname(dirname), name)
try:
print "copy:", src
print " to:", tgt
shutil.copy(src, tgt)
except:
traceback.print_exc(file=sys.stdout)
pass
# Copy the execs
os.path.walk("subversion", copy_execs, filter)
# Run the tests
abs_srcdir = os.path.abspath("")
abs_builddir = abs_srcdir ### For now ...
sys.path.insert(0, os.path.join(abs_srcdir, 'build'))
import run_tests
th = run_tests.TestHarness(abs_srcdir, abs_builddir, python, shell,
os.path.abspath('tests.log'))
failed = th.run(all_tests)
# Remove the execs again
os.path.walk("subversion", delete_execs, filter)
if failed:
print
print 'FAIL:', sys.argv[0]
sys.exit(1)