]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
moveconfig: Reduce the amount of output
authorSimon Glass <sjg@chromium.org>
Sat, 23 Sep 2023 19:44:07 +0000 (13:44 -0600)
committerSimon Glass <sjg@chromium.org>
Wed, 4 Oct 2023 15:25:21 +0000 (09:25 -0600)
Output a single line in the case where the defconfig only has one line
of output. Show the name without the _defconfig suffix, since that is the
same for all boards.

Use a list for the log so it is easier to process at the end.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/moveconfig.py

index 568386f7b9d0a92866437eafffd38c3b01da7238..9d228720c739c034bfbdc2b0892ead7a2dc70355 100755 (executable)
@@ -410,7 +410,7 @@ class Slot:
         self.state = STATE_IDLE
         self.failed_boards = set()
         self.defconfig = None
-        self.log = ''
+        self.log = []
         self.current_src_dir = None
         self.proc = None
 
@@ -446,7 +446,7 @@ class Slot:
             return False
 
         self.defconfig = defconfig
-        self.log = ''
+        self.log = []
         self.current_src_dir = self.reference_src_dir
         self.do_defconfig()
         return True
@@ -498,11 +498,12 @@ class Slot:
     def handle_error(self):
         """Handle error cases."""
 
-        self.log += color_text(self.args.color, COLOR_LIGHT_RED,
-                               'Failed to process.\n')
+        self.log.append(color_text(self.args.color, COLOR_LIGHT_RED,
+                                   'Failed to process'))
         if self.args.verbose:
-            self.log += color_text(self.args.color, COLOR_LIGHT_CYAN,
-                                   self.proc.stderr.read().decode())
+            for line in self.proc.stderr.read().decode().splitlines():
+                self.log.append(color_text(self.args.color, COLOR_LIGHT_CYAN,
+                                           line))
         self.finish(False)
 
     def do_defconfig(self):
@@ -522,8 +523,8 @@ class Slot:
         try:
             tchain = self.toolchains.Select(arch)
         except ValueError:
-            self.log += color_text(self.args.color, COLOR_YELLOW,
-                    f"Tool chain for '{arch}' is missing.  Do nothing.\n")
+            self.log.append(color_text(self.args.color, COLOR_YELLOW,
+                    f"Tool chain for '{arch}' is missing: do nothing"))
             self.finish(False)
             return
         env = tchain.MakeEnvironment(False)
@@ -565,8 +566,8 @@ class Slot:
         updated = not filecmp.cmp(orig_defconfig, new_defconfig)
 
         if updated:
-            self.log += color_text(self.args.color, COLOR_LIGHT_BLUE,
-                                   'defconfig was updated.\n')
+            self.log.append(color_text(self.args.color, COLOR_LIGHT_BLUE,
+                                       'defconfig updated'))
 
         if not self.args.dry_run and updated:
             shutil.move(new_defconfig, orig_defconfig)
@@ -581,9 +582,13 @@ class Slot:
         """
         # output at least 30 characters to hide the "* defconfigs out of *".
         if self.log:
-            log = self.defconfig.ljust(30) + '\n'
+            name = self.defconfig[:-len('_defconfig')]
 
-            log += '\n'.join([ '    ' + s for s in self.log.split('\n') ])
+            # Put the first log line on the first line
+            log = name.ljust(20) + ' ' + self.log[0]
+
+            if len(self.log) > 1:
+                log += '\n' + '\n'.join(['    ' + s for s in self.log[1:]])
             # Some threads are running in parallel.
             # Print log atomically to not mix up logs from different threads.
             print(log, file=(sys.stdout if success else sys.stderr))