Description of the task
Every time we want to launch a simulated test/field test, we need to launch Thunderscope with the specific bazel command for that test. We want to add a feature to select a test to execute within Thunderscope itself without needing to run a new command.
Possible approach:
- Add a widget to select from simulated tests and field tests we could run. Maybe it could use a fuzzy searcher like the
Proto Configuration widget.
- You can use
pytest.main to query for pytests that are runnable. You may create a new Plugin to bind the newly created simulated tests to the current proto unix of Thunderscope.
- Currently,
simulated_test_runner and field_test_runner launch their own instances of Thunderscope. Update these fixtures so that we can run these tests in real-time without starting a new instance of Thunderscope. Note that simulated tests can run without Thunderscope! But they run in asynchronous, fast simulated time. We would need to change this behaviour where if we are binding to an already open instance of Thunderscope, we will want to run the test at real-time
Acceptance criteria
Blocked By
Description of the task
Every time we want to launch a simulated test/field test, we need to launch Thunderscope with the specific
bazelcommand for that test. We want to add a feature to select a test to execute within Thunderscope itself without needing to run a new command.Possible approach:
Proto Configurationwidget.pytest.mainto query for pytests that are runnable. You may create a new Plugin to bind the newly created simulated tests to the current proto unix of Thunderscope.simulated_test_runnerandfield_test_runnerlaunch their own instances of Thunderscope. Update these fixtures so that we can run these tests in real-time without starting a new instance ofThunderscope. Note that simulated tests can run without Thunderscope! But they run in asynchronous, fast simulated time. We would need to change this behaviour where if we are binding to an already open instance of Thunderscope, we will want to run the test at real-timeAcceptance criteria
./tbots.py run thunderscope_mainand have the option to run any simulated_test we want--run_blueor--run_yellowand we can launch whichever field_test we wantBlocked By