GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/trigger/test_real_cranking_miata_NA.cpp
Date: 2025-10-03 00:57:22
Warnings: 1 unchecked decisions!
Coverage Exec Excl Total
Lines: 100.0% 25 0 25
Functions: 100.0% 3 0 3
Branches: 52.0% 39 0 75
Decisions: 75.0% 6 - 8

Line Branch Decision Exec Source
1 /*
2 * @file test_real_cranking_miata_NA.cpp
3 *
4 * @date May 22, 2021
5 * @author Andrey Belomutskiy, (c) 2012-2021
6 */
7
8 #include "pch.h"
9
10 #include "logicdata_csv_reader.h"
11 #include <string>
12
13 4 TEST(cranking, realCrankingFromFile) {
14
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(2, /* vvtCount */ 0);
15 // this logic data file has first trigger channel in second column and second trigger channel in first column
16
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/cranking_na_3.csv", REVERSE_ORDER);
17
18 // just to avoid crancking on low battery warning
19
1/1
✓ Branch 1 taken 1 time.
1 Sensor::setMockValue(SensorType::BatteryVoltage, 13);
20
21
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth (engine_type_e::FRANKENSO_MIATA_NA6_MAP);
22 1 engineConfiguration->alwaysInstantRpm = true;
23
24 ssize_t read;
25
26
2/2
✓ Branch 0 taken 11 times.
✓ Branch 1 taken 1 time.
2/2
✓ Decision 'true' taken 11 times.
✓ Decision 'false' taken 1 time.
12 for (int i = 0; i < 11; i++) {
27
1/1
✓ Branch 1 taken 11 times.
11 reader.readLine(&eth);
28 }
29
30
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
1 EXPECT_EQ(0, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
31
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());
32
33 // This tooth should be first sync point
34
1/1
✓ Branch 1 taken 1 time.
1 reader.readLine(&eth);
35
36
3/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 29 not taken.
✗ Branch 32 not taken.
1 EXPECT_EQ(228, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex() << " @ 1";
37
38
2/2
✓ Branch 0 taken 42 times.
✓ Branch 1 taken 1 time.
2/2
✓ Decision 'true' taken 42 times.
✓ Decision 'false' taken 1 time.
43 for (int i = 0; i < 42; i++) {
39
1/1
✓ Branch 1 taken 42 times.
42 reader.readLine(&eth);
40 }
41
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
1 EXPECT_EQ(261, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
42
43
44
2/2
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 1 time.
2/2
✓ Decision 'true' taken 30 times.
✓ Decision 'false' taken 1 time.
31 for (int i = 0; i < 30; i++) {
45
1/1
✓ Branch 1 taken 30 times.
30 reader.readLine(&eth);
46 }
47
3/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 29 not taken.
✗ Branch 32 not taken.
1 EXPECT_EQ(738, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex() << " @ 2";
48
49
3/3
✓ Branch 1 taken 134 times.
✓ Branch 3 taken 133 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
134 while (reader.haveMore()) {
50
1/1
✓ Branch 1 taken 133 times.
133 reader.processLine(&eth);
51 }
52
53
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, eth.recentWarnings()->getCount())<< "warningCounter#realCranking";
54
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
1 EXPECT_EQ(191, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
55 2 }
56