[PATCH 3/5] binman: Move the tools directory into the Bintool class

Simon Glass sjg at chromium.org
Sat Feb 18 00:19:21 CET 2023


We want to be able to change this directory. Use a class member to hold
the value, since changing a constant is not good.

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

 tools/binman/bintool.py      | 7 ++++---
 tools/binman/bintool_test.py | 4 ++--
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/tools/binman/bintool.py b/tools/binman/bintool.py
index e1dff9aa1b5..302161fcb47 100644
--- a/tools/binman/bintool.py
+++ b/tools/binman/bintool.py
@@ -43,8 +43,6 @@ FETCH_NAMES = {
 # Status of tool fetching
 FETCHED, FAIL, PRESENT, STATUS_COUNT = range(4)
 
-DOWNLOAD_DESTDIR = os.path.join(os.getenv('HOME'), 'bin')
-
 class Bintool:
     """Tool which operates on binaries to help produce entry contents
 
@@ -53,6 +51,9 @@ class Bintool:
     # List of bintools to regard as missing
     missing_list = []
 
+    # Directory to store tools
+    tooldir = os.path.join(os.getenv('HOME'), 'bin')
+
     def __init__(self, name, desc, version_regex=None, version_args='-V'):
         self.name = name
         self.desc = desc
@@ -208,7 +209,7 @@ class Bintool:
             return FAIL
         if result is not True:
             fname, tmpdir = result
-            dest = os.path.join(DOWNLOAD_DESTDIR, self.name)
+            dest = os.path.join(self.tooldir, self.name)
             print(f"- writing to '{dest}'")
             shutil.move(fname, dest)
             if tmpdir:
diff --git a/tools/binman/bintool_test.py b/tools/binman/bintool_test.py
index 7efb8391db2..57e866eff93 100644
--- a/tools/binman/bintool_test.py
+++ b/tools/binman/bintool_test.py
@@ -139,7 +139,7 @@ class TestBintool(unittest.TestCase):
         dest_fname = os.path.join(destdir, '_testing')
         self.seq = 0
 
-        with unittest.mock.patch.object(bintool, 'DOWNLOAD_DESTDIR', destdir):
+        with unittest.mock.patch.object(bintool.Bintool, 'tooldir', destdir):
             with unittest.mock.patch.object(tools, 'download',
                                             side_effect=handle_download):
                 with test_util.capture_sys_output() as (stdout, _):
@@ -250,7 +250,7 @@ class TestBintool(unittest.TestCase):
         btest = Bintool.create('_testing')
         col = terminal.Color()
         self.fname = None
-        with unittest.mock.patch.object(bintool, 'DOWNLOAD_DESTDIR',
+        with unittest.mock.patch.object(bintool.Bintool, 'tooldir',
                                         self._indir):
             with unittest.mock.patch.object(tools, 'run', side_effect=fake_run):
                 with test_util.capture_sys_output() as (stdout, _):
-- 
2.39.2.637.g21b0678d19-goog



More information about the U-Boot mailing list