GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/trigger/test_rpm_multiplier.cpp
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 100.0% 23 0 23
Functions: 100.0% 10 0 10
Branches: 58.3% 7 0 12
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 /*
2 * @file test_rpm_multiplier.cpp
3 *
4 * Four different cases of operation_mode_e and getRpmMultiplier
5 *
6 * @date Jun 26, 2021
7 * @author Andrey Belomutskiy, (c) 2012-2021
8 */
9
10 #include "pch.h"
11
12 3 static void runRpmTest(bool isTwoStroke, bool isCam, int expected) {
13
1/1
✓ Branch 2 taken 3 times.
3 EngineTestHelper eth(engine_type_e::TEST_ENGINE);
14 3 engineConfiguration->twoStroke = isTwoStroke;
15 3 engineConfiguration->skippedWheelOnCam = isCam;
16
1/1
✓ Branch 1 taken 3 times.
3 eth.setTriggerType(trigger_type_e::TT_HALF_MOON);
17
18
1/1
✓ Branch 1 taken 3 times.
3 eth.smartFireTriggerEvents2(/*count*/200, /*delay*/ 40);
19
4/9
✓ Branch 3 taken 3 times.
✓ Branch 6 taken 3 times.
✗ Branch 10 not taken.
✓ Branch 11 taken 3 times.
✗ Branch 14 not taken.
✗ Branch 19 not taken.
✗ Branch 22 not taken.
✓ Branch 29 taken 3 times.
✗ Branch 30 not taken.
3 ASSERT_EQ(expected, Sensor::getOrZero(SensorType::Rpm));
20 3 }
21
22 // todo: google test profiles one day?
23
24 4 TEST(engine, testRpmOfCamSensor) {
25 1 runRpmTest(false, true, 1500);
26 1 }
27
28 4 TEST(engine, testRpmOfTwoStroke) {
29 1 runRpmTest(true, false, 750);
30 1 }
31
32 4 TEST(engine, testRpmOfCrankOnly) {
33 1 runRpmTest(false, false, 750);
34 1 }
35
36