New features, bug fixes and improved documentation#57
Conversation
tzschmidt
commented
Feb 27, 2026
- Add variable support to settings: define multiple settings at once
- Add instance dependent command line arguments
- Multiple bug fixes (gen options, instance paths, ...)
- Improve documentation
There was a problem hiding this comment.
Pull request overview
This pull request adds significant new functionality to the benchmarktool, including variable support for settings and instance-dependent command-line arguments. The changes refactor how command-line arguments are handled throughout the system, moving from simple strings to dictionaries with "pre" and "post" keys. Additionally, the PR renames the -f/--force option to -u/--update and adds a new -c/--clean option for better control over output directory management.
Changes:
- Add variable support to settings allowing automatic generation of multiple setting configurations from ranges or value pools
- Change command-line argument handling from strings to dictionaries with "pre" and "post" keys for system, setting, and instance levels
- Rename
-f/--forceto-u/--updateand add-c/--cleanfor output directory management, plus improve documentation
Reviewed changes
Copilot reviewed 25 out of 25 changed files in this pull request and generated 14 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/test_entry.py | Update tests to reflect renamed command-line arguments (force → update/clean) |
| tests/runscript/test_runscript_parser.py | Update parser tests for new cmdline dict structure and variable support |
| tests/runscript/test_runscript_classes.py | Update class tests for cmdline dict structure and gen_scripts signature changes |
| tests/ref/test_template.sh | Update template to use new cmdline variables (sys_cmd, setting_cmd, inst_cmd) |
| tests/ref/test_bench/spec.xml | Add cmdline attributes to test spec |
| tests/ref/runscripts/test_runscript.xml | Add variable examples and cmdline attributes |
| src/benchmarktool/runscript/schemas/runscript.xsd | Add variable element schema and cmdline attributes |
| src/benchmarktool/runscript/schemas/benchmark_spec.xsd | Add cmdline attributes to instance and folder elements |
| src/benchmarktool/runscript/runscript.py | Refactor cmdline to dict, add cmdline support to instances/folders, update gen_scripts signature |
| src/benchmarktool/runscript/parser.py | Implement variable parsing logic with range and pool support |
| src/benchmarktool/entry_points.py | Update command-line argument parsing (force → update, add clean) |
| src/benchmarktool/init/templates/seq-generic.sh | Update template to use new cmdline variable references |
| src/benchmarktool/init/runscripts/runscript-example.xml | Add variable usage examples |
| src/benchmarktool/init/runscripts/runscript-all.xml | Add comprehensive examples of new features |
| src/benchmarktool/init/programs/clingo-latest | Add example wrapper script for clingo |
| mkdocs.yml | Add glossary to navigation (with typo) |
| docs/reference/index.md | Add glossary reference |
| docs/reference/glossary.md | Add new glossary documentation |
| docs/reference/encoding_support.md | Update example to use new cmdline variables |
| docs/getting_started/workflow/index.md | Expand documentation on SUT setup and exec usage |
| docs/getting_started/init/index.md | Add recommendation to run in new directory |
| docs/getting_started/index.md | Update runlim single option documentation |
| docs/getting_started/gen/templates.md | Document new cmdline variable references |
| docs/getting_started/gen/runscript.md | Add comprehensive variable and cmdline documentation |
| docs/getting_started/gen/index.md | Update gen command documentation |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
rkaminsk
left a comment
There was a problem hiding this comment.
I skimmed over the docs and left some comments.
Regarding the glossary, I think that the descriptions for some items are not enough to be useful. It would probably be better to link back into the documentation for further descriptions and examples.