diff options
| author | Damien Laniel <dlaniel@entrouvert.com> | 2008-05-20 13:22:55 +0000 |
|---|---|---|
| committer | Damien Laniel <dlaniel@entrouvert.com> | 2008-05-20 13:22:55 +0000 |
| commit | d2d5f2084fa24d3623b3a354f067be66fcb123a2 (patch) | |
| tree | ed06f9211f54c723e823c5b94c59c154716a64b1 /bindings/python/tests/tests.py | |
| parent | 7860262cf668640149c2ae37db5cf9b8d0b86587 (diff) | |
| download | lasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.tar.gz lasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.tar.xz lasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.zip | |
import main test file
Diffstat (limited to 'bindings/python/tests/tests.py')
| -rwxr-xr-x | bindings/python/tests/tests.py | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/bindings/python/tests/tests.py b/bindings/python/tests/tests.py new file mode 100755 index 00000000..9915a64e --- /dev/null +++ b/bindings/python/tests/tests.py @@ -0,0 +1,103 @@ +#! /usr/bin/env python +# -*- coding: UTF-8 -*- +# +# $Id: tests.py 3425 2007-10-10 09:31:03Z dlaniel $ +# +# Python unit tests for Lasso library +# +# Copyright (C) 2004-2007 Entr'ouvert +# http://lasso.entrouvert.org +# +# Authors: See AUTHORS file in top-level directory. +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +import __builtin__ +import imp +from optparse import OptionParser +import os +import sys +import time +import unittest + +from XmlTestRunner import XmlTestRunner + +if not '..' in sys.path: + sys.path.insert(0, '..') +if not '../.libs' in sys.path: + sys.path.insert(0, '../.libs') + + +testSuites = [ + 'binding_tests', + 'profiles_tests', + ] + +import lasso +if lasso.WSF_SUPPORT: + testSuites.append('idwsf1_tests') + testSuites.append('idwsf2_tests') + + +# Parse command line options. +parser = OptionParser() +parser.add_option( + '-x', '--xml', dest = 'xmlMode', help = 'enable XML output', + action = 'store_true', default = False) +parser.add_option( + '-s', '--source-dir', dest = 'srcDir', help = 'path of source directory', + metavar = 'DIR', default = os.getcwd()) +(options, args) = parser.parse_args() +__builtin__.__dict__['dataDir'] = os.path.join(options.srcDir, '../../../tests/data') + +if options.xmlMode: + print """<?xml version="1.0"?>""" + print """<testsuites xmlns="http://check.sourceforge.net/ns">""" + print """ <title>Python Bindings</title>""" + print """ <datetime>%s</datetime>""" % time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()) + +success = True +for testSuite in testSuites: + fp, pathname, description = imp.find_module(testSuite) + try: + module = imp.load_module(testSuite, fp, pathname, description) + finally: + if fp: + fp.close() + if not module: + print >> sys.stderr, 'Unable to load test suite:', testSuite + continue + + if module.__doc__: + doc = module.__doc__ + else: + doc = testSuite + + if options.xmlMode: + runner = XmlTestRunner() + else: + runner = unittest.TextTestRunner(verbosity=2) + print + print '-' * len(doc) + print doc + print '-' * len(doc) + result = runner.run(module.allTests) + success = success and result.wasSuccessful() + +if options.xmlMode: + print """</testsuites>""" + +sys.exit(not success) |
