[PATCH v4 14/83] buildman: Detect boards with no CONFIG_TARGET defined
Simon Glass
sjg at chromium.org
Thu Jul 20 01:48:22 CEST 2023
We generally expected exactly one of these. Add a check for it.
Note: This warning is not displayed by default. An option will be added
to enable it.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
(no changes since v3)
Changes in v3:
- Add new patch to detect boards with no CONFIG_TARGET defined
tools/buildman/boards.py | 4 ++++
tools/buildman/func_test.py | 13 ++++++++++++-
2 files changed, 16 insertions(+), 1 deletion(-)
diff --git a/tools/buildman/boards.py b/tools/buildman/boards.py
index 56fb6f4de628..dabf694e0d0c 100644
--- a/tools/buildman/boards.py
+++ b/tools/buildman/boards.py
@@ -262,6 +262,10 @@ class KconfigScanner:
else:
target = tname
+ if not target:
+ cfg_name = expect_target.replace('-', '_').upper()
+ warnings.append(f'WARNING: {leaf}: No TARGET_{cfg_name} enabled')
+
params['target'] = expect_target
# fix-up for aarch64
diff --git a/tools/buildman/func_test.py b/tools/buildman/func_test.py
index 154fa61c08bd..71f3029f1530 100644
--- a/tools/buildman/func_test.py
+++ b/tools/buildman/func_test.py
@@ -951,6 +951,7 @@ Active aarch64 armv8 - armltd total_compute board2
# Add another TARGET to the Kconfig
tools.write_file(main, data, binary=False)
+ orig_kc_data = tools.read_file(kc_file)
extra = (b'''
if TARGET_BOARD2
config TARGET_OTHER
@@ -958,9 +959,19 @@ config TARGET_OTHER
\tdefault y
endif
''')
- tools.write_file(kc_file, tools.read_file(kc_file) + extra)
+ tools.write_file(kc_file, orig_kc_data + extra)
params_list, warnings = self._boards.build_board_list(config_dir, src)
self.assertEquals(2, len(params_list))
self.assertEquals(
['WARNING: board2_defconfig: Duplicate TARGET_xxx: board2 and other'],
warnings)
+
+ # Remove the TARGET_BOARD0 Kconfig option
+ lines = [b'' if line == b'config TARGET_BOARD2\n' else line
+ for line in orig_kc_data.splitlines(keepends=True)]
+ tools.write_file(kc_file, b''.join(lines))
+ params_list, warnings = self._boards.build_board_list(config_dir, src)
+ self.assertEquals(2, len(params_list))
+ self.assertEquals(
+ ['WARNING: board2_defconfig: No TARGET_BOARD2 enabled'],
+ warnings)
--
2.41.0.487.g6d72f3e995-goog
More information about the U-Boot
mailing list