try: for suite in tests: for test in suite._tests: if test.__class__.__name__ == 'ModuleImportFailure': raise Exception('Failed to import a test module: %s' % test) for s in test: if s._testMethodName == q: ans = s raise StopIteration() except StopIteration: pass if ans is None: print('No test named %s found' % args.name) raise SystemExit(1) tests = ans else: tests = unittest.defaultTestLoader.loadTestsFromName( args.name) if args.name else find_tests() r = unittest.TextTestRunner r.resultclass = TestResult r(verbosity=4).run(tests) if __name__ == '__main__': from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata() run_tests()
def init_env(): from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata()
def stopTestRun(self): super(TestResult, self).stopTestRun() if self.wasSuccessful(): tests = sorted(self.times, key=self.times.get, reverse=True) slowest = ['%s [%g s]' % (t.id(), self.times[t]) for t in tests[:3]] if len(slowest) > 1: self.stream.writeln('\nSlowest tests: %s' % ' '.join(slowest)) def find_tests(): return unittest.defaultTestLoader.discover(os.path.dirname(os.path.abspath(__file__)), pattern='*.py') if __name__ == '__main__': from calibre.utils.config_base import reset_tweaks_to_default from calibre.ebooks.metadata.book.base import reset_field_metadata reset_tweaks_to_default() reset_field_metadata() parser = argparse.ArgumentParser() parser.add_argument('name', nargs='?', default=None, help='The name of the test to run, for e.g. writing.WritingTest.many_many_basic or .many_many_basic for a shortcut') args = parser.parse_args() if args.name and args.name.startswith('.'): tests = find_tests() q = args.name[1:] if not q.startswith('test_'): q = 'test_' + q ans = None try: for suite in tests: for test in suite._tests: for s in test:
def setUpClass(cls): from calibre.utils.config_base import reset_tweaks_to_default reset_tweaks_to_default()