summaryrefslogtreecommitdiffstats
path: root/bindings/python/tests/tests.py
diff options
context:
space:
mode:
authorDamien Laniel <dlaniel@entrouvert.com>2008-05-20 13:22:55 +0000
committerDamien Laniel <dlaniel@entrouvert.com>2008-05-20 13:22:55 +0000
commitd2d5f2084fa24d3623b3a354f067be66fcb123a2 (patch)
treeed06f9211f54c723e823c5b94c59c154716a64b1 /bindings/python/tests/tests.py
parent7860262cf668640149c2ae37db5cf9b8d0b86587 (diff)
downloadlasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.tar.gz
lasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.tar.xz
lasso-d2d5f2084fa24d3623b3a354f067be66fcb123a2.zip
import main test file
Diffstat (limited to 'bindings/python/tests/tests.py')
-rwxr-xr-xbindings/python/tests/tests.py103
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)