| Line | Branch | Decision | Exec | Source |
|---|---|---|---|---|
| 1 | /* | |||
| 2 | * @file test_real_nb2_cranking.cpp | |||
| 3 | * | |||
| 4 | * @date July 13, 2019 | |||
| 5 | * @author Andrey Belomutskiy, (c) 2012-2020 | |||
| 6 | */ | |||
| 7 | ||||
| 8 | #include "pch.h" | |||
| 9 | #include "logicdata_csv_reader.h" | |||
| 10 | ||||
| 11 | 4 | TEST(realCrankingNB2, normalCranking) { | ||
| 12 |
1/1✓ Branch 2 taken 1 time.
|
1 | CsvReader reader(1, /* vvtCount */ 1); | |
| 13 | ||||
| 14 |
1/1✓ Branch 1 taken 1 time.
|
1 | reader.open("tests/trigger/resources/nb2-cranking-good.csv"); | |
| 15 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth (engine_type_e::MAZDA_MIATA_NB2); | |
| 16 | 1 | engineConfiguration->alwaysInstantRpm = true; | ||
| 17 | ||||
| 18 |
3/3✓ Branch 1 taken 978 times.
✓ Branch 3 taken 977 times.
✓ Branch 4 taken 1 time.
|
0/1? Decision couldn't be analyzed.
|
978 | while (reader.haveMore()) { |
| 19 |
1/1✓ Branch 1 taken 977 times.
|
977 | reader.processLine(ð); | |
| 20 | } | |||
| 21 | ||||
| 22 | // VVT position nearly zero! | |||
| 23 |
3/7✓ 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.
|
1 | EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), 4.2627f, 1e-4); | |
| 24 | ||||
| 25 | // Check the number of times VVT information was used to adjust crank phase | |||
| 26 | // This should happen exactly once: once we sync, we shouldn't lose it. | |||
| 27 |
2/6✓ 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.
|
1 | EXPECT_EQ(engine->triggerCentral.triggerState.camResyncCounter, 2); | |
| 28 | ||||
| 29 |
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(876, round(Sensor::getOrZero(SensorType::Rpm))); | |
| 30 | ||||
| 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(2u, eth.recentWarnings()->getCount()); | |
| 32 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_PRIMARY_NOT_ENOUGH_TEETH, eth.recentWarnings()->get(0).Code); | |
| 33 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_CAM_TOO_MANY_TEETH, eth.recentWarnings()->get(1).Code); | |
| 34 | 1 | } | ||
| 35 | ||||
| 36 | 4 | TEST(realCrankingNB2, crankingMissingInjector) { | ||
| 37 |
1/1✓ Branch 2 taken 1 time.
|
1 | CsvReader reader(1, /* vvtCount */ 1); | |
| 38 | ||||
| 39 |
1/1✓ Branch 1 taken 1 time.
|
1 | reader.open("tests/trigger/resources/nb2-cranking-good-missing-injector-1.csv"); | |
| 40 |
1/1✓ Branch 2 taken 1 time.
|
1 | EngineTestHelper eth (engine_type_e::MAZDA_MIATA_NB2); | |
| 41 | 1 | engineConfiguration->alwaysInstantRpm = true; | ||
| 42 | ||||
| 43 |
3/3✓ Branch 1 taken 385 times.
✓ Branch 3 taken 384 times.
✓ Branch 4 taken 1 time.
|
0/1? Decision couldn't be analyzed.
|
385 | while (reader.haveMore()) { |
| 44 |
1/1✓ Branch 1 taken 384 times.
|
384 | reader.processLine(ð); | |
| 45 | } | |||
| 46 | ||||
| 47 | // VVT position nearly zero! | |||
| 48 |
3/7✓ 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.
|
1 | EXPECT_NEAR(engine->triggerCentral.getVVTPosition(0, 0), -2.5231f, 1e-4); | |
| 49 | ||||
| 50 |
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(316, round(Sensor::getOrZero(SensorType::Rpm))); | |
| 51 | ||||
| 52 |
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(3u, eth.recentWarnings()->getCount()); | |
| 53 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_PRIMARY_NOT_ENOUGH_TEETH, eth.recentWarnings()->get(0).Code); | |
| 54 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_CAM_TOO_MANY_TEETH, eth.recentWarnings()->get(1).Code); | |
| 55 |
3/7✓ Branch 2 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 11 not taken.
✓ Branch 12 taken 1 time.
✗ Branch 15 not taken.
✗ Branch 20 not taken.
✗ Branch 23 not taken.
|
1 | EXPECT_EQ(ObdCode::CUSTOM_PRIMARY_TOO_MANY_TEETH, eth.recentWarnings()->get(2).Code); | |
| 56 | 1 | } | ||
| 57 |