summaryrefslogtreecommitdiff
path: root/bin/explore-kconfig.py
diff options
context:
space:
mode:
authorDaniel Friesel <daniel.friesel@uos.de>2020-09-18 10:04:19 +0200
committerDaniel Friesel <daniel.friesel@uos.de>2020-09-18 10:04:19 +0200
commit1ed7a66d836977ae9689f59b6dc5fca0f4637587 (patch)
tree07495bf2076313240931fc831841fded032eec70 /bin/explore-kconfig.py
parent1b79f8510362da33c09f6e2c18740dce2cd24e5c (diff)
explore-kconfig: explore neighbourhood of working random configurations
This is useful for projects with many non-working random configurations
Diffstat (limited to 'bin/explore-kconfig.py')
-rwxr-xr-xbin/explore-kconfig.py11
1 files changed, 10 insertions, 1 deletions
diff --git a/bin/explore-kconfig.py b/bin/explore-kconfig.py
index e59db17..7602076 100755
--- a/bin/explore-kconfig.py
+++ b/bin/explore-kconfig.py
@@ -45,6 +45,11 @@ def main():
help="Explore a number of random configurations (make randconfig)",
)
parser.add_argument(
+ "--with-neighbourhood",
+ action="store_true",
+ help="Explore neighbourhood of successful random configurations",
+ )
+ parser.add_argument(
"--clean-command", type=str, help="Clean command", default="make clean"
)
parser.add_argument(
@@ -90,7 +95,11 @@ def main():
if args.random:
for i in range(args.random):
logging.info(f"Running randconfig {i+1} of {args.random}")
- kconf.run_randconfig()
+ status = kconf.run_randconfig()
+ if status["success"]:
+ config_filename = status["config_path"]
+ logging.info(f"Exploring neighbourhood of {config_filename}")
+ kconf.run_exploration_from_file(config_filename)
if args.neighbourhood:
if os.path.isfile(args.neighbourhood):