GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/actuators/test_antilag.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 28 0 28
Functions: 100.0% 3 0 3
Branches: 42.9% 45 0 105
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #include "pch.h"
2 #include "fuel_math.h"
3
4 4 TEST(Actuators, AntiLag) {
5
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth(engine_type_e::TEST_ENGINE);
6
7 1 engineConfiguration->antiLagEnabled = true;
8
9 1 setTable(config->ALSFuelAdjustment, 50 /* percent */);
10
1/1
✓ Branch 1 taken 1 time.
1 Sensor::setMockValue(SensorType::Clt, 70);
11
1/1
✓ Branch 1 taken 1 time.
1 Sensor::setMockValue(SensorType::Rpm, 1000);
12
1/1
✓ Branch 1 taken 1 time.
1 Sensor::setMockValue(SensorType::Tps1, 1);
13
1/1
✓ Branch 1 taken 1 time.
1 Sensor::setMockValue(SensorType::AcceleratorPedal, 1);
14
15 1 engineConfiguration->antiLagActivationMode = SWITCH_INPUT_ANTILAG;
16
1/1
✓ Branch 1 taken 1 time.
1 engine->periodicFastCallback();
17 1 float fuelWithCorrections = 1.01;
18
4/9
✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✓ Branch 27 taken 1 time.
✗ Branch 28 not taken.
1 ASSERT_NEAR(fuelWithCorrections, getRunningFuel(1), EPS4D);
19 // in unit tests we pretend that physical swiych is always OFF
20
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(0, engine->antilagController.ALSSwitchCondition);
21
3/8
✓ 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.
✓ Branch 26 taken 1 time.
✗ Branch 27 not taken.
1 ASSERT_EQ(0.0, engine->antilagController.fuelALSCorrection);
22
23 1 engineConfiguration->antiLagActivationMode = ALWAYS_ON_ANTILAG;
24
1/1
✓ Branch 1 taken 1 time.
1 engine->periodicFastCallback();
25
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSSwitchCondition);
26
3/8
✓ Branch 2 taken 1 time.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 time.
✗ Branch 9 not taken.
✗ Branch 14 not taken.
✗ Branch 17 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 25 not taken.
1 ASSERT_NEAR(50, engine->antilagController.fuelALSCorrection, EPS4D);
27
28
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSMinRPMCondition);
29
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSMaxRPMCondition);
30
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSMinCLTCondition);
31
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSMaxCLTCondition);
32
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.ALSMaxThrottleIntentCondition);
33
34
3/8
✓ Branch 4 taken 1 time.
✗ Branch 9 not taken.
✓ Branch 10 taken 1 time.
✗ Branch 13 not taken.
✗ Branch 18 not taken.
✗ Branch 21 not taken.
✓ Branch 28 taken 1 time.
✗ Branch 29 not taken.
1 ASSERT_EQ(1, engine->antilagController.isAntilagCondition);
35
4/9
✓ Branch 2 taken 1 time.
✓ Branch 5 taken 1 time.
✗ Branch 8 not taken.
✓ Branch 9 taken 1 time.
✗ Branch 12 not taken.
✗ Branch 17 not taken.
✗ Branch 20 not taken.
✓ Branch 27 taken 1 time.
✗ Branch 28 not taken.
1 ASSERT_NEAR(1.5 * fuelWithCorrections, getRunningFuel(1), EPS4D);
36 1 }
37