The issue is likely that WaitState uses clock time while the simulation time is running much faster on CI. If we look at the CI replay logs, we see this in the failing test:
The bug: BallPlacementPlayFSM stays in WaitState for longer than 3.0 seconds. We use system time to decide how long to stay in WaitState and I think CI time is passing much faster than system time. In other words, 3.0 seconds of system time is longer than the time passed during simulations, causing us to fail the validation within the timeout of the test.
Testing Done
Resolved Issues
Length Justification and Key Files to Review
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
Description
*maybe
The issue is likely that
WaitState
uses clock time while the simulation time is running much faster on CI. If we look at the CI replay logs, we see this in the failing test:https://github.com/UBC-Thunderbots/Software/assets/42703774/289595fc-f724-467a-bd02-73b39d313ffc
The bug:
BallPlacementPlayFSM
stays inWaitState
for longer than 3.0 seconds. We use system time to decide how long to stay inWaitState
and I think CI time is passing much faster than system time. In other words, 3.0 seconds of system time is longer than the time passed during simulations, causing us to fail the validation within the timeout of the test.Testing Done
Resolved Issues
Length Justification and Key Files to Review
Review Checklist
It is the reviewers responsibility to also make sure every item here has been covered
.h
file) should have a javadoc style comment at the start of them. For examples, see the functions defined inthunderbots/software/geom
. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.TODO
(or similar) statements should either be completed or associated with a github issue