GCC Code Coverage Report


Directory: ./
File: unit_tests/mocks.h
Date: 2025-10-03 00:57:22
Coverage Exec Excl Total
Lines: 57.4% 35 0 61
Functions: 57.4% 35 0 61
Branches: 100.0% 33 0 33
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #pragma once
2
3 #include "electronic_throttle.h"
4 #include "dc_motor.h"
5 #include "table_helper.h"
6 #include "pwm_generator_logic.h"
7 #include "airmass.h"
8 #include "injector_model.h"
9 #include "stepper.h"
10 #include "tunerstudio_io.h"
11 #include "idle_thread.h"
12 #include "test_executor.h"
13
14 #include "gmock/gmock.h"
15
16 class MockEtb : public IEtbController {
17 public:
18 MockEtb();
19 virtual ~MockEtb();
20
21 // IEtbController mocks
22 MOCK_METHOD(void, reset, (const char *reason), (override));
23 10 MOCK_METHOD(bool, isEtbMode, (), (const, override));
24 MOCK_METHOD(void, update, (), (override));
25
5/5
✓ Branch 3 taken 12 times.
✓ Branch 7 taken 12 times.
✓ Branch 11 taken 12 times.
✓ Branch 15 taken 12 times.
✓ Branch 18 taken 12 times.
19 MOCK_METHOD(bool, init, (dc_function_e function, DcMotor* motor, pid_s* pidParameters, const ValueProvider3D* pedalMap), (override));
26
2/2
✓ Branch 3 taken 2 times.
✓ Branch 6 taken 2 times.
4 MOCK_METHOD(void, setIdlePosition, (percent_t pos), (override));
27
2/2
✓ Branch 3 taken 2 times.
✓ Branch 6 taken 2 times.
3 MOCK_METHOD(void, setWastegatePosition, (percent_t pos), (override));
28 MOCK_METHOD(void, autoCalibrateTps, (bool), (override));
29 MOCK_METHOD(const pid_state_s&, getPidState, (), (const, override));
30 MOCK_METHOD(float, getCurrentTarget, (), (const, override));
31 MOCK_METHOD(void, setLuaAdjustment, (percent_t adjustment), (override));
32
33
34 // ClosedLoopController mocks
35 MOCK_METHOD(expected<percent_t>, getSetpoint, (), (override));
36 MOCK_METHOD(expected<percent_t>, observePlant, (), (override));
37 MOCK_METHOD(expected<percent_t>, getOpenLoop, (percent_t setpoint), (override));
38 MOCK_METHOD(expected<percent_t>, getClosedLoop, (percent_t setpoint, percent_t observation), (override));
39 MOCK_METHOD(void, setOutput, (expected<percent_t> outputValue), (override));
40 };
41
42 class MockMotor : public DcMotor {
43 public:
44 MockMotor();
45 virtual ~MockMotor();
46
47
2/2
✓ Branch 3 taken 4 times.
✓ Branch 6 taken 4 times.
8 MOCK_METHOD(bool, set, (float duty), (override));
48 MOCK_METHOD(float, get, (), (const, override));
49 8 MOCK_METHOD(void, enable, (), (override));
50
2/2
✓ Branch 3 taken 3 times.
✓ Branch 6 taken 3 times.
6 MOCK_METHOD(void, disable, (const char *msg), (override));
51 MOCK_METHOD(bool, isOpenDirection, (), (const, override));
52 };
53
54 class MockVp3d : public ValueProvider3D {
55 public:
56 MockVp3d();
57 virtual ~MockVp3d();
58
59
3/3
✓ Branch 3 taken 21 times.
✓ Branch 7 taken 21 times.
✓ Branch 10 taken 21 times.
116 MOCK_METHOD(float, getValue, (float xColumn, float yRow), (const, override));
60 };
61
62 class MockPwm : public IPwm {
63 public:
64 MockPwm();
65 virtual ~MockPwm();
66
67
2/2
✓ Branch 3 taken 19 times.
✓ Branch 6 taken 19 times.
37 MOCK_METHOD(void, setSimplePwmDutyCycle, (float dutyCycle), (override));
68 };
69
70 class MockOutputPin : public OutputPin {
71 public:
72 MockOutputPin();
73 virtual ~MockOutputPin();
74
75
3/3
✓ Branch 3 taken 11 times.
✓ Branch 7 taken 11 times.
✓ Branch 10 taken 11 times.
37 MOCK_METHOD(void, setValue, (int value, bool isForce), (override));
76 };
77
78 class MockExecutor : public TestExecutor {
79 public:
80 MockExecutor();
81 virtual ~MockExecutor();
82
83
5/5
✓ Branch 3 taken 16 times.
✓ Branch 7 taken 16 times.
✓ Branch 11 taken 16 times.
✓ Branch 15 taken 16 times.
✓ Branch 18 taken 16 times.
32 MOCK_METHOD(void, schedule, (const char *msg, scheduling_s *scheduling, efitick_t timeNt, action_s const& action), (override));
84
2/2
✓ Branch 3 taken 1 time.
✓ Branch 6 taken 1 time.
3 MOCK_METHOD(void, cancel, (scheduling_s*), (override));
85 };
86
87 class MockAirmass : public AirmassVeModelBase {
88 public:
89 MockAirmass();
90 virtual ~MockAirmass();
91
92 MockVp3d veTable;
93
94
3/3
✓ Branch 3 taken 17 times.
✓ Branch 7 taken 17 times.
✓ Branch 10 taken 17 times.
1141 MOCK_METHOD(AirmassResult, getAirmass, (float rpm, bool postState), (override));
95 };
96
97 class MockInjectorModel2 : public IInjectorModel {
98 public:
99 MockInjectorModel2();
100 virtual ~MockInjectorModel2();
101
102 1 MOCK_METHOD(void, prepare, (), (override));
103
2/2
✓ Branch 3 taken 12 times.
✓ Branch 6 taken 12 times.
66 MOCK_METHOD(floatms_t, getInjectionDuration, (float fuelMassGram), (const, override));
104 1 MOCK_METHOD(float, getFuelMassForDuration, (floatms_t duration), (const, override));
105 MOCK_METHOD(floatms_t, getDeadtime, (), (const, override));
106 };
107
108 class MockStepperHardware : public StepperHw {
109 public:
110 MockStepperHardware();
111 virtual ~MockStepperHardware();
112
113 MOCK_METHOD(bool, step, (bool positive), (override));
114 };
115
116 class MockTsChannel : public TsChannelBase {
117 public:
118 MockTsChannel();
119 virtual ~MockTsChannel();
120
121 1 MOCK_METHOD(void, write, (const uint8_t* buffer, size_t size, bool isEndOfPacket), (override));
122 MOCK_METHOD(size_t, readTimeout, (uint8_t* buffer, size_t size, int timeout), (override));
123 };
124
125 class MockIdleController : public IdleController {
126 public:
127 MockIdleController();
128 virtual ~MockIdleController();
129
130 MOCK_METHOD(IdleController::Phase, determinePhase, (float rpm, IdleController::TargetInfo targetRpm, SensorResult tps, float vss, float crankingTaperFraction), (override));
131 MOCK_METHOD(IdleController::TargetInfo, getTargetRpm, (float clt), (override));
132 MOCK_METHOD(float, getCrankingOpenLoop, (float clt), (const, override));
133 MOCK_METHOD(float, getRunningOpenLoop, (IdleController::Phase phase, float rpm, float clt, SensorResult tps), (override));
134 MOCK_METHOD(float, getOpenLoop, (IdleController::Phase phase, float rpm, float clt, SensorResult tps, float crankingTaperFraction), (override));
135 MOCK_METHOD(float, getClosedLoop, (IdleController::Phase phase, float tps, float rpm, float target), (override));
136 MOCK_METHOD(float, getCrankingTaperFraction, (float clt), (const, override));
137 MOCK_METHOD(bool, isIdlingOrTaper, (), (const, override));
138 2 MOCK_METHOD(bool, isCoastingAdvance, (), (const, override));
139 MOCK_METHOD(IdleController::Phase, getCurrentPhase, (), (const, override));
140 MOCK_METHOD(float, getIdleTimingAdjustment, (float rpm), (override));
141 };
142
143 class MockIgnitionController : public IgnitionController {
144 public:
145 MockIgnitionController();
146 virtual ~MockIgnitionController();
147
148 5 MOCK_METHOD(bool, getIgnState, (), (const, override));
149 };
150
151 class MockHpfpController : public HpfpController {
152 public:
153 MockHpfpController();
154 virtual ~MockHpfpController();
155
156 bool isHpfpActive;
157 angle_t m_deadangle;
158 };
159
160 class MockLimpManager : public LimpManager {
161 public:
162 MockLimpManager();
163 virtual ~MockLimpManager();
164 };
165