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 |