| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | /* | |||
| 2 | * @file test_utils.cpp | |||
| 3 | * | |||
| 4 | * @date: may 15, 2025 | |||
| 5 | * @author FDSoftware | |||
| 6 | */ | |||
| 7 | ||||
| 8 | #include "pch.h" | |||
| 9 | #include "util/injection_crank_helper.h" | |||
| 10 | #include "prime_injection.h" | |||
| 11 | #include "engine_test_helper.h" | |||
| 12 | ||||
| 13 | 4 | TEST(test_utils, assertEventExistsAtEnginePhase){ | ||
| 14 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 15 | 1 | setTable(config->injectionPhase, -180.0f); | ||
| 16 | 1 | engineConfiguration->isFasterEngineSpinUpEnabled = false; | ||
| 17 | 1 | engine->tdcMarkEnabled = false; | ||
| 18 |
1/1✓ Branch 1 taken 1 time.
|
1 | setTestFuelCrankingTable(12); | |
| 19 | ||||
| 20 |
1/1✓ Branch 1 taken 1 time.
|
1 | setupSimpleTestEngineWithMafAndTT_ONE_trigger(ð); | |
| 21 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ( 0, Sensor::getOrZero(SensorType::Rpm)) << "RPM=0"; | |
| 22 | ||||
| 23 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireTriggerEventsWithDuration(/* durationMs */ 200); | |
| 24 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.fireRise(/* delayMs */ 200); | |
| 25 |
4/9✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 31 taken 1 time.
✗ Branch 32 not taken.
|
1 | ASSERT_EQ(300, Sensor::getOrZero(SensorType::Rpm)); | |
| 26 | // two simultaneous injections | |||
| 27 |
4/10✓ Branch 3 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 27 not taken.
✓ Branch 34 taken 1 time.
✗ Branch 35 not taken.
|
1 | ASSERT_EQ( 4, engine->scheduler.size()) << "plain#2"; | |
| 28 | ||||
| 29 | 1 | auto const startSimultaneousInjectionAction{ action_s::make<startSimultaneousInjection>() }; | ||
| 30 | ||||
| 31 | // old event assert: | |||
| 32 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.assertEvent5("sim start", 0, startSimultaneousInjectionAction, 100000 - 1625); | |
| 33 | // new event assert: | |||
| 34 |
1/1✓ Branch 2 taken 1 time.
|
1 | bool injectionDone = eth.assertEventExistsAtEnginePhase("sim start", startSimultaneousInjectionAction, static_cast<angle_t>(177.08)); | |
| 35 |
1/6✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 7 not taken.
✗ Branch 12 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_TRUE(injectionDone); | |
| 36 |
1/2✓ Branch 1 taken 1 time.
✗ Branch 2 not taken.
|
1 | }; | |
| 37 | ||||
| 38 | ||||
| 39 | 4 | TEST(test_utils, spin60_2UntilDeg){ | ||
| 40 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
| 41 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.setTriggerType(trigger_type_e::TT_TOOTHED_WHEEL_60_2); | |
| 42 | 1 | testSpinEngineUntilData testSpinInfo = { 0, 0, 0 }; | ||
| 43 | ||||
| 44 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.spin60_2UntilDeg(testSpinInfo, 300, 720); | |
| 45 |
4/10✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_NEAR(300, Sensor::getOrZero(SensorType::Rpm), 1) << "RPM"; | |
| 46 | ||||
| 47 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.spin60_2UntilDeg(testSpinInfo, 1000, 720); | |
| 48 |
4/10✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_NEAR(1000, Sensor::getOrZero(SensorType::Rpm), 1) << "RPM"; | |
| 49 | ||||
| 50 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.spin60_2UntilDeg(testSpinInfo, 1200, 720); | |
| 51 |
4/10✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
✓ Branch 30 taken 1 time.
✗ Branch 31 not taken.
|
1 | ASSERT_NEAR(1200, Sensor::getOrZero(SensorType::Rpm), 1) << "RPM"; | |
| 52 | ||||
| 53 | 1 | } | ||
| 54 | ||||
| 55 | 4 | TEST(CyclicBuffer, Contains) { | ||
| 56 | using tbuffer = cyclic_buffer<int, 4>; | |||
| 57 | ||||
| 58 |
1/1✓ Branch 2 taken 1 time.
|
1 | tbuffer buf; | |
| 59 | ||||
| 60 | 1 | buf.add(1); | ||
| 61 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_TRUE(buf.contains(1)); | |
| 62 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(2)); | |
| 63 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(3)); | |
| 64 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(4)); | |
| 65 | ||||
| 66 | 1 | buf.add(2); | ||
| 67 | 1 | buf.add(3); | ||
| 68 | 1 | buf.add(4); | ||
| 69 | ||||
| 70 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(1)); // huh? | |
| 71 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(2)); // huh? | |
| 72 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(3)); // huh? | |
| 73 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(4)); // huh? | |
| 74 | ||||
| 75 | 1 | buf.add(5); | ||
| 76 | 1 | buf.add(6); | ||
| 77 | 1 | buf.add(7); | ||
| 78 | ||||
| 79 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(1)); | |
| 80 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(2)); | |
| 81 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(3)); | |
| 82 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_FALSE(buf.contains(4)); // huh? | |
| 83 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_TRUE(buf.contains(5)); | |
| 84 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_TRUE(buf.contains(6)); | |
| 85 |
1/6✗ Branch 6 not taken.
✓ Branch 7 taken 1 time.
✗ Branch 10 not taken.
✗ Branch 15 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
|
1 | EXPECT_TRUE(buf.contains(7)); | |
| 86 | 1 | } | ||
| 87 |