GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/trigger/test_rpm_acceleration.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 18 0 18
Functions: 100.0% 3 0 3
Branches: 45.8% 38 0 83
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #include "pch.h"
2
3 4 TEST(engine, testRpmAcceleration) {
4
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth(engine_type_e::TEST_ENGINE);
5
1/1
✓ Branch 1 taken 1 time.
1 eth.setTriggerType(trigger_type_e::TT_HALF_MOON);
6
7 // first revolution
8
1/1
✓ Branch 1 taken 1 time.
1 eth.smartFireTriggerEvents2(/*count*/1, /*delay*/ 40);
9
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(0u, engine->triggerCentral.triggerState.totalTriggerErrorCounter);
10
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(1500, Sensor::getOrZero(SensorType::Rpm));
11 // no acceleration info YET, huh?
12
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(0, engine->rpmCalculator.getRpmAcceleration());
13
14 // second revolution same speed
15
1/1
✓ Branch 1 taken 1 time.
1 eth.smartFireTriggerEvents2(/*count*/1, /*delay*/ 40);
16
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(0u, engine->triggerCentral.triggerState.totalTriggerErrorCounter);
17
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(1500, Sensor::getOrZero(SensorType::Rpm));
18 // we got RPM we got acceleration
19
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(9375, engine->rpmCalculator.getRpmAcceleration());
20
21 // third revolution slow down
22
1/1
✓ Branch 1 taken 1 time.
1 eth.smartFireTriggerEvents2(/*count*/1, /*delay*/ 80);
23
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(1000, Sensor::getOrZero(SensorType::Rpm));
24
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(-2083.3335, engine->rpmCalculator.getRpmAcceleration(), EPS3D);
25
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(0u, engine->triggerCentral.triggerState.totalTriggerErrorCounter);
26 1 }
27