equal
deleted
inserted
replaced
1238 tests.pop(0) |
1238 tests.pop(0) |
1239 if not tests: |
1239 if not tests: |
1240 print "running all tests" |
1240 print "running all tests" |
1241 tests = orig |
1241 tests = orig |
1242 |
1242 |
|
1243 tests = [self._gettest(t, i, asunit=self.options.unittest) |
|
1244 for i, t in enumerate(tests)] |
|
1245 |
1243 if self.options.unittest: |
1246 if self.options.unittest: |
1244 suite = unittest.TestSuite() |
1247 suite = unittest.TestSuite(tests=tests) |
1245 for count, testpath in enumerate(tests): |
|
1246 suite.addTest(self._gettest(testpath, count, asunit=True)) |
|
1247 |
|
1248 verbosity = 1 |
1248 verbosity = 1 |
1249 if self.options.verbose: |
1249 if self.options.verbose: |
1250 verbosity = 2 |
1250 verbosity = 2 |
1251 runner = TextTestRunner(verbosity=verbosity) |
1251 runner = TextTestRunner(verbosity=verbosity) |
1252 runner.run(suite) |
1252 runner.run(suite) |
1536 |
1536 |
1537 def _executetests(self, tests): |
1537 def _executetests(self, tests): |
1538 jobs = self.options.jobs |
1538 jobs = self.options.jobs |
1539 done = queue.Queue() |
1539 done = queue.Queue() |
1540 running = 0 |
1540 running = 0 |
1541 count = 0 |
1541 |
1542 |
1542 def job(test): |
1543 def job(test, count): |
|
1544 try: |
1543 try: |
1545 t = self._gettest(test, count) |
1544 done.put(test.run()) |
1546 done.put(t.run()) |
1545 test.cleanup() |
1547 t.cleanup() |
|
1548 except KeyboardInterrupt: |
1546 except KeyboardInterrupt: |
1549 pass |
1547 pass |
1550 except: # re-raises |
1548 except: # re-raises |
1551 done.put(('!', test, 'run-test raised an error, see traceback')) |
1549 done.put(('!', test, 'run-test raised an error, see traceback')) |
1552 raise |
1550 raise |
1564 running -= 1 |
1562 running -= 1 |
1565 if tests and not running == jobs: |
1563 if tests and not running == jobs: |
1566 test = tests.pop(0) |
1564 test = tests.pop(0) |
1567 if self.options.loop: |
1565 if self.options.loop: |
1568 tests.append(test) |
1566 tests.append(test) |
1569 t = threading.Thread(target=job, name=test, |
1567 t = threading.Thread(target=job, name=test.name, |
1570 args=(test, count)) |
1568 args=[test]) |
1571 t.start() |
1569 t.start() |
1572 running += 1 |
1570 running += 1 |
1573 count += 1 |
|
1574 except KeyboardInterrupt: |
1571 except KeyboardInterrupt: |
1575 self.abort[0] = True |
1572 self.abort[0] = True |
1576 |
1573 |
1577 def _findprogram(self, program): |
1574 def _findprogram(self, program): |
1578 """Search PATH for a executable program""" |
1575 """Search PATH for a executable program""" |