[PATCH 04/11] sb/rtems-kernel-config-check: Support multiple BSPs and add a test option
chrisj at rtems.org
chrisj at rtems.org
Thu Sep 8 01:25:58 UTC 2022
From: Chris Johns <chrisj at rtems.org>
---
source-builder/sb/rtems-kernel-config-check | 42 +++++++++++----------
1 file changed, 22 insertions(+), 20 deletions(-)
diff --git a/source-builder/sb/rtems-kernel-config-check b/source-builder/sb/rtems-kernel-config-check
index 0b7e141..2256925 100755
--- a/source-builder/sb/rtems-kernel-config-check
+++ b/source-builder/sb/rtems-kernel-config-check
@@ -28,10 +28,9 @@ POSSIBILITY OF SUCH DAMAGE.
from __future__ import print_function
-import sys
import argparse
-
-from os.path import exists
+import os.path
+import sys
try:
import ConfigParser
@@ -67,8 +66,8 @@ def run():
type=int,
default=6)
parser.add_argument("-t",
- "--target",
- help="return target (<arch-rtems<rtems-version>)",
+ "--tests",
+ help="Build tests is true",
action="store_true")
args = parser.parse_args()
config = configparser.ConfigParser()
@@ -78,6 +77,10 @@ def run():
file=sys.stderr)
sys.exit(1)
+ if not os.path.exists(args.config):
+ print("Config file not found: " + args.config, file=sys.stderr)
+ sys.exit(1)
+
try:
config.read(args.config)
except configparser.MissingSectionHeaderError:
@@ -90,34 +93,33 @@ def run():
except:
print("An unknown exception occured", file=sys.stderr)
- if len(config.sections()) != 1:
- print("You can only have one arch/bsp section in your config.",
- file=sys.stderr)
- sys.exit(1)
-
- arch_bsp_str = config.sections()[0]
- if arch_bsp_str.find("/") == -1:
- print("arch/bsp section in config is missing '/'", file=sys.stderr)
- sys.exit(1)
+ for arch_bsp in config.sections():
+ if len(arch_bsp.split("/")) != 2:
+ print("arch/bsp section in config is missing '/'", file=sys.stderr)
+ sys.exit(1)
if (args.arch or args.bsp) and args.arch_bsp:
args.arch = False
if args.arch:
- print(arch_bsp_str.split("/")[0])
+ print(' '.join([ab.split('/')[0] for ab in config.sections()]))
return
if args.bsp:
- print(arch_bsp_str.split("/")[1])
+ print(' '.join([ab.split('/')[1] for ab in config.sections()]))
return
if args.arch_bsp:
- print(arch_bsp_str.replace("/", " "))
+ print(' '.join([arch_bsp for arch_bsp in config.sections()]))
return
- if args.target:
- arch = arch_bsp_str.split("/")[0]
- print(arch + "-rtems" + str(args.rtems_version))
+ if args.tests:
+ for sec in ["DEFAULT"] + config.sections():
+ for item in config[sec].items():
+ if item[0] == 'buld_tests' or item[0] == 'build_samples':
+ print("True")
+ return
+ print("False")
return
--
2.24.1
More information about the devel
mailing list