GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/trigger/test_real_volkswagen.cpp
Date: 2025-10-03 00:57:22
Warnings: 4 unchecked decisions!
Coverage Exec Excl Total
Lines: 100.0% 44 0 44
Functions: 100.0% 6 0 6
Branches: 57.0% 61 0 107
Decisions: 0.0% 0 - 8

Line Branch Decision Exec Source
1 /*
2 * @file test_real_volkswagen.cpp
3 *
4 * @date Jun 26, 2021
5 * @author Andrey Belomutskiy, (c) 2012-2021
6 */
7
8 #include "pch.h"
9
10 #include "logicdata_csv_reader.h"
11
12 4 TEST(crankingVW, vwRealCrankingFromFile) {
13 extern bool unitTestTaskPrecisionHack;
14 1 unitTestTaskPrecisionHack = true;
15
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(1, /* vvtCount */ 0);
16
17
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/nick_1.csv");
18
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth (engine_type_e::VW_ABA);
19 1 engineConfiguration->alwaysInstantRpm = true;
20
1/1
✓ Branch 1 taken 1 time.
1 eth.setTriggerType(trigger_type_e::TT_60_2_WRONG_POLARITY);
21
22
3/3
✓ Branch 1 taken 5197 times.
✓ Branch 3 taken 5196 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
5197 while (reader.haveMore()) {
23
1/1
✓ Branch 1 taken 5196 times.
5196 reader.processLine(&eth);
24 }
25
26
4/10
✓ 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.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
1 ASSERT_EQ( 0u, eth.recentWarnings()->getCount())<< "warningCounter#vwRealCranking";
27
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
✓ Branch 37 taken 1 time.
✗ Branch 38 not taken.
1 ASSERT_EQ( 1695, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
28 1 }
29
30 4 TEST(crankingVW, crankingTwiceWithGap) {
31 extern bool unitTestTaskPrecisionHack;
32 1 unitTestTaskPrecisionHack = true;
33
1/1
✓ Branch 2 taken 1 time.
1 EngineTestHelper eth (engine_type_e::VW_ABA);
34 1 engineConfiguration->alwaysInstantRpm = true;
35
1/1
✓ Branch 1 taken 1 time.
1 eth.setTriggerType(trigger_type_e::TT_60_2_WRONG_POLARITY);
36
37 {
38
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(1, /* vvtCount */ 0);
39
40
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/nick_1.csv");
41
42
3/3
✓ Branch 1 taken 5197 times.
✓ Branch 3 taken 5196 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
5197 while (reader.haveMore()) {
43
1/1
✓ Branch 1 taken 5196 times.
5196 reader.processLine(&eth);
44 }
45
46
4/10
✓ 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.
✓ Branch 35 taken 1 time.
✗ Branch 36 not taken.
1 ASSERT_EQ(0u, eth.recentWarnings()->getCount())<< "warningCounter#vwRealCranking";
47
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
✓ Branch 37 taken 1 time.
✗ Branch 38 not taken.
1 ASSERT_EQ(1695, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
48 1 }
49
50
1/1
✓ Branch 1 taken 1 time.
1 auto now = getTimeNowNt();
51
52 {
53 // Offset by a short time offset, 10 seconds
54
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(1, /* vvtCount */ 0, 10);
55
56
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/nick_1.csv");
57
58
3/3
✓ Branch 1 taken 5197 times.
✓ Branch 3 taken 5196 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
5197 while (reader.haveMore()) {
59
1/1
✓ Branch 1 taken 5196 times.
5196 reader.processLine(&eth);
60 }
61
62
4/9
✓ 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.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
1 ASSERT_EQ(0u, eth.recentWarnings()->getCount());
63
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
✓ Branch 37 taken 1 time.
✗ Branch 38 not taken.
1 ASSERT_EQ(1695, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
64 1 }
65
66 {
67 // Offset by long time offset, 5m14.15s
68
1/1
✓ Branch 2 taken 1 time.
1 CsvReader reader(1, /* vvtCount */ 0, 314.159);
69
70
1/1
✓ Branch 1 taken 1 time.
1 reader.open("tests/trigger/resources/nick_1.csv");
71
72
3/3
✓ Branch 1 taken 5197 times.
✓ Branch 3 taken 5196 times.
✓ Branch 4 taken 1 time.
0/1
? Decision couldn't be analyzed.
5197 while (reader.haveMore()) {
73
1/1
✓ Branch 1 taken 5196 times.
5196 reader.processLine(&eth);
74 }
75
76
4/9
✓ 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.
✓ Branch 32 taken 1 time.
✗ Branch 33 not taken.
1 ASSERT_EQ(0u, eth.recentWarnings()->getCount());
77
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 21 not taken.
✗ Branch 26 not taken.
✗ Branch 29 not taken.
✓ Branch 37 taken 1 time.
✗ Branch 38 not taken.
1 ASSERT_EQ(1695, round(Sensor::getOrZero(SensorType::Rpm)))<< reader.lineIndex();
78 1 }
79 1 }
80