[commands] Notify DriverStationSim in CommandTestBaseWithParam (#5400)

This commit is contained in:
Joseph Eng
2023-06-19 22:56:56 -07:00
committed by GitHub
parent d4ea5fa902
commit 316cd2a453
3 changed files with 18 additions and 20 deletions

View File

@@ -11,22 +11,20 @@ CommandTestBase::CommandTestBase() {
scheduler.CancelAll();
scheduler.Enable();
scheduler.GetActiveButtonLoop()->Clear();
SetDSEnabled(true);
}
CommandTestBase::~CommandTestBase() {
CommandScheduler::GetInstance().GetActiveButtonLoop()->Clear();
}
CommandScheduler CommandTestBase::GetScheduler() {
return CommandScheduler();
}
void CommandTestBase::SetUp() {
frc::sim::DriverStationSim::SetEnabled(true);
frc::sim::DriverStationSim::NotifyNewData();
}
void CommandTestBase::TearDown() {
CommandScheduler::GetInstance().GetActiveButtonLoop()->Clear();
}
void CommandTestBase::SetDSEnabled(bool enabled) {
frc::sim::DriverStationSim::SetDsAttached(true);
frc::sim::DriverStationSim::SetEnabled(enabled);
frc::sim::DriverStationSim::NotifyNewData();
}

View File

@@ -83,13 +83,11 @@ class CommandTestBase : public ::testing::Test {
public:
CommandTestBase();
~CommandTestBase() override;
protected:
CommandScheduler GetScheduler();
void SetUp() override;
void TearDown() override;
void SetDSEnabled(bool enabled);
};
@@ -101,19 +99,21 @@ class CommandTestBaseWithParam : public ::testing::TestWithParam<T> {
scheduler.CancelAll();
scheduler.Enable();
scheduler.GetActiveButtonLoop()->Clear();
SetDSEnabled(true);
}
~CommandTestBaseWithParam() override {
CommandScheduler::GetInstance().GetActiveButtonLoop()->Clear();
}
protected:
CommandScheduler GetScheduler() { return CommandScheduler(); }
void SetUp() override { frc::sim::DriverStationSim::SetEnabled(true); }
void TearDown() override {
CommandScheduler::GetInstance().GetActiveButtonLoop()->Clear();
}
void SetDSEnabled(bool enabled) {
frc::sim::DriverStationSim::SetDsAttached(true);
frc::sim::DriverStationSim::SetEnabled(enabled);
frc::sim::DriverStationSim::NotifyNewData();
}
};

View File

@@ -57,7 +57,7 @@ TEST_F(SchedulingRecursionTest, CancelFromInitialize) {
}
TEST_P(SchedulingRecursionTest,
DISABLED_DefaultCommandGetsRescheduledAfterSelfCanceling) {
DefaultCommandGetsRescheduledAfterSelfCanceling) {
CommandScheduler scheduler = GetScheduler();
bool hasOtherRun = false;
TestSubsystem requirement;