[hal,tests] Use waitForProgramStart in tests (#8429)

Change setProgramStarted to accept a boolean so it can be set back to
false by tests. This allows properly waiting for program start in tests.
This commit is contained in:
Peter Johnson
2025-11-29 10:10:01 -08:00
committed by GitHub
parent 32d3ec0218
commit a4aad63dd4
23 changed files with 84 additions and 49 deletions

View File

@@ -35,6 +35,7 @@ class ArmSimulationTest {
void startThread() {
HAL.initialize(500, 0);
SimHooks.pauseTiming();
SimHooks.setProgramStarted(false);
DriverStationSim.resetData();
m_robot = new Robot();
m_thread = new Thread(m_robot::startCompetition);
@@ -43,7 +44,7 @@ class ArmSimulationTest {
m_joystickSim = new JoystickSim(Constants.kJoystickPort);
m_thread.start();
SimHooks.stepTiming(0.0); // Wait for Notifiers
SimHooks.waitForProgramStart();
}
@AfterEach

View File

@@ -33,11 +33,12 @@ class DigitalCommunicationTest {
void startThread() {
HAL.initialize(500, 0);
SimHooks.pauseTiming();
SimHooks.setProgramStarted(false);
DriverStationSim.resetData();
m_robot = new Robot();
m_thread = new Thread(m_robot::startCompetition);
m_thread.start();
SimHooks.stepTiming(0.0); // Wait for Notifiers
SimHooks.waitForProgramStart();
}
@AfterEach

View File

@@ -32,6 +32,7 @@ class ElevatorSimulationTest {
void startThread() {
HAL.initialize(500, 0);
SimHooks.pauseTiming();
SimHooks.setProgramStarted(false);
DriverStationSim.resetData();
m_robot = new Robot();
m_thread = new Thread(m_robot::startCompetition);
@@ -40,7 +41,7 @@ class ElevatorSimulationTest {
m_joystickSim = new JoystickSim(Constants.kJoystickPort);
m_thread.start();
SimHooks.stepTiming(0.0); // Wait for Notifiers
SimHooks.waitForProgramStart();
}
@AfterEach

View File

@@ -36,6 +36,7 @@ class I2CCommunicationTest {
void startThread() {
HAL.initialize(500, 0);
SimHooks.pauseTiming();
SimHooks.setProgramStarted(false);
DriverStationSim.resetData();
m_future = new CompletableFuture<>();
m_callback =
@@ -44,7 +45,7 @@ class I2CCommunicationTest {
m_robot = new Robot();
m_thread = new Thread(m_robot::startCompetition);
m_thread.start();
SimHooks.stepTiming(0.0); // Wait for Notifiers
SimHooks.waitForProgramStart();
}
@AfterEach

View File

@@ -43,6 +43,7 @@ class PotentiometerPIDTest {
void startThread() {
HAL.initialize(500, 0);
SimHooks.pauseTiming();
SimHooks.setProgramStarted(false);
DriverStationSim.resetData();
m_robot = new Robot();
m_thread = new Thread(m_robot::startCompetition);
@@ -78,7 +79,7 @@ class PotentiometerPIDTest {
});
m_thread.start();
SimHooks.stepTiming(0.0); // Wait for Notifiers
SimHooks.waitForProgramStart();
}
@AfterEach