Skip to content

Runtime selection of field vs simulated gameplay tests#3744

Draft
nycrat wants to merge 31 commits into
masterfrom
avah/combine_simulated_and_field_tests
Draft

Runtime selection of field vs simulated gameplay tests#3744
nycrat wants to merge 31 commits into
masterfrom
avah/combine_simulated_and_field_tests

Conversation

@nycrat

@nycrat nycrat commented May 27, 2026

Copy link
Copy Markdown
Member

Description

This PR combines simulated and field gameplay test runners under the common TbotsTestRunner interface. This allows all tests to be run as either field tests or simulated tests with just a different flag passed into the bazel test command.

This PR contains many refactoring changes to our existing python testing framework. These changes were important to improving code quality while implementing the changes, and they will make it easier to implement #3369 in the future.

  • ./tbots.py test move_tactic_test
  • ./tbots.py test move_tactic_field_test
  • ./tbots.py test move_tactic_test --run_field_test
  • ./tbots.py test move_tactic_field_test --run_field_test

Testing Done

... TODO

Resolved Issues

resolves #2908

Length Justification and Key Files to Review

A lot of just renaming and combining the simulated_tests and field_tests under the gameplay_tests package. None of the logic is changed for validations and existing tests.

Important not just refactoring changes to review:

(in src/software/gameplay_tests)

  • fixture.py
  • util.py
  • tbots_test_runner.py
  • field_test_runner.py
  • simulated_test_runner.py

Review Checklist

It is the reviewers responsibility to also make sure every item here has been covered

  • Function & Class comments: All function definitions (usually in the .h file) should have a javadoc style comment at the start of them. For examples, see the functions defined in thunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.
  • Remove all commented out code
  • Remove extra print statements: for example, those just used for testing
  • Resolve all TODO's: All TODO (or similar) statements should either be completed or associated with a github issue

@nycrat nycrat force-pushed the avah/combine_simulated_and_field_tests branch 5 times, most recently from f7b544d to db5f8e2 Compare June 1, 2026 18:24
@williamckha williamckha mentioned this pull request Jun 8, 2026
4 tasks
@nycrat nycrat force-pushed the avah/combine_simulated_and_field_tests branch from db5f8e2 to fd08dcd Compare June 14, 2026 03:02
@nycrat nycrat force-pushed the avah/combine_simulated_and_field_tests branch from d5f2675 to a49d254 Compare June 16, 2026 22:08
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.

Support running a test in both in simulated mode and field mode

2 participants