/[thuban]/branches/WIP-pyshapelib-bramz/test/runtests.py
ViewVC logotype

Contents of /branches/WIP-pyshapelib-bramz/test/runtests.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1555 - (show annotations)
Thu Aug 7 15:41:05 2003 UTC (21 years, 7 months ago) by bh
Original Path: trunk/thuban/test/runtests.py
File MIME type: text/x-python
File size: 2622 byte(s)
* test/support.py (SkipTest, ThubanTestResult, ThubanTestRunner)
(ThubanTestProgram): New classes that extend the respective
classes from unittest. These new version support skipping tests
under certain expected conditions. In the Thuban test suite we
uses this for tests that require the optional gdal support.
(run_tests): Use ThubanTestProgram instead of the unittest.main()

* test/runtests.py (main): Use the new ThubanTestRunner instead of
the normal one from unittest

* test/test_layer.py (TestLayer.test_raster_layer): If this test
is not run because gdal support isn't available report this to the
runner.

* test/test_baserenderer.py
(TestBaseRenderer.test_raster_no_projection): Do not run this test
if gdal support isn't available and report this to the runner.

1 # Copyright (c) 2002, 2003 by Intevation GmbH
2 # Authors:
3 # Bernhard Herzog <[email protected]>
4 #
5 # This program is free software under the GPL (>=v2)
6 # Read the file COPYING coming with Thuban for details.
7
8 """
9 Main entry point for the Thuban test suite.
10
11 Just run this file as a python script to execute all tests
12 """
13
14 __version__ = "$Revision$"
15 # $Source$
16 # $Id$
17
18 import os
19
20 # It should be possible to run the Thuban testsuite without an X
21 # connection, so we remove the DISPLAY environment variable which should
22 # lead to an error if the wxGTK module is imported accidentally. The
23 # DISPLAY variable is not always set so we catch and ignore the KeyError
24 try:
25 del os.environ["DISPLAY"]
26 except KeyError:
27 pass
28
29 import sys
30 import warnings
31 import unittest
32 import getopt
33
34 import support
35 support.initthuban()
36 import Thuban.Lib.connector
37
38 def main():
39 """Run all the tests in the Thuban test suite"""
40
41 # Turn Thuban's deprecation warnings into errors so they're cought
42 # by the tests
43 #
44 # Maintenance: Keep a warning filter until the backwards
45 # compatibility code is removed at which time using the old
46 # interfaces should lead to other errors anyway.
47
48 # The layer attributes table, shapetable, shapefile and filename are
49 # deprecated.
50 warnings.filterwarnings("error", "The Layer attribute.*is deprecated",
51 DeprecationWarning)
52
53 # Usage of the old table interface. This old interface is still used
54 # by the test_table.py module which calls filterwarnings too to
55 # ignore the warnings issued by its own intended use of the old
56 # interface.
57 warnings.filterwarnings("error", ".*old table interface.*",
58 DeprecationWarning)
59
60 verbosity = 1
61
62 opts, args = getopt.getopt(sys.argv[1:], 'v', ['verbose'])
63 for optchar, value in opts:
64 if optchar in ("-v", "--verbose"):
65 verbosity = 2
66 else:
67 print>>sys.stderr, "Unknown option", optchar
68
69 # All Python files starting with test in the current directory
70 # contain test cases.
71 # FIXME: It should be possible to run runtests.py even when not in
72 # the test directory
73 files = os.listdir(os.curdir)
74 names = []
75 for file in files:
76 if file[:4] == "test" and file[-3:] == ".py":
77 names.append(file[:-3])
78
79 suite = unittest.defaultTestLoader.loadTestsFromNames(names)
80 runner = support.ThubanTestRunner(verbosity = verbosity)
81 result = runner.run(suite)
82
83 support.print_additional_summary()
84
85 sys.exit(not result.wasSuccessful())
86
87
88 if __name__ == "__main__":
89 main()

Properties

Name Value
svn:eol-style native
svn:keywords Author Date Id Revision

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26