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/XmlTestRunner.py | 74 ++++++++++++++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 bindings/python/tests/XmlTestRunner.py (limited to 'bindings/python/tests/XmlTestRunner.py') diff --git a/bindings/python/tests/XmlTestRunner.py b/bindings/python/tests/XmlTestRunner.py new file mode 100644 index 00000000..152dc8b2 --- /dev/null +++ b/bindings/python/tests/XmlTestRunner.py @@ -0,0 +1,74 @@ +# -*- coding: UTF-8 -*- +# +# $Id: XmlTestRunner.py 3254 2007-06-05 21:23:57Z fpeters $ +# +# XmlTestRunner +# +# Copyright (C) 2004-2007 Entr'ouvert +# +# Authors: Frederic Peters +# +# 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 unittest +import time +import sys + +def xml(text): + if not text: + return "" + return text.replace('&', '&').replace('<', '<').replace('>', '>') + +class XmlTestResult(unittest.TestResult): + def addSuccess(self, test): + print """ + %s + %s + """ % (test.id(), xml(test.shortDescription())) + + def addError(self, test, err): + unittest.TestResult.addError(self, test, err) + print """ + %s + %s + """ % (test.id(), xml(test.shortDescription())) + # TODO: add err + + def addFailure(self, test, err): + unittest.TestResult.addFailure(self, test, err) + print """ + %s + %s + """ % (test.id(), xml(test.shortDescription())) + # TODO: add err + + +class XmlTestRunner: + def _makeResult(self): + return XmlTestResult() + + def run(self, test): + print "" + result = self._makeResult() + startTime = time.time() + test(result) + stopTime = time.time() + timeTaken = float(stopTime - startTime) + print " %s" % timeTaken + print "" + + return result + -- cgit