tests/run-tests.py
changeset 21431 0f12bc8aed80
parent 21430 cf2992656bf8
child 21432 1a46f9635ef0
equal deleted inserted replaced
21430:cf2992656bf8 21431:0f12bc8aed80
   991 
   991 
   992         # unittest.TestResult didn't have skipped until 2.7. We need to
   992         # unittest.TestResult didn't have skipped until 2.7. We need to
   993         # polyfill it.
   993         # polyfill it.
   994         self.skipped = []
   994         self.skipped = []
   995 
   995 
       
   996         # We have a custom "ignored" result that isn't present in any Python
       
   997         # unittest implementation. It is very similar to skipped. It may make
       
   998         # sense to map it into skip some day.
       
   999         self.ignored = []
       
  1000 
   996     # Polyfill.
  1001     # Polyfill.
   997     def addSkip(self, test, reason):
  1002     def addSkip(self, test, reason):
   998         self.skipped.append((test, reason))
  1003         self.skipped.append((test, reason))
   999 
  1004 
  1000         if self.showAll:
  1005         if self.showAll:
  1001             self.stream.writeln('skipped %s' % reason)
  1006             self.stream.writeln('skipped %s' % reason)
  1002         else:
  1007         else:
  1003             self.stream.write('s')
  1008             self.stream.write('s')
       
  1009             self.stream.flush()
       
  1010 
       
  1011     def addIgnore(self, test, reason):
       
  1012         self.ignored.append((test, reason))
       
  1013 
       
  1014         if self.showAll:
       
  1015             self.stream.writeln('ignored %s' % reason)
       
  1016         else:
       
  1017             self.stream.write('i')
  1004             self.stream.flush()
  1018             self.stream.flush()
  1005 
  1019 
  1006 class TextTestRunner(unittest.TextTestRunner):
  1020 class TextTestRunner(unittest.TextTestRunner):
  1007     """Custom unittest test runner that uses appropriate settings."""
  1021     """Custom unittest test runner that uses appropriate settings."""
  1008 
  1022 
  1303                 elif code == '.':
  1317                 elif code == '.':
  1304                     pass
  1318                     pass
  1305                 elif code == 's':
  1319                 elif code == 's':
  1306                     self._result.addSkip(self, msg)
  1320                     self._result.addSkip(self, msg)
  1307                 elif code == 'i':
  1321                 elif code == 'i':
  1308                     pass
  1322                     self._result.addIgnore(self, msg)
  1309                 else:
  1323                 else:
  1310                     self.fail('Unknown test result code: %s' % code)
  1324                     self.fail('Unknown test result code: %s' % code)
  1311 
  1325 
  1312         return MercurialTest(test)
  1326         return MercurialTest(test)
  1313 
  1327