The simulation runner owns test discovery, simulator setup, process cleanup, and the result record. A testbench should not need a separate Makefile to launch the simulator.
Run a test
rr sim run test_my_module
If the testbench name is omitted, rr sim run presents the discovered tests.
Run everything when the project defines a complete test set:
rr sim run --all
Reproduce a failure
Pin the random seed and set a wall-clock ceiling while diagnosing:
rr sim run test_my_module --seed 42 --timeout 120
Use --clean when cached simulator artifacts are part of the question. Use
--locked when the simulation must refuse a drifted routertl.lock.
Result
The command returns the simulator result and leaves the run in the normal RouteRTL history/log locations. A failing test is evidence to diagnose; do not weaken the test or add a delay merely to get a green process exit.