[llvm] 20bb48c - [lit] Extract Display.print_header function

Julian Lettner via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 31 11:43:31 PDT 2019


Author: Julian Lettner
Date: 2019-10-31T11:43:20-07:00
New Revision: 20bb48c7a7dad630c5e81c28d18edc55f1206821

URL: https://github.com/llvm/llvm-project/commit/20bb48c7a7dad630c5e81c28d18edc55f1206821
DIFF: https://github.com/llvm/llvm-project/commit/20bb48c7a7dad630c5e81c28d18edc55f1206821.diff

LOG: [lit] Extract Display.print_header function

Added: 
    

Modified: 
    llvm/utils/lit/lit/ProgressBar.py
    llvm/utils/lit/lit/display.py
    llvm/utils/lit/lit/main.py

Removed: 
    


################################################################################
diff  --git a/llvm/utils/lit/lit/ProgressBar.py b/llvm/utils/lit/lit/ProgressBar.py
index 57b354efa35f..cefde67a3d09 100644
--- a/llvm/utils/lit/lit/ProgressBar.py
+++ b/llvm/utils/lit/lit/ProgressBar.py
@@ -241,7 +241,7 @@ def __init__(self, term, header, useETA=True):
         self.useETA = useETA
         if self.useETA:
             self.startTime = time.time()
-        self.update(0, '')
+        # self.update(0, '')
 
     def update(self, percent, message):
         if self.cleared:

diff  --git a/llvm/utils/lit/lit/display.py b/llvm/utils/lit/lit/display.py
index 687c57e33853..05b752a90fdc 100644
--- a/llvm/utils/lit/lit/display.py
+++ b/llvm/utils/lit/lit/display.py
@@ -14,30 +14,33 @@ def create_display(opts, tests, total_tests, workers):
         try:
             tc = lit.ProgressBar.TerminalController()
             progress_bar = lit.ProgressBar.ProgressBar(tc, header)
+            header = None
         except ValueError:
-            print(header)
             progress_bar = lit.ProgressBar.SimpleProgressBar('Testing: ')
-    else:
-        print(header)
 
-    if progress_bar:
-        progress_bar.update(0, '')
-
-    return Display(opts, tests, progress_bar)
+    return Display(opts, tests, header, progress_bar)
 
 
 class NopDisplay(object):
+    def print_header(self): pass
     def update(self, test): pass
-    def finish(self): pass
+    def clear(self): pass
 
 
 class Display(object):
-    def __init__(self, opts, tests, progress_bar):
+    def __init__(self, opts, tests, header, progress_bar):
         self.opts = opts
         self.tests = tests
+        self.header = header
         self.progress_bar = progress_bar
         self.completed = 0
 
+    def print_header(self):
+        if self.header:
+            print(self.header)
+        if self.progress_bar:
+            self.progress_bar.update(0.0, '')
+
     def update(self, test):
         self.completed += 1
 
@@ -45,6 +48,8 @@ def update(self, test):
                 self.opts.showAllOutput or \
                 (not self.opts.quiet and not self.opts.succinct)
         if show_result:
+            if self.progress_bar:
+                self.progress_bar.clear()
             self.print_result(test)
 
         if self.progress_bar:
@@ -53,15 +58,12 @@ def update(self, test):
             percent = float(self.completed) / self.tests
             self.progress_bar.update(percent, test.getFullName())
 
-    def finish(self):
+    def clear(self):
         if self.progress_bar:
             self.progress_bar.clear()
         sys.stdout.write('\n')
 
     def print_result(self, test):
-        if self.progress_bar:
-            self.progress_bar.clear()
-
         # Show the test result line.
         test_name = test.getFullName()
         print('%s: %s (%d of %d)' % (test.result.code.name, test_name,

diff  --git a/llvm/utils/lit/lit/main.py b/llvm/utils/lit/lit/main.py
index 81731e7efdc3..337d154a560d 100755
--- a/llvm/utils/lit/lit/main.py
+++ b/llvm/utils/lit/lit/main.py
@@ -179,6 +179,7 @@ def progress_callback(test):
     run = lit.run.create_run(tests, litConfig, opts.numWorkers,
                              progress_callback, opts.timeout)
 
+    display.print_header()
     try:
         elapsed = execute_in_tmp_dir(run, litConfig)
     except KeyboardInterrupt:
@@ -188,9 +189,9 @@ def progress_callback(test):
     # TODO(yln): change display to update when test starts, not when test completes
     # Ensure everything still works with SimpleProgressBar as well
     # finally:
-    #     display.finish()
+    #     display.clear()
 
-    display.finish()
+    display.clear()
     return elapsed
 
 def execute_in_tmp_dir(run, litConfig):


        


More information about the llvm-commits mailing list