##// END OF EJS Templates
run-tests: skip threading for a single test...
timeless -
r27689:50e621fe default
parent child Browse files
Show More
@@ -1558,41 +1558,45 b' class TestSuite(unittest.TestSuite):'
1558 1558 statthread.start()
1559 1559
1560 1560 try:
1561 while tests or running:
1562 if not done.empty() or running == self._jobs or not tests:
1563 try:
1564 done.get(True, 1)
1565 running -= 1
1566 if result and result.shouldStop:
1567 stoppedearly = True
1568 break
1569 except queue.Empty:
1570 continue
1571 if tests and not running == self._jobs:
1572 test = tests.pop(0)
1573 if self._loop:
1574 if getattr(test, 'should_reload', False):
1575 num_tests[0] += 1
1576 tests.append(
1577 self._loadtest(test.name, num_tests[0]))
1578 else:
1579 tests.append(test)
1580 t = threading.Thread(target=job, name=test.name,
1581 args=(test, result))
1582 t.start()
1583 running += 1
1561 if len(tests) == 1:
1562 test = tests.pop(0)
1563 test.run(result)
1564 else:
1565 while tests or running:
1566 if not done.empty() or running == self._jobs or not tests:
1567 try:
1568 done.get(True, 1)
1569 running -= 1
1570 if result and result.shouldStop:
1571 stoppedearly = True
1572 break
1573 except queue.Empty:
1574 continue
1575 if tests and not running == self._jobs:
1576 test = tests.pop(0)
1577 if self._loop:
1578 if getattr(test, 'should_reload', False):
1579 num_tests[0] += 1
1580 tests.append(
1581 self._loadtest(test.name, num_tests[0]))
1582 else:
1583 tests.append(test)
1584 t = threading.Thread(target=job, name=test.name,
1585 args=(test, result))
1586 t.start()
1587 running += 1
1584 1588
1585 # If we stop early we still need to wait on started tests to
1586 # finish. Otherwise, there is a race between the test completing
1587 # and the test's cleanup code running. This could result in the
1588 # test reporting incorrect.
1589 if stoppedearly:
1590 while running:
1591 try:
1592 done.get(True, 1)
1593 running -= 1
1594 except queue.Empty:
1595 continue
1589 # If we stop early we still need to wait on started tests to
1590 # finish. Otherwise, there is a race between the test completing
1591 # and the test's cleanup code running. This could result in the
1592 # test reporting incorrect.
1593 if stoppedearly:
1594 while running:
1595 try:
1596 done.get(True, 1)
1597 running -= 1
1598 except queue.Empty:
1599 continue
1596 1600 except KeyboardInterrupt:
1597 1601 for test in runtests:
1598 1602 test.abort()
General Comments 0
You need to be logged in to leave comments. Login now