[PATCH 47/58] buildman: Convert config_out to string IO

Simon Glass sjg at chromium.org
Sun Jul 2 16:26:12 CEST 2023


This is probably a little more efficient and it allows passing the object
to another function to write data. Convert config_out to use a string I/O
device.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 tools/buildman/builderthread.py | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/tools/buildman/builderthread.py b/tools/buildman/builderthread.py
index 42af5197dace..9c2938d1b071 100644
--- a/tools/buildman/builderthread.py
+++ b/tools/buildman/builderthread.py
@@ -10,6 +10,7 @@ based on the jobs provided.
 
 import errno
 import glob
+import io
 import os
 import shutil
 import sys
@@ -292,7 +293,7 @@ class BuilderThread(threading.Thread):
                 args, cwd, src_dir = self._build_args(brd, out_dir, out_rel_dir,
                                                       work_dir, commit_upto)
                 config_args = [f'{brd.target}_defconfig']
-                config_out = ''
+                config_out = io.StringIO()
 
                 # Remove any output targets. Since we use a build directory that
                 # was previously used by another board, it may have produced an
@@ -311,14 +312,14 @@ class BuilderThread(threading.Thread):
                     if self.mrproper:
                         result = self.make(commit, brd, 'mrproper', cwd,
                                 'mrproper', *args, env=env)
-                        config_out += result.combined
+                        config_out.write(result.combined)
                         cmd_list.append([self.builder.gnu_make, 'mrproper',
                                          *args])
                     result = self.make(commit, brd, 'config', cwd,
                             *(args + config_args), env=env)
                     cmd_list.append([self.builder.gnu_make] + args +
                                     config_args)
-                    config_out += result.combined
+                    config_out.write(result.combined)
                     do_config = False   # No need to configure next time
                     if adjust_cfg:
                         cfgutil.adjust_cfg_file(cfg_file, adjust_cfg)
@@ -340,7 +341,7 @@ class BuilderThread(threading.Thread):
                             result.return_code = 1
                 result.stderr = result.stderr.replace(src_dir + '/', '')
                 if self.builder.verbose_build:
-                    result.stdout = config_out + result.stdout
+                    result.stdout = config_out.getvalue() + result.stdout
                 result.cmd_list = cmd_list
             else:
                 result.return_code = 1
-- 
2.41.0.255.g8b1d071c50-goog



More information about the U-Boot mailing list