def run_tests(self, handle_coverage=True): """ runs all tests """ sys.stdout.write("Finding files... ") files = self.find_import_files() if self.verbosity > 3: sys.stdout.write('%s ... done.\n' % (self.files_or_dirs)) else: sys.stdout.write('done.\n') sys.stdout.write("Importing test modules ... ") if handle_coverage: coverage_files, coverage = StartCoverageSupport(self.configuration) file_and_modules_and_module_name = self.find_modules_from_files(files) sys.stdout.write("done.\n") all_tests = self.find_tests_from_modules( file_and_modules_and_module_name) if self.test_filter or self.tests: if self.test_filter: sys.stdout.write('Test Filter: %s\n' % ([p.pattern for p in self.test_filter], )) if self.tests: sys.stdout.write('Tests to run: %s\n' % (self.tests, )) all_tests = self.filter_tests(all_tests) test_suite = unittest.TestSuite(all_tests) import pydev_runfiles_xml_rpc pydev_runfiles_xml_rpc.notifyTestsCollected( test_suite.countTestCases()) executed_in_parallel = False start_time = time.time() if self.jobs > 1: import pydev_runfiles_parallel #What may happen is that the number of jobs needed is lower than the number of jobs requested #(e.g.: 2 jobs were requested for running 1 test) -- in which case ExecuteTestsInParallel will #return False and won't run any tests. executed_in_parallel = pydev_runfiles_parallel.ExecuteTestsInParallel( all_tests, self.jobs, self.split_jobs, self.verbosity, coverage_files, self.configuration.coverage_include) if not executed_in_parallel: #If in coverage, we don't need to pass anything here (coverage is already enabled for this execution). runner = pydev_runfiles_unittest.PydevTextTestRunner( stream=sys.stdout, descriptions=1, verbosity=self.verbosity) sys.stdout.write('\n') runner.run(test_suite) if handle_coverage: coverage.stop() coverage.save() total_time = 'Finished in: %.2f secs.' % (time.time() - start_time, ) pydev_runfiles_xml_rpc.notifyTestRunFinished(total_time)
def run_tests(): executed_in_parallel = False if self.jobs > 1: import pydev_runfiles_parallel #What may happen is that the number of jobs needed is lower than the number of jobs requested #(e.g.: 2 jobs were requested for running 1 test) -- in which case ExecuteTestsInParallel will #return False and won't run any tests. executed_in_parallel = pydev_runfiles_parallel.ExecuteTestsInParallel( all_tests, self.jobs, self.split_jobs, self.verbosity, coverage_files, self.configuration.coverage_include) if not executed_in_parallel: #If in coverage, we don't need to pass anything here (coverage is already enabled for this execution). runner = pydev_runfiles_unittest.PydevTextTestRunner( stream=sys.stdout, descriptions=1, verbosity=self.verbosity) sys.stdout.write('\n') runner.run(test_suite)