From d2d5f2084fa24d3623b3a354f067be66fcb123a2 Mon Sep 17 00:00:00 2001 From: Damien Laniel Date: Tue, 20 May 2008 13:22:55 +0000 Subject: import main test file --- bindings/python/tests/tests.py | 103 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100755 bindings/python/tests/tests.py (limited to 'bindings/python/tests/tests.py') 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 """""" + print """""" + print """ Python Bindings""" + print """ %s""" % 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 """""" + +sys.exit(not success) -- cgit