summaryrefslogtreecommitdiff
path: root/cpp/allTests.py
blob: 8691744dd17637fc88933992f4012555d3971be9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
#!/usr/bin/env python
# **********************************************************************
#
# Copyright (c) 2001
# MutableRealms, Inc.
# Huntsville, AL, USA
#
# All Rights Reserved
#
# **********************************************************************

import os, sys

for toplevel in [".", "..", "../..", "../../..", "../../../.."]:
    toplevel = os.path.normpath(toplevel)
    if os.path.exists(os.path.join(toplevel, "config", "TestUtil.py")):
        break
else:
    raise "can't find toplevel directory!"

#
# List of all tests.
#
tests = [ \
    "IceUtil/thread", \
    "IceUtil/unicode", \
    "Slice/errorDetection", \
    "Ice/operations", \
    "Ice/exceptions", \
    "Ice/inheritance", \
    "Ice/facets", \
    "Ice/objects", \
    "Ice/faultTolerance", \
    "Ice/locationForward", \
    "IceXML/encoding", \
    "IcePack/simple", \
    "Freeze/cursor", \
    "Freeze/complex", \
    "IceStorm/single", \
    "IceStorm/federation", \
    "IceStorm/federation2", \
    ]
# "Freeze/dbmap", \

#
# Only add Glacier tests for Linux systems
#
# The slice on sys.platform is required - my cygwin comes back
# as cygwin_nt-4.01
#
if sys.platform != "win32" and sys.platform[:6] != "cygwin":
    tests += [ \
        "Glacier/starter", \
        ]

#
# The user can supply on the command line a subset of tests to run.
#
if sys.argv[1:]:
    print "limiting tests"
    newtests = []
    for i in tests:
	if i in sys.argv[1:]:
	    newtests.append(i)
    tests = newtests

#
# Run each of the tests.
#
for i in tests:

    i = os.path.normpath(i)
    dir = os.path.join(toplevel, "test", i)

    print
    print "*** running tests in " + dir + ":"
    print

    try:
        execfile(os.path.join(dir, "run.py"))
    except SystemExit, (status,):
        if status:
            sys.exit(status)