diff --git a/unit_tests/engine_test_helper.cpp b/unit_tests/engine_test_helper.cpp index 93de556262..e99992b729 100644 --- a/unit_tests/engine_test_helper.cpp +++ b/unit_tests/engine_test_helper.cpp @@ -28,11 +28,11 @@ EngineTestHelper::EngineTestHelper(engine_type_e engineType) : engine (&persiste testMafValue = 0; memset(&activeConfiguration, 0, sizeof(activeConfiguration)); - schedulingQueue.clear(); enginePins.reset(); persistent_config_s *config = &persistentConfig; Engine *engine = &this->engine; + engine->executor.clear(); engine->setConfig(config); engine_configuration_s *engineConfiguration = engine->engineConfigurationPtr; board_configuration_s * boardConfiguration = &persistentConfig.engineConfiguration.bc; diff --git a/unit_tests/global_execution_queue.cpp b/unit_tests/global_execution_queue.cpp index 6bd3ecf574..a8fca64cd0 100644 --- a/unit_tests/global_execution_queue.cpp +++ b/unit_tests/global_execution_queue.cpp @@ -30,6 +30,10 @@ void TestExecutor::clear() { schedulingQueue.clear(); } +int TestExecutor::size() { + return schedulingQueue.size(); +} + void TestExecutor::scheduleByTimestamp(scheduling_s *scheduling, efitimeus_t timeUs, schfunc_t callback, void *param) { if (debugSignalExecutor) { printf("scheduleByTime %d\r\n", timeUs); diff --git a/unit_tests/global_execution_queue.h b/unit_tests/global_execution_queue.h index bed194eaca..96aad6d3e1 100644 --- a/unit_tests/global_execution_queue.h +++ b/unit_tests/global_execution_queue.h @@ -16,6 +16,7 @@ public: void scheduleByTimestamp(scheduling_s *scheduling, efitimeus_t timeUs, schfunc_t callback, void *param); void scheduleForLater(scheduling_s *scheduling, int delayUs, schfunc_t callback, void *param); void clear(); + int size(); }; #endif /* GLOBAL_EXECUTION_QUEUE_H_ */ diff --git a/unit_tests/tests/test_fasterEngineSpinningUp.cpp b/unit_tests/tests/test_fasterEngineSpinningUp.cpp index b4944d1814..d3eb59edd7 100644 --- a/unit_tests/tests/test_fasterEngineSpinningUp.cpp +++ b/unit_tests/tests/test_fasterEngineSpinningUp.cpp @@ -37,7 +37,7 @@ void testFasterEngineSpinningUp() { // check RPM assertEqualsM("RPM=0", 0, engine->rpmCalculator.getRpm(PASS_ENGINE_PARAMETER_SIGNATURE)); // the queue should be empty, no trigger events yet - assertEqualsM("plain#1", 0, schedulingQueue.size()); + assertEqualsM("plain#1", 0, engine->executor.size()); // check all events starting from now int timeStartUs = timeNowUs; diff --git a/unit_tests/tests/test_pwm_generator.cpp b/unit_tests/tests/test_pwm_generator.cpp index eec616f5d1..c84b1c97fc 100644 --- a/unit_tests/tests/test_pwm_generator.cpp +++ b/unit_tests/tests/test_pwm_generator.cpp @@ -48,7 +48,7 @@ static void test100dutyCycle() { TestExecutor executor; SimplePwm pwm("test PWM1"); OutputPin pin; - schedulingQueue.clear(); + executor.clear(); startSimplePwm(&pwm, "unit_test", &executor, @@ -76,7 +76,7 @@ static void testSwitchToNanPeriod() { TestExecutor executor; SimplePwm pwm("test PWM1"); OutputPin pin; - schedulingQueue.clear(); + executor.clear(); startSimplePwm(&pwm, "unit_test", &executor, @@ -115,7 +115,7 @@ void testPwmGenerator() { TestExecutor executor; SimplePwm pwm("test PWM3"); OutputPin pin; - schedulingQueue.clear(); + executor.clear(); startSimplePwm(&pwm, "unit_test", diff --git a/unit_tests/tests/test_speed_density.cpp b/unit_tests/tests/test_speed_density.cpp index 124c84b59e..2c0ad01eac 100644 --- a/unit_tests/tests/test_speed_density.cpp +++ b/unit_tests/tests/test_speed_density.cpp @@ -17,7 +17,7 @@ void testSpeedDensity(void) { printf("*************************************************** testSpeedDensity\r\n"); EngineTestHelper eth(FORD_INLINE_6_1995); EXPAND_EngineTestHelper; - schedulingQueue.clear(); // todo: there must be a better place for this + engine->executor.clear(); // todo: there must be a better place for this engineConfiguration->trigger.customTotalToothCount = 8; eth.applyTriggerShape(); diff --git a/unit_tests/tests/test_trigger_decoder.cpp b/unit_tests/tests/test_trigger_decoder.cpp index 656f3c016f..c64b44605f 100644 --- a/unit_tests/tests/test_trigger_decoder.cpp +++ b/unit_tests/tests/test_trigger_decoder.cpp @@ -304,10 +304,10 @@ extern EnginePins enginePins; void testRpmCalculator(void) { printf("*************************************************** testRpmCalculator\r\n"); timeNowUs = 0; - schedulingQueue.clear(); EngineTestHelper eth(FORD_INLINE_6_1995); EXPAND_EngineTestHelper; + engine->executor.clear(); IgnitionEventList *ilist = &engine->ignitionEvents; assertEqualsM("size #1", 0, ilist->isReady); @@ -417,23 +417,23 @@ void testRpmCalculator(void) { assertEqualsM("index #4", 6, eth.engine.triggerCentral.triggerState.getCurrentIndex()); assertEqualsM("queue size 4", 4, schedulingQueue.size()); - schedulingQueue.clear(); + engine->executor.clear(); eth.fireFall(5); assertEqualsM("queue size 5", 2, schedulingQueue.size()); // todo: assert queue elements - schedulingQueue.clear(); + engine->executor.clear(); eth.fireRise(5); assertEqualsM("queue size 6", 2, schedulingQueue.size()); assertEqualsM("6/0", start + 40944, schedulingQueue.getForUnitText(0)->momentX); assertEqualsM("6/1", start + 41444, schedulingQueue.getForUnitText(1)->momentX); - schedulingQueue.clear(); + engine->executor.clear(); eth.fireFall(5); assertEqualsM("queue size 7", 0, schedulingQueue.size()); - schedulingQueue.clear(); + engine->executor.clear(); timeNowUs += 5000; // 5ms eth.firePrimaryTriggerRise(); @@ -442,17 +442,17 @@ void testRpmCalculator(void) { assertEqualsM("8/0", start + 53333 - 1515, schedulingQueue.getForUnitText(0)->momentX); assertEqualsM2("8/1", start + 54277, schedulingQueue.getForUnitText(1)->momentX, 0); assertEqualsM2("8/2", start + 54777, schedulingQueue.getForUnitText(2)->momentX, 0); - schedulingQueue.clear(); + engine->executor.clear(); eth.fireFall(5); assertEqualsM("queue size 9", 0, schedulingQueue.size()); - schedulingQueue.clear(); + engine->executor.clear(); eth.fireRise(5); assertEqualsM("queue size 10", 0, schedulingQueue.size()); - schedulingQueue.clear(); + engine->executor.clear(); } void testTriggerDecoder(void) { diff --git a/unit_tests/tests/test_trigger_noiseless.cpp b/unit_tests/tests/test_trigger_noiseless.cpp index 36bbbff683..c9fd2f5406 100644 --- a/unit_tests/tests/test_trigger_noiseless.cpp +++ b/unit_tests/tests/test_trigger_noiseless.cpp @@ -175,10 +175,10 @@ static void testNoiselessDecoderProcedure(EngineTestHelper ð, int errorTolera void testNoiselessDecoder(void) { printf("====================================================================================== testNoiselessDecoder\r\n"); timeNowUs = 0; - schedulingQueue.clear(); EngineTestHelper eth(TEST_ENGINE); EXPAND_EngineTestHelper + engine->executor.clear(); engineConfiguration->ignitionMode = IM_WASTED_SPARK; engineConfiguration->useOnlyRisingEdgeForTrigger = true;