Skip to content

New features, bug fixes and improved documentation#57

Merged
tzschmidt merged 21 commits intomasterfrom
improve-runscript
Mar 2, 2026
Merged

New features, bug fixes and improved documentation#57
tzschmidt merged 21 commits intomasterfrom
improve-runscript

Conversation

@tzschmidt
Copy link
Collaborator

  • 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

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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/--force to -u/--update and add -c/--clean for 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.

Copy link
Member

@rkaminsk rkaminsk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

@rkaminsk rkaminsk self-requested a review March 2, 2026 10:28
@tzschmidt tzschmidt requested a review from rkaminsk March 2, 2026 10:37
@tzschmidt tzschmidt merged commit f135fc2 into master Mar 2, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants