diff options
| author | Daniel Dunbar <daniel@zuster.org> | 2013-08-29 00:54:09 +0000 |
|---|---|---|
| committer | Daniel Dunbar <daniel@zuster.org> | 2013-08-29 00:54:09 +0000 |
| commit | eecb1c1d2545aa8d166c2beba81ca5015b6363d8 (patch) | |
| tree | 81ca0e8529a7ed7d37d89a9c20f03358280cee33 /llvm/utils/lit | |
| parent | 516dc8b9be14d068bc5a9d51c35fa2d75eca1836 (diff) | |
| download | bcm5719-llvm-eecb1c1d2545aa8d166c2beba81ca5015b6363d8.tar.gz bcm5719-llvm-eecb1c1d2545aa8d166c2beba81ca5015b6363d8.zip | |
[lit] Put display lock inside the ThreadResultsConsumer.
llvm-svn: 189553
Diffstat (limited to 'llvm/utils/lit')
| -rwxr-xr-x | llvm/utils/lit/lit/main.py | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/llvm/utils/lit/lit/main.py b/llvm/utils/lit/lit/main.py index 0a7347beb26..29275ac34a7 100755 --- a/llvm/utils/lit/lit/main.py +++ b/llvm/utils/lit/lit/main.py @@ -22,23 +22,9 @@ class TestingProgressDisplay: self.opts = opts self.numTests = numTests self.current = None - self.lock = threading.Lock() self.progressBar = progressBar self.completed = 0 - def update(self, test): - # Avoid locking overhead in quiet mode - if self.opts.quiet and not test.result.code.isFailure: - self.completed += 1 - return - - # Output lock. - self.lock.acquire() - try: - self.handleUpdate(test) - finally: - self.lock.release() - def finish(self): if self.progressBar: self.progressBar.clear() @@ -47,13 +33,14 @@ class TestingProgressDisplay: elif self.opts.succinct: sys.stdout.write('\n') - def handleUpdate(self, test): + def update(self, test): self.completed += 1 if self.progressBar: self.progressBar.update(float(self.completed)/self.numTests, test.getFullName()) - if self.opts.succinct and not test.result.code.isFailure: + if not test.result.code.isFailure and \ + (self.opts.quiet or self.opts.succinct): return if self.progressBar: @@ -129,9 +116,14 @@ class Tester(object): class ThreadResultsConsumer(object): def __init__(self, display): self.display = display + self.lock = threading.Lock() def update(self, test_index, test): - self.display.update(test) + self.lock.acquire() + try: + self.display.update(test) + finally: + self.lock.release() def taskFinished(self): pass |

