tests/run-tests.py
changeset 21491 e9faeb21f954
parent 21490 588ebd47cd87
child 21492 a9c4f4912402
equal deleted inserted replaced
21490:588ebd47cd87 21491:e9faeb21f954
   464         if not (options.whitelisted and self.name in options.whitelisted):
   464         if not (options.whitelisted and self.name in options.whitelisted):
   465             if options.blacklist and self.name in options.blacklist:
   465             if options.blacklist and self.name in options.blacklist:
   466                 raise SkipTest('blacklisted')
   466                 raise SkipTest('blacklisted')
   467 
   467 
   468             if options.retest and not os.path.exists('%s.err' % self.name):
   468             if options.retest and not os.path.exists('%s.err' % self.name):
   469                 return self.ignore('not retesting')
   469                 raise IgnoreTest('not retesting')
   470 
   470 
   471             if options.keywords:
   471             if options.keywords:
   472                 f = open(self.name)
   472                 f = open(self.name)
   473                 t = f.read().lower() + self.name.lower()
   473                 t = f.read().lower() + self.name.lower()
   474                 f.close()
   474                 f.close()
   475                 for k in options.keywords.lower().split():
   475                 for k in options.keywords.lower().split():
   476                     if k in t:
   476                     if k in t:
   477                         break
   477                         break
   478                     else:
   478                     else:
   479                         return self.ignore("doesn't match keyword")
   479                         raise IgnoreTest("doesn't match keyword")
   480 
   480 
   481         if not os.path.basename(self.name.lower()).startswith('test-'):
   481         if not os.path.basename(self.name.lower()).startswith('test-'):
   482             raise SkipTest('not a test file')
   482             raise SkipTest('not a test file')
   483 
   483 
   484         replacements, port = self._getreplacements()
   484         replacements, port = self._getreplacements()
   684             raise WarnTest(msg)
   684             raise WarnTest(msg)
   685         else:
   685         else:
   686             # unittest differentiates between errored and failed.
   686             # unittest differentiates between errored and failed.
   687             # Failed is denoted by AssertionError (by default at least).
   687             # Failed is denoted by AssertionError (by default at least).
   688             raise AssertionError(msg)
   688             raise AssertionError(msg)
   689 
       
   690     def ignore(self, msg):
       
   691         raise IgnoreTest(msg)
       
   692 
   689 
   693 class PythonTest(Test):
   690 class PythonTest(Test):
   694     """A Python-based test."""
   691     """A Python-based test."""
   695     def _run(self, replacements, env):
   692     def _run(self, replacements, env):
   696         py3kswitch = self._options.py3k_warnings and ' -3' or ''
   693         py3kswitch = self._options.py3k_warnings and ' -3' or ''