Line | Branch | Decision | Exec | Source |
---|---|---|---|---|
1 | #include "pch.h" | |||
2 | ||||
3 | #include "launch_control.h" | |||
4 | ||||
5 | 4 | TEST(LaunchControl, TpsCondition) { | ||
6 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
7 | ||||
8 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
9 | ||||
10 | 1 | engineConfiguration->launchTpsThreshold = 10; | ||
11 | ||||
12 | // Should return false with failed sensor | |||
13 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::resetMockValue(SensorType::DriverThrottleIntent); | |
14 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideTpsCondition()); | |
15 | ||||
16 | // Should return false when throttle is closed | |||
17 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::DriverThrottleIntent, 5.0f); | |
18 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideTpsCondition()); | |
19 | ||||
20 | // Should return true when throttle is opened past the threshold | |||
21 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::DriverThrottleIntent, 20.0f); | |
22 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideTpsCondition()); | |
23 | 2 | } | ||
24 | ||||
25 | ||||
26 | 4 | TEST(LaunchControl, VSSCondition) { | ||
27 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
28 | ||||
29 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
30 | ||||
31 | // Test Speed threshold | |||
32 | 1 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; | ||
33 | 1 | engineConfiguration->launchSpeedThreshold = 30; | ||
34 | ||||
35 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 10.0); | |
36 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSpeedCondition()); | |
37 | ||||
38 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 40.0); | |
39 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideSpeedCondition()); | |
40 | ||||
41 | 2 | } | ||
42 | ||||
43 | 4 | TEST(LaunchControl, ZeroVSSCondition) { | ||
44 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
45 | ||||
46 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
47 | ||||
48 | // Test Speed threshold | |||
49 | 1 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; | ||
50 | 1 | engineConfiguration->launchSpeedThreshold = 0; | ||
51 | ||||
52 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 10.0); | |
53 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSpeedCondition()); | |
54 | 2 | } | ||
55 | ||||
56 | 4 | TEST(LaunchControl, VSSConditionWithSwitch) { | ||
57 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
58 | ||||
59 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
60 | ||||
61 | // Test Speed threshold | |||
62 | 1 | engineConfiguration->launchActivationMode = SWITCH_INPUT_LAUNCH; | ||
63 | 1 | engineConfiguration->launchActivatePin = Gpio::G1; | ||
64 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->launchActivatePin, true); | |
65 | 1 | engineConfiguration->launchSpeedThreshold = 30; | ||
66 | ||||
67 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 10.0); | |
68 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSpeedCondition()); | |
69 | ||||
70 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 40.0); | |
71 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideSpeedCondition()); | |
72 | 2 | } | ||
73 | ||||
74 | 4 | TEST(LaunchControl, RPMCondition) { | ||
75 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
76 | ||||
77 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
78 | ||||
79 | 1 | engineConfiguration->launchRpm = 3000; | ||
80 | ||||
81 |
2/6✓ Branch 3 taken 1 time.
✗ Branch 7 not taken.
✓ Branch 8 taken 1 time.
✗ Branch 11 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
|
1 | EXPECT_EQ(engineConfiguration->launchRpmWindow, 500); | |
82 | ||||
83 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(2499), LaunchCondition::NotMet); | |
84 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(2500), LaunchCondition::PreLaunch); | |
85 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(2900), LaunchCondition::PreLaunch); | |
86 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(2999), LaunchCondition::PreLaunch); | |
87 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(3000), LaunchCondition::Launch); | |
88 |
3/7✓ Branch 4 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(dut.calculateRPMLaunchCondition(3100), LaunchCondition::Launch); | |
89 | 2 | } | ||
90 | ||||
91 | 4 | TEST(LaunchControl, SwitchInputCondition) { | ||
92 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
93 | ||||
94 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
95 | ||||
96 | //activation based on VSS | |||
97 | 1 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; | ||
98 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSwitchCondition()); | |
99 | ||||
100 | //active by switch | |||
101 | 1 | engineConfiguration->launchActivationMode = SWITCH_INPUT_LAUNCH; | ||
102 | 1 | engineConfiguration->launchActivatePin = Gpio::G1; | ||
103 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->launchActivatePin, true); | |
104 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSwitchCondition()); | |
105 | ||||
106 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->launchActivatePin, false); | |
107 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideSwitchCondition()); | |
108 | ||||
109 | //by clutch | |||
110 | 1 | engineConfiguration->launchActivationMode = CLUTCH_INPUT_LAUNCH; | ||
111 | 1 | engineConfiguration->clutchDownPin = Gpio::G2; | ||
112 | 1 | engineConfiguration->clutchDownPinMode = PI_PULLUP; | ||
113 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->clutchDownPin, true); | |
114 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->updateSwitchInputs(); | |
115 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSwitchCondition()); | |
116 | ||||
117 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->clutchDownPin, false); | |
118 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->updateSwitchInputs(); | |
119 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideSwitchCondition()); | |
120 | ||||
121 | 1 | engineConfiguration->clutchDownPinMode = PI_INVERTED_PULLDOWN; | ||
122 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->clutchDownPin, false); | |
123 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->updateSwitchInputs(); | |
124 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(dut.isInsideSwitchCondition()); | |
125 | ||||
126 |
1/1✓ Branch 1 taken 1 time.
|
1 | setMockState(engineConfiguration->clutchDownPin, true); | |
127 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->updateSwitchInputs(); | |
128 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(dut.isInsideSwitchCondition()); | |
129 | ||||
130 | 2 | } | ||
131 | ||||
132 | 4 | TEST(LaunchControl, CombinedCondition) { | ||
133 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
134 | ||||
135 |
1/1✓ Branch 2 taken 1 time.
|
1 | LaunchControlBase dut; | |
136 | ||||
137 | //check VSS normal usage | |||
138 | 1 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; | ||
139 | ||||
140 | 1 | engineConfiguration->launchRpm = 3000; | ||
141 | 1 | engineConfiguration->launchTpsThreshold = 10; | ||
142 | //valid TPS | |||
143 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::DriverThrottleIntent, 20.0f); | |
144 | ||||
145 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 10.0); | |
146 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Rpm, 1200); | |
147 | ||||
148 |
3/7✓ Branch 4 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(dut.calculateLaunchCondition(1200), LaunchCondition::NotMet); | |
149 | ||||
150 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Rpm, 3200); | |
151 |
3/7✓ Branch 4 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(dut.calculateLaunchCondition(3200), LaunchCondition::Launch); | |
152 | ||||
153 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 40.0); | |
154 |
3/7✓ Branch 4 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(dut.calculateLaunchCondition(3200), LaunchCondition::NotMet); | |
155 | 2 | } | ||
156 | ||||
157 | 1 | static void setDefaultLaunchParameters() { | ||
158 | 1 | engineConfiguration->launchRpm = 4000; // Rpm to trigger Launch condition | ||
159 | // engineConfiguration->launchTimingRetard = 10; // retard in absolute degrees ATDC | |||
160 | 1 | engineConfiguration->launchRpmWindow = 500; // RPM window (Launch RPM - Window) for transitioning to full retard | ||
161 | 1 | engineConfiguration->launchSparkCutEnable = true; | ||
162 | 1 | engineConfiguration->launchFuelCutEnable = false; | ||
163 | 1 | engineConfiguration->launchSpeedThreshold = 10; //maximum speed allowed before disable launch | ||
164 | 1 | engineConfiguration->launchFuelAdderPercent = 10; // Extra fuel in % when launch are triggered | ||
165 | // engineConfiguration->launchBoostDuty = 70; // boost valve duty cycle at launch | |||
166 | // engineConfiguration->enableLaunchRetard = true; | |||
167 | 1 | engineConfiguration->launchSmoothRetard = true; //interpolates the advance linear from launchrpm to fully retarded at launchtimingrpmrange | ||
168 | 1 | } | ||
169 | ||||
170 | 4 | TEST(LaunchControl, CompleteRun) { | ||
171 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
172 | ||||
173 | //load default config | |||
174 | 1 | setDefaultLaunchParameters(); | ||
175 | ||||
176 | //check VSS normal usage | |||
177 | 1 | engineConfiguration->launchActivationMode = ALWAYS_ACTIVE_LAUNCH; | ||
178 | 1 | engineConfiguration->launchSpeedThreshold = 30; | ||
179 | ||||
180 | 1 | engineConfiguration->launchRpm = 3000; | ||
181 | 1 | engineConfiguration->launchTpsThreshold = 10; | ||
182 | 1 | engineConfiguration->launchControlEnabled = true; | ||
183 | //valid TPS | |||
184 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::DriverThrottleIntent, 20.0f); | |
185 | ||||
186 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 10.0); | |
187 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Rpm, 1200); | |
188 | ||||
189 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->launchController.update(); | |
190 | ||||
191 | ||||
192 | //check if we have some sort of cut? we should not have at this point | |||
193 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(engine->launchController.isLaunchSparkRpmRetardCondition()); | |
194 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(engine->launchController.isLaunchFuelRpmRetardCondition()); | |
195 | ||||
196 | ||||
197 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::Rpm, 3510); | |
198 | //update condition check | |||
199 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->launchController.update(); | |
200 | ||||
201 | ||||
202 |
1/1✓ Branch 1 taken 1 time.
|
1 | eth.moveTimeForwardAndInvokeEventsSec(3); | |
203 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->launchController.update(); | |
204 | ||||
205 | ||||
206 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_TRUE(engine->launchController.isLaunchSparkRpmRetardCondition()); | |
207 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(engine->launchController.isLaunchFuelRpmRetardCondition()); | |
208 | ||||
209 |
1/1✓ Branch 1 taken 1 time.
|
1 | Sensor::setMockValue(SensorType::VehicleSpeed, 40.0); | |
210 |
1/1✓ Branch 1 taken 1 time.
|
1 | engine->launchController.update(); | |
211 | ||||
212 | ||||
213 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(engine->launchController.isLaunchSparkRpmRetardCondition()); | |
214 |
2/7✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
|
1 | EXPECT_FALSE(engine->launchController.isLaunchFuelRpmRetardCondition()); | |
215 | ||||
216 | 2 | } | ||
217 | ||||
218 | 4 | TEST(LaunchControl, hardSkip) { | ||
219 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth(engine_type_e::TEST_ENGINE); | |
220 | ||||
221 |
1/1✓ Branch 2 taken 1 time.
|
1 | SoftSparkLimiter hardSparkLimiter(true); | |
222 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 34 not taken.
|
1 | ASSERT_FALSE(hardSparkLimiter.shouldSkip()); | |
223 | ||||
224 | ||||
225 |
1/1✓ Branch 1 taken 1 time.
|
1 | hardSparkLimiter.updateTargetSkipRatio(1.0f, 0.0f); | |
226 | // open question if we need special handling of '1' or random would just work? | |||
227 |
3/9✓ Branch 3 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
✓ Branch 33 taken 1 time.
✗ Branch 34 not taken.
|
1 | ASSERT_TRUE(hardSparkLimiter.shouldSkip()); | |
228 | ||||
229 | 1 | int counter = 0; | ||
230 |
1/1✓ Branch 1 taken 1 time.
|
1 | hardSparkLimiter.updateTargetSkipRatio(0.5f, 0.0f); | |
231 |
2/2✓ Branch 0 taken 1000 times.
✓ Branch 1 taken 1 time.
|
2/2✓ Decision 'true' taken 1000 times.
✓ Decision 'false' taken 1 time.
|
1001 | for (int i =0;i<1000;i++) { |
232 |
3/3✓ Branch 1 taken 1000 times.
✓ Branch 3 taken 524 times.
✓ Branch 4 taken 476 times.
|
2/2✓ Decision 'true' taken 524 times.
✓ Decision 'false' taken 476 times.
|
1000 | if (hardSparkLimiter.shouldSkip()) { |
233 | 524 | counter++; | ||
234 | } | |||
235 | ||||
236 | } | |||
237 |
4/14✓ Branch 2 taken 1 time.
✗ Branch 3 not taken.
✓ Branch 4 taken 1 time.
✗ Branch 5 not taken.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 16 not taken.
✗ Branch 19 not taken.
✗ Branch 24 not taken.
✗ Branch 28 not taken.
✗ Branch 31 not taken.
✓ Branch 40 taken 1 time.
✗ Branch 41 not taken.
|
1 | ASSERT_TRUE(counter > 400 && counter < 600) << "How good is random " << counter; | |
238 | 1 | } | ||
239 | ||||
240 | ||||
241 | ||||
242 | ||||
243 | ||||
244 | ||||
245 | ||||
246 | ||||
247 | ||||
248 | ||||
249 | ||||
250 | ||||
251 |