Running Cargo Bench Results in an "Unrecognized Option" Error

To print the help for command-line arguments you can simply run gungraun-runner --help or for a short summary gungraun-runner -h. For all other arguments

cargo bench -- --some-valid-arg

to work you can either specify the benchmark with --bench BENCHMARK, for example

cargo bench --bench my_gungraun_benchmark -- --callgrind-args="--collect-bus=yes"

or add the following to your Cargo.toml:

[lib]
bench = false

and if you have binaries

[[bin]]
name = "my-binary"
path = "src/bin/my-binary.rs"
bench = false

Setting bench = false disables the creation of the implicit default libtest harness which is added even if you haven't used #[bench] functions in your library or binary. Naturally, the default harness doesn't know of the Gungraun arguments and aborts execution printing the Unrecognized Option error.

If you cannot or don't want to add bench = false to your Cargo.toml, you can alternatively use environment variables. For every command-line argument exists a corresponding environment variable.