[PATCH v2 14/24] dtoc: Hide the test options unless test code is available

Simon Glass sjg at chromium.org
Fri Feb 24 02:18:14 CET 2023


It doesn't make much sense to expose tests when dtoc is running
outside of the U-Boot git checkout. Hide the option in this case.

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

Changes in v2:
- Add a patch to hide the test options unless test code is available

 tools/dtoc/main.py | 19 +++++++++++++------
 1 file changed, 13 insertions(+), 6 deletions(-)

diff --git a/tools/dtoc/main.py b/tools/dtoc/main.py
index fc9207d1b63..91521661f46 100755
--- a/tools/dtoc/main.py
+++ b/tools/dtoc/main.py
@@ -23,6 +23,7 @@ see doc/driver-model/of-plat.rst
 
 from argparse import ArgumentParser
 import os
+import pathlib
 import sys
 
 # Bring in the patman libraries
@@ -37,6 +38,9 @@ sys.path.insert(0, os.path.join(our_path,
 from dtoc import dtb_platdata
 from u_boot_pylib import test_util
 
+DTOC_DIR = pathlib.Path(__file__).parent
+HAVE_TESTS = (DTOC_DIR / 'test_dtoc.py').exists()
+
 def run_tests(processes, args):
     """Run all the test we have for dtoc
 
@@ -93,19 +97,22 @@ parser.add_argument('-p', '--phase', type=str,
                   help='set phase of U-Boot this invocation is for (spl/tpl)')
 parser.add_argument('-P', '--processes', type=int,
                   help='set number of processes to use for running tests')
-parser.add_argument('-t', '--test', action='store_true', dest='test',
-                  default=False, help='run tests')
-parser.add_argument('-T', '--test-coverage', action='store_true',
-                default=False, help='run tests and check for 100%% coverage')
+if HAVE_TESTS:
+    parser.add_argument('-t', '--test', action='store_true', dest='test',
+                        default=False, help='run tests')
+    parser.add_argument(
+        '-T', '--test-coverage', action='store_true',
+        default=False, help='run tests and check for 100%% coverage')
+
 parser.add_argument('files', nargs='*')
 args = parser.parse_args()
 
 # Run our meagre tests
-if args.test:
+if HAVE_TESTS and args.test:
     ret_code = run_tests(args.processes, args)
     sys.exit(ret_code)
 
-elif args.test_coverage:
+elif HAVE_TESTS and args.test_coverage:
     RunTestCoverage()
 
 else:
-- 
2.39.2.637.g21b0678d19-goog



More information about the U-Boot mailing list