[dvsim] Ensure run options don't contain duplicates
Nobody has claimed this yet.
- Dominant language
- SystemVerilog
- Stars
- 3.6k
- Forks
- 1.1k
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 141
Description
_Originally posted by @sriyerg in https://github.com/lowRISC/opentitan/pull/13989#discussion_r936973059_:
> `run_opts` get merged from several places (build_modes, run_modes, test specifications and global ones), so the duplication could still happen. A more robust fix would be to make all `*_opts` a set instead
Duplicate run options would be passed to the executing tool, which could throw warnings or errors due to that.
This is a follow-up of #13989, which changes global options to only extend run options if an option is not already present in the run options.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing how run_opts and the other *_opts are merged from build_modes, run_modes, test specifications, and global options in dvsim. Confirm where duplicates reach the executing tool; done means each run option is passed only once, including the follow-up behavior from #13989.
Written by the indexing model from the issue text.
Assessment
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100