GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/ignition_injection/test_dwell_corner_case_issue_796.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 14 0 14
Functions: 100.0% 3 0 3
Branches: 46.0% 23 0 50
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 /*
2 * test_dwell_corner_case_issue_796.cpp
3 *
4 * Created on: Jul 1, 2019
5 * @author Andrey Belomutskiy, (c) 2012-2020
6 */
7
8 #include "pch.h"
9
10 4 TEST(scheduler, dwellIssue796) {
11
12
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth(engine_type_e::TEST_ENGINE);
13
1/1
✓ Branch 1 taken 1 time.
1 setupSimpleTestEngineWithMafAndTT_ONE_trigger(&eth, IM_SEQUENTIAL);
14
15
1/1
✓ Branch 1 taken 1 time.
1 eth.fireTriggerEvents2(4 /* count */ , 600 /* ms */);
16
17 // check if the mode is changed
18
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(CRANKING, engine->rpmCalculator.getState());
19 // due to isFasterEngineSpinUp=true, we should have already detected RPM!
20
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( 100, round(Sensor::getOrZero(SensorType::Rpm))) << "spinning-RPM#1";
21
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(300000.0f, engine->rpmCalculator.oneDegreeUs * 180, 1);
22
23 // with just a bit much time between events integer RPM goes down one full percent
24
1/1
✓ Branch 1 taken 1 time.
1 eth.smartFireRise(601);
25
1/1
✓ Branch 1 taken 1 time.
1 eth.smartFireFall(600);
26
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( 100, round(Sensor::getOrZero(SensorType::Rpm)), EPS3D) << "spinning-RPM#2";
27 // while integer RPM value is 1% away from rpm=100, below oneDegreeUs is much closer to RPM=100 value
28
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(300250, (int)(engine->rpmCalculator.oneDegreeUs * 180), 1);
29 1 }
30