Remove trailing whitespace.
[cython.git] / Cython / Tests / xmlrunner.py
index b7cdaf55785353f79b366820dc21a6ff903a34d2..88001159e91e1cf34b9aefbbb0ae6895bbb98de1 100644 (file)
@@ -49,27 +49,27 @@ class _TestInfo(object):
     """This class is used to keep useful information about the execution of a
     test method.
     """
-    
+
     # Possible test outcomes
     (SUCCESS, FAILURE, ERROR) = range(3)
-    
+
     def __init__(self, test_result, test_method, outcome=SUCCESS, err=None):
         "Create a new instance of _TestInfo."
         self.test_result = test_result
         self.test_method = test_method
         self.outcome = outcome
         self.err = err
-    
+
     def get_elapsed_time(self):
         """Return the time that shows how long the test method took to
         execute.
         """
         return self.test_result.stop_time - self.test_result.start_time
-    
+
     def get_description(self):
         "Return a text representation of the test method."
         return self.test_result.getDescription(self.test_method)
-    
+
     def get_error_info(self):
         """Return a text representation of an exception thrown by a test
         method.
@@ -95,7 +95,7 @@ class _XMLTestResult(_TextTestResult):
         self.successes = []
         self.callback = None
         self.elapsed_times = elapsed_times
-    
+
     def _prepare_callback(self, test_info, target_list, verbose_str,
         short_str):
         """Append a _TestInfo to the given target list and sets a callback
@@ -106,51 +106,51 @@ class _XMLTestResult(_TextTestResult):
             """This callback prints the test method outcome to the stream,
             as well as the elapsed time.
             """
-            
+
             # Ignore the elapsed times for a more reliable unit testing
             if not self.elapsed_times:
                 self.start_time = self.stop_time = 0
-            
+
             if self.showAll:
                 self.stream.writeln('(%.3fs) %s' % \
                     (test_info.get_elapsed_time(), verbose_str))
             elif self.dots:
                 self.stream.write(short_str)
         self.callback = callback
-    
+
     def startTest(self, test):
         "Called before execute each test method."
         self.start_time = time.time()
         TestResult.startTest(self, test)
-        
+
         if self.showAll:
             self.stream.write('  ' + self.getDescription(test))
             self.stream.write(" ... ")
-    
+
     def stopTest(self, test):
         "Called after execute each test method."
         _TextTestResult.stopTest(self, test)
         self.stop_time = time.time()
-        
+
         if self.callback and callable(self.callback):
             self.callback()
             self.callback = None
-    
+
     def addSuccess(self, test):
         "Called when a test executes successfully."
         self._prepare_callback(_TestInfo(self, test), \
             self.successes, 'OK', '.')
-    
+
     def addFailure(self, test, err):
         "Called when a test method fails."
         self._prepare_callback(_TestInfo(self, test, _TestInfo.FAILURE, err), \
             self.failures, 'FAIL', 'F')
-    
+
     def addError(self, test, err):
         "Called when a test method raises an error."
         self._prepare_callback(_TestInfo(self, test, _TestInfo.ERROR, err), \
             self.errors, 'ERROR', 'E')
-    
+
     def printErrorList(self, flavour, errors):
         "Write some information about the FAIL or ERROR to the stream."
         for test_info in errors:
@@ -167,106 +167,106 @@ class _XMLTestResult(_TextTestResult):
         will be generated for each TestCase.
         """
         tests_by_testcase = {}
-        
+
         for tests in (self.successes, self.failures, self.errors):
             for test_info in tests:
                 testcase = type(test_info.test_method)
-                
+
                 # Ignore module name if it is '__main__'
                 module = testcase.__module__ + '.'
                 if module == '__main__.':
                     module = ''
                 testcase_name = module + testcase.__name__
-                
+
                 if not tests_by_testcase.has_key(testcase_name):
                     tests_by_testcase[testcase_name] = []
                 tests_by_testcase[testcase_name].append(test_info)
-        
+
         return tests_by_testcase
-    
+
     def _report_testsuite(suite_name, tests, xml_document):
         "Appends the testsuite section to the XML document."
         testsuite = xml_document.createElement('testsuite')
         xml_document.appendChild(testsuite)
-        
+
         testsuite.setAttribute('name', str(suite_name))
         testsuite.setAttribute('tests', str(len(tests)))
-        
+
         testsuite.setAttribute('time', '%.3f' % \
             sum(map(lambda e: e.get_elapsed_time(), tests)))
-        
+
         failures = filter(lambda e: e.outcome==_TestInfo.FAILURE, tests)
         testsuite.setAttribute('failures', str(len(failures)))
-        
+
         errors = filter(lambda e: e.outcome==_TestInfo.ERROR, tests)
         testsuite.setAttribute('errors', str(len(errors)))
-        
+
         return testsuite
-    
+
     _report_testsuite = staticmethod(_report_testsuite)
-    
+
     def _report_testcase(suite_name, test_result, xml_testsuite, xml_document):
         "Appends a testcase section to the XML document."
         testcase = xml_document.createElement('testcase')
         xml_testsuite.appendChild(testcase)
-        
+
         testcase.setAttribute('classname', str(suite_name))
         testcase.setAttribute('name', test_result.test_method.shortDescription()
                               or getattr(test_result.test_method, '_testMethodName',
                                          str(test_result.test_method)))
         testcase.setAttribute('time', '%.3f' % test_result.get_elapsed_time())
-        
+
         if (test_result.outcome != _TestInfo.SUCCESS):
             elem_name = ('failure', 'error')[test_result.outcome-1]
             failure = xml_document.createElement(elem_name)
             testcase.appendChild(failure)
-            
+
             failure.setAttribute('type', str(test_result.err[0].__name__))
             failure.setAttribute('message', str(test_result.err[1]))
-            
+
             error_info = test_result.get_error_info()
             failureText = xml_document.createCDATASection(error_info)
             failure.appendChild(failureText)
-    
+
     _report_testcase = staticmethod(_report_testcase)
-    
+
     def _report_output(test_runner, xml_testsuite, xml_document):
         "Appends the system-out and system-err sections to the XML document."
         systemout = xml_document.createElement('system-out')
         xml_testsuite.appendChild(systemout)
-        
+
         stdout = test_runner.stdout.getvalue()
         systemout_text = xml_document.createCDATASection(stdout)
         systemout.appendChild(systemout_text)
-        
+
         systemerr = xml_document.createElement('system-err')
         xml_testsuite.appendChild(systemerr)
-        
+
         stderr = test_runner.stderr.getvalue()
         systemerr_text = xml_document.createCDATASection(stderr)
         systemerr.appendChild(systemerr_text)
-    
+
     _report_output = staticmethod(_report_output)
-    
+
     def generate_reports(self, test_runner):
         "Generates the XML reports to a given XMLTestRunner object."
         from xml.dom.minidom import Document
         all_results = self._get_info_by_testcase()
-        
+
         if type(test_runner.output) == str and not \
             os.path.exists(test_runner.output):
             os.makedirs(test_runner.output)
-        
+
         for suite, tests in all_results.items():
             doc = Document()
-            
+
             # Build the XML file
             testsuite = _XMLTestResult._report_testsuite(suite, tests, doc)
             for test in tests:
                 _XMLTestResult._report_testcase(suite, test, testsuite, doc)
             _XMLTestResult._report_output(test_runner, testsuite, doc)
             xml_content = doc.toprettyxml(indent='\t')
-            
+
             if type(test_runner.output) is str:
                 report_file = open('%s%sTEST-%s.xml' % \
                     (test_runner.output, os.sep, suite), 'w')
@@ -289,14 +289,14 @@ class XMLTestRunner(TextTestRunner):
         TextTestRunner.__init__(self, stream, descriptions, verbosity)
         self.output = output
         self.elapsed_times = elapsed_times
-    
+
     def _make_result(self):
         """Create the TestResult object which will be used to store
         information about the executed tests.
         """
         return _XMLTestResult(self.stream, self.descriptions, \
             self.verbosity, self.elapsed_times)
-    
+
     def _patch_standard_output(self):
         """Replace the stdout and stderr streams with string-based streams
         in order to capture the tests' output.
@@ -304,30 +304,30 @@ class XMLTestRunner(TextTestRunner):
         (self.old_stdout, self.old_stderr) = (sys.stdout, sys.stderr)
         (sys.stdout, sys.stderr) = (self.stdout, self.stderr) = \
             (StringIO(), StringIO())
-    
+
     def _restore_standard_output(self):
         "Restore the stdout and stderr streams."
         (sys.stdout, sys.stderr) = (self.old_stdout, self.old_stderr)
-    
+
     def run(self, test):
         "Run the given test case or test suite."
-        
+
         try:
             # Prepare the test execution
             self._patch_standard_output()
             result = self._make_result()
-            
+
             # Print a nice header
             self.stream.writeln()
             self.stream.writeln('Running tests...')
             self.stream.writeln(result.separator2)
-            
+
             # Execute tests
             start_time = time.time()
             test(result)
             stop_time = time.time()
             time_taken = stop_time - start_time
-            
+
             # Print results
             result.printErrors()
             self.stream.writeln(result.separator2)
@@ -335,7 +335,7 @@ class XMLTestRunner(TextTestRunner):
             self.stream.writeln("Ran %d test%s in %.3fs" %
                 (run, run != 1 and "s" or "", time_taken))
             self.stream.writeln()
-            
+
             # Error traces
             if not result.wasSuccessful():
                 self.stream.write("FAILED (")
@@ -349,12 +349,12 @@ class XMLTestRunner(TextTestRunner):
                 self.stream.writeln(")")
             else:
                 self.stream.writeln("OK")
-            
+
             # Generate reports
             self.stream.writeln()
             self.stream.writeln('Generating XML reports...')
             result.generate_reports(self)
         finally:
             self._restore_standard_output()
-        
+
         return result