mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
run-tests: pass Test instances into TestRunner._executetests()
Test instances (not paths) are passed into _executetests(). This means the logic for instantiating Test instances has been moved outside of _executetests(). This was done because an upcoming patch will reuse the logic in _executetests(). As part of this change, test counts are no longer managed by _executetests().
This commit is contained in:
parent
30b889d02b
commit
797b5410f7
@ -1240,11 +1240,11 @@ class TestRunner(object):
|
||||
print "running all tests"
|
||||
tests = orig
|
||||
|
||||
if self.options.unittest:
|
||||
suite = unittest.TestSuite()
|
||||
for count, testpath in enumerate(tests):
|
||||
suite.addTest(self._gettest(testpath, count, asunit=True))
|
||||
tests = [self._gettest(t, i, asunit=self.options.unittest)
|
||||
for i, t in enumerate(tests)]
|
||||
|
||||
if self.options.unittest:
|
||||
suite = unittest.TestSuite(tests=tests)
|
||||
verbosity = 1
|
||||
if self.options.verbose:
|
||||
verbosity = 2
|
||||
@ -1538,13 +1538,11 @@ class TestRunner(object):
|
||||
jobs = self.options.jobs
|
||||
done = queue.Queue()
|
||||
running = 0
|
||||
count = 0
|
||||
|
||||
def job(test, count):
|
||||
def job(test):
|
||||
try:
|
||||
t = self._gettest(test, count)
|
||||
done.put(t.run())
|
||||
t.cleanup()
|
||||
done.put(test.run())
|
||||
test.cleanup()
|
||||
except KeyboardInterrupt:
|
||||
pass
|
||||
except: # re-raises
|
||||
@ -1566,11 +1564,10 @@ class TestRunner(object):
|
||||
test = tests.pop(0)
|
||||
if self.options.loop:
|
||||
tests.append(test)
|
||||
t = threading.Thread(target=job, name=test,
|
||||
args=(test, count))
|
||||
t = threading.Thread(target=job, name=test.name,
|
||||
args=[test])
|
||||
t.start()
|
||||
running += 1
|
||||
count += 1
|
||||
except KeyboardInterrupt:
|
||||
self.abort[0] = True
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user