GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/trigger/test_real_cranking_miata_na6.cpp
Date: 2025-10-03 00:57:22
Warnings: 1 unchecked decisions!
Coverage Exec Excl Total
Lines: 100.0% 139 0 139
Functions: 100.0% 7 0 7
Branches: 66.7% 168 0 252
Decisions: 75.0% 6 - 8

Line Branch Decision Exec Source
1 /*
2 * test_real_cranking_miata_na6.cpp
3 *
4 * @date May 11, 2019
5 * @author Andrey Belomutskiy, (c) 2012-2020
6 */
7
8 #include "pch.h"
9
10 #include "logicdata_csv_reader.h"
11
12 90 static void fireTriggerEvent(EngineTestHelper*eth, double timestampS, TriggerWheel channel, bool isFall) {
13 trigger_event_e event;
14 // in this trigger data file second channel is the primary
15 // interesting how logic analyzer and trigger are flipped - logical '1' from logicdata file seems to be 'falling'
16 // for trigger definition?!
17
4/4
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 60 times.
✓ Branch 2 taken 7 times.
✓ Branch 3 taken 23 times.
2/2
✓ Decision 'true' taken 7 times.
✓ Decision 'false' taken 83 times.
90 if (channel == TriggerWheel::T_PRIMARY && isFall == false) {
18 7 event = SHAFT_PRIMARY_RISING;
19
3/4
✓ Branch 0 taken 23 times.
✓ Branch 1 taken 60 times.
✓ Branch 2 taken 23 times.
✗ Branch 3 not taken.
2/2
✓ Decision 'true' taken 23 times.
✓ Decision 'false' taken 60 times.
83 } else if (channel == TriggerWheel::T_PRIMARY && isFall == true) {
20 23 event = SHAFT_PRIMARY_FALLING;
21
3/4
✓ Branch 0 taken 60 times.
✗ Branch 1 not taken.
✓ Branch 2 taken 30 times.
✓ Branch 3 taken 30 times.
2/2
✓ Decision 'true' taken 30 times.
✓ Decision 'false' taken 30 times.
60 } else if (channel == TriggerWheel:: T_SECONDARY && isFall == false) {
22 30 event = SHAFT_SECONDARY_RISING;
23 } else {
24 30 event = SHAFT_SECONDARY_FALLING;
25 }
26
27 90 Engine *engine = &eth->engine;
28
29 90 setTimeNowUs(1'000'000 * timestampS);
30 90 printf("MIATANA: posting time=%d event=%d\n", getTimeNowUs(), event);
31 90 hwHandleShaftSignal((int)channel, !isFall, getTimeNowNt());
32 90 }
33
34 4 TEST(cranking, hardcodedRealCranking) {
35
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP);
36 1 engineConfiguration->alwaysInstantRpm = true;
37
38 #define EVENT(timestamp, channel, value) { fireTriggerEvent(&eth, timestamp, channel, value); }
39
40 /*
41 * Generated using logicdata2c tool
42 */
43 // looks like na_cranking4.logicdata file
44
45
1/1
✓ Branch 1 taken 1 time.
1 /* 3 */ EVENT(/* timestamp*/0.597303, TriggerWheel::T_SECONDARY, /*value*/false);
46
1/1
✓ Branch 1 taken 1 time.
1 /* 4 */ EVENT(/* timestamp*/0.69078225, TriggerWheel::T_SECONDARY, /*value*/true);
47
1/1
✓ Branch 1 taken 1 time.
1 /* 5 */ EVENT(/* timestamp*/0.753783, TriggerWheel::T_PRIMARY, /*value*/true);
48
1/1
✓ Branch 1 taken 1 time.
1 /* 6 */ EVENT(/* timestamp*/0.79334275, TriggerWheel::T_SECONDARY, /*value*/false);
49
1/1
✓ Branch 1 taken 1 time.
1 /* 7 */ EVENT(/* timestamp*/0.85266675, TriggerWheel::T_SECONDARY, /*value*/true);
50
1/1
✓ Branch 1 taken 1 time.
1 /* 8 */ EVENT(/* timestamp*/0.93424725, TriggerWheel::T_PRIMARY, /*value*/true);
51
1/1
✓ Branch 1 taken 1 time.
1 /* 9 */ EVENT(/* timestamp*/0.9441, TriggerWheel::T_SECONDARY, /*value*/false);
52
1/1
✓ Branch 1 taken 1 time.
1 /* 10 */ EVENT(/* timestamp*/0.98209725, TriggerWheel::T_PRIMARY, /*value*/false);
53
1/1
✓ Branch 1 taken 1 time.
1 /* 11 */ EVENT(/* timestamp*/0.99523975, TriggerWheel::T_SECONDARY, /*value*/true);
54
1/1
✓ Branch 1 taken 1 time.
1 /* 12 */ EVENT(/* timestamp*/1.076422, TriggerWheel::T_SECONDARY, /*value*/false);
55
1/1
✓ Branch 1 taken 1 time.
1 /* 13 */ EVENT(/* timestamp*/1.125428, TriggerWheel::T_SECONDARY, /*value*/true);
56
1/1
✓ Branch 1 taken 1 time.
1 /* 14 */ EVENT(/* timestamp*/1.194742, TriggerWheel::T_PRIMARY, /*value*/true);
57
1/1
✓ Branch 1 taken 1 time.
1 /* 15 */ EVENT(/* timestamp*/1.20417975, TriggerWheel::T_SECONDARY, /*value*/false);
58
1/1
✓ Branch 1 taken 1 time.
1 /* 16 */ EVENT(/* timestamp*/1.25380075, TriggerWheel::T_SECONDARY, /*value*/true);
59
1/1
✓ Branch 1 taken 1 time.
1 /* 17 */ EVENT(/* timestamp*/1.30114225, TriggerWheel::T_PRIMARY, /*value*/true);
60
1/1
✓ Branch 1 taken 1 time.
1 /* 18 */ EVENT(/* timestamp*/1.3341915, TriggerWheel::T_SECONDARY, /*value*/false);
61
1/1
✓ Branch 1 taken 1 time.
1 /* 19 */ EVENT(/* timestamp*/1.383534, TriggerWheel::T_SECONDARY, /*value*/true);
62
1/1
✓ Branch 1 taken 1 time.
1 /* 22 */ EVENT(/* timestamp*/1.45352675, TriggerWheel::T_PRIMARY, /*value*/true);
63
1/1
✓ Branch 1 taken 1 time.
1 /* 23 */ EVENT(/* timestamp*/1.46291525, TriggerWheel::T_SECONDARY, /*value*/false);
64
3/7
✓ 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.
1 EXPECT_EQ(0, round(Sensor::getOrZero(SensorType::Rpm)));
65 // ^^ All teeth above are pre-sync ^^
66
67 // THIS TOOTH IS SYNC POINT!
68 // Should get instantRpm from here on
69
1/1
✓ Branch 1 taken 1 time.
1 /* 25 */ EVENT(/* timestamp*/1.49939025, TriggerWheel::T_PRIMARY, /*value*/false);
70
3/7
✓ 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.
1 EXPECT_EQ(239, round(Sensor::getOrZero(SensorType::Rpm)));
71
1/1
✓ Branch 1 taken 1 time.
1 /* 27 */ EVENT(/* timestamp*/1.511785, TriggerWheel::T_SECONDARY, /*value*/true);
72
3/7
✓ 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.
1 EXPECT_EQ(234, round(Sensor::getOrZero(SensorType::Rpm)));
73
1/1
✓ Branch 1 taken 1 time.
1 /* 28 */ EVENT(/* timestamp*/1.5908545, TriggerWheel::T_SECONDARY, /*value*/false);
74
3/7
✓ 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.
1 EXPECT_EQ(231, round(Sensor::getOrZero(SensorType::Rpm)));
75
1/1
✓ Branch 1 taken 1 time.
1 /* 31 */ EVENT(/* timestamp*/1.6399845, TriggerWheel::T_SECONDARY, /*value*/true);
76
3/7
✓ 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.
1 EXPECT_EQ(234, round(Sensor::getOrZero(SensorType::Rpm)));
77
1/1
✓ Branch 1 taken 1 time.
1 /* 32 */ EVENT(/* timestamp*/1.70975875, TriggerWheel::T_PRIMARY, /*value*/true);
78
3/7
✓ 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.
1 EXPECT_EQ(225, round(Sensor::getOrZero(SensorType::Rpm)));
79
1/1
✓ Branch 1 taken 1 time.
1 /* 33 */ EVENT(/* timestamp*/1.7194455, TriggerWheel::T_SECONDARY, /*value*/false);
80
3/7
✓ 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.
1 EXPECT_EQ(231, round(Sensor::getOrZero(SensorType::Rpm)));
81
1/1
✓ Branch 1 taken 1 time.
1 /* 36 */ EVENT(/* timestamp*/1.7697125, TriggerWheel::T_SECONDARY, /*value*/true);
82
3/7
✓ 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.
1 EXPECT_EQ(231, round(Sensor::getOrZero(SensorType::Rpm)));
83
1/1
✓ Branch 1 taken 1 time.
1 /* 37 */ EVENT(/* timestamp*/1.817179, TriggerWheel::T_PRIMARY, /*value*/true);
84
3/7
✓ 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.
1 EXPECT_EQ(217, round(Sensor::getOrZero(SensorType::Rpm)));
85
1/1
✓ Branch 1 taken 1 time.
1 /* 38 */ EVENT(/* timestamp*/1.8511055, TriggerWheel::T_SECONDARY, /*value*/false);
86
3/7
✓ 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.
1 EXPECT_EQ(225, round(Sensor::getOrZero(SensorType::Rpm)));
87
1/1
✓ Branch 1 taken 1 time.
1 /* 41 */ EVENT(/* timestamp*/1.9011835, TriggerWheel::T_SECONDARY, /*value*/true);
88
3/7
✓ 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.
1 EXPECT_EQ(243, round(Sensor::getOrZero(SensorType::Rpm)));
89
1/1
✓ Branch 1 taken 1 time.
1 /* 42 */ EVENT(/* timestamp*/1.97691675, TriggerWheel::T_PRIMARY, /*value*/true);
90
3/7
✓ 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.
1 EXPECT_EQ(207, round(Sensor::getOrZero(SensorType::Rpm)));
91
1/1
✓ Branch 1 taken 1 time.
1 /* 43 */ EVENT(/* timestamp*/1.9822455, TriggerWheel::T_SECONDARY, /*value*/false);
92
3/7
✓ 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.
1 EXPECT_EQ(226, round(Sensor::getOrZero(SensorType::Rpm)));
93
94 // Second sync point
95
1/1
✓ Branch 1 taken 1 time.
1 /* 44 */ EVENT(/* timestamp*/2.001249, TriggerWheel::T_PRIMARY, /*value*/false);
96
3/7
✓ 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.
1 EXPECT_EQ(277, round(Sensor::getOrZero(SensorType::Rpm)));
97
1/1
✓ Branch 1 taken 1 time.
1 /* 45 */ EVENT(/* timestamp*/2.0070235, TriggerWheel::T_SECONDARY, /*value*/true);
98
1/1
✓ Branch 1 taken 1 time.
1 /* 48 */ EVENT(/* timestamp*/2.04448175, TriggerWheel::T_SECONDARY, /*value*/false);
99
1/1
✓ Branch 1 taken 1 time.
1 /* 49 */ EVENT(/* timestamp*/2.06135875, TriggerWheel::T_SECONDARY, /*value*/true);
100
1/1
✓ Branch 1 taken 1 time.
1 /* 52 */ EVENT(/* timestamp*/2.08529325, TriggerWheel::T_PRIMARY, /*value*/true);
101
1/1
✓ Branch 1 taken 1 time.
1 /* 53 */ EVENT(/* timestamp*/2.089132, TriggerWheel::T_SECONDARY, /*value*/false);
102
1/1
✓ Branch 1 taken 1 time.
1 /* 54 */ EVENT(/* timestamp*/2.107152, TriggerWheel::T_SECONDARY, /*value*/true);
103
1/1
✓ Branch 1 taken 1 time.
1 /* 56 */ EVENT(/* timestamp*/2.12253625, TriggerWheel::T_PRIMARY, /*value*/true);
104
1/1
✓ Branch 1 taken 1 time.
1 /* 58 */ EVENT(/* timestamp*/2.136714, TriggerWheel::T_SECONDARY, /*value*/false);
105
1/1
✓ Branch 1 taken 1 time.
1 /* 59 */ EVENT(/* timestamp*/2.1560195, TriggerWheel::T_SECONDARY, /*value*/true);
106
1/1
✓ Branch 1 taken 1 time.
1 /* 60 */ EVENT(/* timestamp*/2.18365925, TriggerWheel::T_PRIMARY, /*value*/true);
107
1/1
✓ Branch 1 taken 1 time.
1 /* 61 */ EVENT(/* timestamp*/2.188138, TriggerWheel::T_SECONDARY, /*value*/false);
108
3/7
✓ 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.
1 EXPECT_EQ(571, round(Sensor::getOrZero(SensorType::Rpm)));
109 // Third sync point
110
1/1
✓ Branch 1 taken 1 time.
1 /* 62 */ EVENT(/* timestamp*/2.20460875, TriggerWheel::T_PRIMARY, /*value*/false);
111
3/7
✓ 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.
1 EXPECT_EQ(570, round(Sensor::getOrZero(SensorType::Rpm)));
112
113
1/1
✓ Branch 1 taken 1 time.
1 /* 63 */ EVENT(/* timestamp*/2.20940075, TriggerWheel::T_SECONDARY, /*value*/true);
114
1/1
✓ Branch 1 taken 1 time.
1 /* 64 */ EVENT(/* timestamp*/2.2446445, TriggerWheel::T_SECONDARY, /*value*/false);
115
1/1
✓ Branch 1 taken 1 time.
1 /* 65 */ EVENT(/* timestamp*/2.26826475, TriggerWheel::T_SECONDARY, /*value*/true);
116
1/1
✓ Branch 1 taken 1 time.
1 /* 66 */ EVENT(/* timestamp*/2.30276125, TriggerWheel::T_PRIMARY, /*value*/true);
117
1/1
✓ Branch 1 taken 1 time.
1 /* 67 */ EVENT(/* timestamp*/2.308357, TriggerWheel::T_SECONDARY, /*value*/false);
118
1/1
✓ Branch 1 taken 1 time.
1 /* 68 */ EVENT(/* timestamp*/2.33551175, TriggerWheel::T_SECONDARY, /*value*/true);
119
1/1
✓ Branch 1 taken 1 time.
1 /* 69 */ EVENT(/* timestamp*/2.3601205, TriggerWheel::T_PRIMARY, /*value*/true);
120
1/1
✓ Branch 1 taken 1 time.
1 /* 70 */ EVENT(/* timestamp*/2.382952, TriggerWheel::T_SECONDARY, /*value*/false);
121
1/1
✓ Branch 1 taken 1 time.
1 /* 71 */ EVENT(/* timestamp*/2.41535525, TriggerWheel::T_SECONDARY, /*value*/true);
122
1/1
✓ Branch 1 taken 1 time.
1 /* 74 */ EVENT(/* timestamp*/2.45321725, TriggerWheel::T_PRIMARY, /*value*/true);
123
1/1
✓ Branch 1 taken 1 time.
1 /* 75 */ EVENT(/* timestamp*/2.4577005, TriggerWheel::T_SECONDARY, /*value*/false);
124
1/1
✓ Branch 1 taken 1 time.
1 /* 76 */ EVENT(/* timestamp*/2.47348125, TriggerWheel::T_PRIMARY, /*value*/false);
125
1/1
✓ Branch 1 taken 1 time.
1 /* 77 */ EVENT(/* timestamp*/2.47796125, TriggerWheel::T_SECONDARY, /*value*/true);
126
1/1
✓ Branch 1 taken 1 time.
1 /* 80 */ EVENT(/* timestamp*/2.51159275, TriggerWheel::T_SECONDARY, /*value*/false);
127
1/1
✓ Branch 1 taken 1 time.
1 /* 81 */ EVENT(/* timestamp*/2.533664, TriggerWheel::T_SECONDARY, /*value*/true);
128
1/1
✓ Branch 1 taken 1 time.
1 /* 84 */ EVENT(/* timestamp*/2.56564675, TriggerWheel::T_PRIMARY, /*value*/true);
129
1/1
✓ Branch 1 taken 1 time.
1 /* 85 */ EVENT(/* timestamp*/2.57087425, TriggerWheel::T_SECONDARY, /*value*/false);
130
1/1
✓ Branch 1 taken 1 time.
1 /* 86 */ EVENT(/* timestamp*/2.59612075, TriggerWheel::T_SECONDARY, /*value*/true);
131
1/1
✓ Branch 1 taken 1 time.
1 /* 89 */ EVENT(/* timestamp*/2.61853375, TriggerWheel::T_PRIMARY, /*value*/true);
132
1/1
✓ Branch 1 taken 1 time.
1 /* 90 */ EVENT(/* timestamp*/2.6365195, TriggerWheel::T_SECONDARY, /*value*/false);
133
1/1
✓ Branch 1 taken 1 time.
1 /* 93 */ EVENT(/* timestamp*/2.6573605, TriggerWheel::T_SECONDARY, /*value*/true);
134
1/1
✓ Branch 1 taken 1 time.
1 /* 94 */ EVENT(/* timestamp*/2.68447975, TriggerWheel::T_PRIMARY, /*value*/true);
135
1/1
✓ Branch 1 taken 1 time.
1 /* 95 */ EVENT(/* timestamp*/2.68829075, TriggerWheel::T_SECONDARY, /*value*/false);
136
1/1
✓ Branch 1 taken 1 time.
1 /* 96 */ EVENT(/* timestamp*/2.701797, TriggerWheel::T_PRIMARY, /*value*/false);
137
1/1
✓ Branch 1 taken 1 time.
1 /* 98 */ EVENT(/* timestamp*/2.705553, TriggerWheel::T_SECONDARY, /*value*/true);
138
1/1
✓ Branch 1 taken 1 time.
1 /* 100 */ EVENT(/* timestamp*/2.73171175, TriggerWheel::T_SECONDARY, /*value*/false);
139
1/1
✓ Branch 1 taken 1 time.
1 /* 101 */ EVENT(/* timestamp*/2.7466575, TriggerWheel::T_SECONDARY, /*value*/true);
140
1/1
✓ Branch 1 taken 1 time.
1 /* 104 */ EVENT(/* timestamp*/2.76736375, TriggerWheel::T_PRIMARY, /*value*/true);
141
1/1
✓ Branch 1 taken 1 time.
1 /* 105 */ EVENT(/* timestamp*/2.770612, TriggerWheel::T_SECONDARY, /*value*/false);
142
1/1
✓ Branch 1 taken 1 time.
1 /* 106 */ EVENT(/* timestamp*/2.7848735, TriggerWheel::T_SECONDARY, /*value*/true);
143
1/1
✓ Branch 1 taken 1 time.
1 /* 109 */ EVENT(/* timestamp*/2.79669, TriggerWheel::T_PRIMARY, /*value*/true);
144
1/1
✓ Branch 1 taken 1 time.
1 /* 110 */ EVENT(/* timestamp*/2.808129, TriggerWheel::T_SECONDARY, /*value*/false);
145
1/1
✓ Branch 1 taken 1 time.
1 /* 113 */ EVENT(/* timestamp*/2.8232045, TriggerWheel::T_SECONDARY, /*value*/true);
146
1/1
✓ Branch 1 taken 1 time.
1 /* 114 */ EVENT(/* timestamp*/2.84438125, TriggerWheel::T_PRIMARY, /*value*/true);
147
1/1
✓ Branch 1 taken 1 time.
1 /* 115 */ EVENT(/* timestamp*/2.847948, TriggerWheel::T_SECONDARY, /*value*/false);
148
1/1
✓ Branch 1 taken 1 time.
1 /* 117 */ EVENT(/* timestamp*/2.86067075, TriggerWheel::T_PRIMARY, /*value*/false);
149
1/1
✓ Branch 1 taken 1 time.
1 /* 119 */ EVENT(/* timestamp*/2.8642345, TriggerWheel::T_SECONDARY, /*value*/true);
150
1/1
✓ Branch 1 taken 1 time.
1 /* 120 */ EVENT(/* timestamp*/2.89112225, TriggerWheel::T_SECONDARY, /*value*/false);
151
1/1
✓ Branch 1 taken 1 time.
1 /* 123 */ EVENT(/* timestamp*/2.9089625, TriggerWheel::T_SECONDARY, /*value*/true);
152
1/1
✓ Branch 1 taken 1 time.
1 /* 124 */ EVENT(/* timestamp*/2.93429275, TriggerWheel::T_PRIMARY, /*value*/true);
153
1/1
✓ Branch 1 taken 1 time.
1 /* 125 */ EVENT(/* timestamp*/2.93850475, TriggerWheel::T_SECONDARY, /*value*/false);
154
1/1
✓ Branch 1 taken 1 time.
1 /* 128 */ EVENT(/* timestamp*/2.958108, TriggerWheel::T_SECONDARY, /*value*/true);
155
1/1
✓ Branch 1 taken 1 time.
1 /* 129 */ EVENT(/* timestamp*/2.974461, TriggerWheel::T_PRIMARY, /*value*/true);
156
1/1
✓ Branch 1 taken 1 time.
1 /* 130 */ EVENT(/* timestamp*/2.98846325, TriggerWheel::T_SECONDARY, /*value*/false);
157
1/1
✓ Branch 1 taken 1 time.
1 /* 133 */ EVENT(/* timestamp*/3.00650825, TriggerWheel::T_SECONDARY, /*value*/true);
158
1/1
✓ Branch 1 taken 1 time.
1 /* 134 */ EVENT(/* timestamp*/3.031735, TriggerWheel::T_PRIMARY, /*value*/true);
159
160
3/8
✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✗ Branch 25 not taken.
✗ Branch 28 not taken.
1 EXPECT_EQ( 0u, getRecentWarnings()->getCount()) << "warningCounter#realCranking";
161
162
3/8
✓ 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.
1 EXPECT_EQ(623, round(Sensor::getOrZero(SensorType::Rpm))) << "RPM at the end";
163 2 }
164
165 4 TEST(cranking, naCrankFromFile) {
166
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(2, /* vvtCount */ 0);
167
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/cranking_na_4.csv", REVERSE_ORDER);
168
169
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth(engine_type_e::FRANKENSO_MIATA_NA6_MAP);
170 1 engineConfiguration->alwaysInstantRpm = true;
171
172
3/3
✓ Branch 1 taken 353 times.
✓ Branch 3 taken 352 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
353 while (reader.haveMore()) {
173
1/1
✓ Branch 1 taken 352 times.
352 reader.processLine(&eth);
174 }
175
176
3/7
✓ Branch 3 taken 1 time.
✓ Branch 8 taken 1 time.
✗ Branch 13 not taken.
✓ Branch 14 taken 1 time.
✗ Branch 17 not taken.
✗ Branch 22 not taken.
✗ Branch 25 not taken.
1 EXPECT_EQ(0u, eth.recentWarnings()->getCount());
177
3/7
✓ 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.
1 EXPECT_EQ(669, round(Sensor::getOrZero(SensorType::Rpm)));
178 2 }
179