/[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 1245 - (show annotations)
Thu Jun 19 19:29:23 2003 UTC (21 years, 8 months ago) by bh
Original Path: trunk/thuban/test/runtests.py
File MIME type: text/x-python
File size: 1951 byte(s)
Add XML validation to some of the tests. Validation will only be
done if pyRXP is installed (http://reportlab.com/xml/pyrxp.html).
To make the DTD available to the test cases it's moved into
Resources/XML

* Resources/XML/thuban.dtd: New. This is now the real Thuban DTD
for versions up to and including 0.2. Two slight changes: added an
encoding specification and fixed the comment which refered to
GRASS, not Thuban

* test/xmlsupport.py: New support module for tests involving XML.
Currently there's a mix-in class for XML validation.

* test/test_xmlsupport.py: New. Tests for the xmlsupport module

* test/test_save.py (SaveSessionTest): Derive from ValidationTest
so that we can validate the
(SaveSessionTest.testEmptySession)
(SaveSessionTest.testSingleLayer)
(SaveSessionTest.testSingleLayer)
(SaveSessionTest.testLayerProjection)
(SaveSessionTest.testRasterLayer)
(SaveSessionTest.testClassifiedLayer): Validate the generated XML

* test/runtests.py (main): Call print_additional_summary instead
of print_garbage_information

* test/support.py (resource_dir): New function to return the
"Resource" subdirectory
(print_additional_summary): New function to combine several
summary functions
(run_tests): Use print_additional_summary instead of calling
print_garbage_information directly

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
15 import os, sys
16 import warnings
17 import unittest
18
19 import support
20 support.initthuban()
21 import Thuban.Lib.connector
22
23 def main():
24 """Run all the tests in the Thuban test suite"""
25
26 # Turn Thuban's deprecation warnings into errors so they're cought
27 # by the tests
28 #
29 # Maintenance: Keep a warning filter until the backwards
30 # compatibility code is removed at which time using the old
31 # interfaces should lead to other errors anyway.
32
33 # The layer attributes table, shapetable, shapefile and filename are
34 # deprecated.
35 warnings.filterwarnings("error", "The Layer attribute.*is deprecated",
36 DeprecationWarning)
37
38 # Usage of the old table interface. This old interface is still used
39 # by the test_table.py module which calls filterwarnings too to
40 # ignore the warnings issued by its own intended use of the old
41 # interface.
42 warnings.filterwarnings("error", ".*old table interface.*",
43 DeprecationWarning)
44
45
46 # All Python files starting with test in the current directory
47 # contain test cases.
48 # FIXME: It should be possible to run runtests.py even when not in
49 # the test directory
50 files = os.listdir(os.curdir)
51 names = []
52 for file in files:
53 if file[:4] == "test" and file[-3:] == ".py":
54 names.append(file[:-3])
55
56 suite = unittest.defaultTestLoader.loadTestsFromNames(names)
57 runner = unittest.TextTestRunner(verbosity = 2)
58 result = runner.run(suite)
59
60 support.print_additional_summary()
61
62 sys.exit(not result.wasSuccessful())
63
64
65 if __name__ == "__main__":
66 main()

Properties

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

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26