Skip to content

Commit 1138cd7

Browse files
committed
not in setup
1 parent 6973048 commit 1138cd7

File tree

1 file changed

+69
-49
lines changed

1 file changed

+69
-49
lines changed

drivers/CoreDAC/tests/CoreSTM32HalBasicTimer_test.cpp

Lines changed: 69 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -23,35 +23,12 @@ using ::testing::SaveArgPointee;
2323
class CoreSTM32HalBasicTimerTest : public ::testing::Test
2424
{
2525
protected:
26-
void SetUp() override
27-
{
28-
basic_timer.registerCallback(callback.AsStdFunction());
29-
30-
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPINIT_CB_ID, _))
31-
.WillOnce(DoAll(SaveArg<2>(&mspinit_callback), Return(HAL_StatusTypeDef::HAL_OK)));
32-
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPDEINIT_CB_ID, _))
33-
.WillOnce(DoAll(SaveArg<2>(&mspdeinit_callback), Return(HAL_StatusTypeDef::HAL_OK)));
34-
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_PERIOD_ELAPSED_CB_ID, _))
35-
.WillOnce(DoAll(SaveArg<2>(&period_elapsed_callback), Return(HAL_StatusTypeDef::HAL_OK)));
36-
37-
EXPECT_CALL(halmock, HAL_TIM_Base_Init);
38-
EXPECT_CALL(halmock, HAL_TIMEx_MasterConfigSynchronization)
39-
.WillOnce(DoAll(SaveArgPointee<1>(&basic_timer_master_config), Return(HAL_StatusTypeDef::HAL_OK)));
40-
41-
basic_timer.initialize();
42-
}
26+
// void SetUp() override {}
4327
// void TearDown() override {}
4428

4529
mock::CoreSTM32Hal halmock;
4630

4731
CoreSTM32HalBasicTimer basic_timer {halmock};
48-
TIM_MasterConfigTypeDef basic_timer_master_config {};
49-
50-
MockFunction<void()> callback;
51-
52-
std::function<void(TIM_HandleTypeDef *)> mspinit_callback = [](TIM_HandleTypeDef *) {};
53-
std::function<void(TIM_HandleTypeDef *)> mspdeinit_callback = [](TIM_HandleTypeDef *) {};
54-
std::function<void(TIM_HandleTypeDef *)> period_elapsed_callback = [](TIM_HandleTypeDef *) {};
5532
};
5633

5734
TEST_F(CoreSTM32HalBasicTimerTest, initializationDefault)
@@ -88,42 +65,69 @@ TEST_F(CoreSTM32HalBasicTimerTest, initialize)
8865
basic_timer.initialize();
8966
}
9067

91-
TEST_F(CoreSTM32HalBasicTimerTest, initializeMspInit)
68+
TEST_F(CoreSTM32HalBasicTimerTest, initializeMspInitDeinit)
9269
{
93-
auto *basic_timer_instance = basic_timer.getHandle().Instance;
70+
std::function<void(TIM_HandleTypeDef *)> mspinit_callback = [](TIM_HandleTypeDef *) {};
71+
std::function<void(TIM_HandleTypeDef *)> mspdeinit_callback = [](TIM_HandleTypeDef *) {};
9472

95-
if (basic_timer_instance == TIM6) {
96-
EXPECT_CALL(halmock, HAL_RCC_TIM6_CLK_ENABLE);
97-
EXPECT_CALL(halmock, HAL_NVIC_SetPriority(TIM6_DAC_IRQn, _, _));
98-
EXPECT_CALL(halmock, HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn));
99-
} else if (basic_timer_instance == TIM7) {
100-
EXPECT_CALL(halmock, HAL_RCC_TIM7_CLK_ENABLE);
101-
EXPECT_CALL(halmock, HAL_NVIC_SetPriority(TIM7_IRQn, _, _));
102-
EXPECT_CALL(halmock, HAL_NVIC_EnableIRQ(TIM7_IRQn));
103-
} else {
104-
FAIL(); // Only timers 6 and 7 can be used as Basic Timer
105-
}
73+
{
74+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPINIT_CB_ID, _))
75+
.WillOnce(DoAll(SaveArg<2>(&mspinit_callback), Return(HAL_StatusTypeDef::HAL_OK)));
76+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPDEINIT_CB_ID, _))
77+
.WillOnce(DoAll(SaveArg<2>(&mspdeinit_callback), Return(HAL_StatusTypeDef::HAL_OK)));
78+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_PERIOD_ELAPSED_CB_ID, _));
79+
EXPECT_CALL(halmock, HAL_TIM_Base_Init);
80+
EXPECT_CALL(halmock, HAL_TIMEx_MasterConfigSynchronization);
10681

107-
mspinit_callback(&basic_timer.getHandle());
108-
}
82+
basic_timer.initialize();
83+
}
10984

110-
TEST_F(CoreSTM32HalBasicTimerTest, initializeMspDeinit)
111-
{
11285
auto *basic_timer_instance = basic_timer.getHandle().Instance;
11386

114-
if (basic_timer_instance == TIM6) {
115-
EXPECT_CALL(halmock, HAL_RCC_TIM6_CLK_DISABLE);
116-
} else if (basic_timer_instance == TIM7) {
117-
EXPECT_CALL(halmock, HAL_RCC_TIM7_CLK_DISABLE);
118-
} else {
119-
FAIL(); // Only timers 6 and 7 can be used as Basic Timer
120-
}
87+
{
88+
if (basic_timer_instance == TIM6) {
89+
EXPECT_CALL(halmock, HAL_RCC_TIM6_CLK_ENABLE);
90+
EXPECT_CALL(halmock, HAL_NVIC_SetPriority(TIM6_DAC_IRQn, _, _));
91+
EXPECT_CALL(halmock, HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn));
92+
} else if (basic_timer_instance == TIM7) {
93+
EXPECT_CALL(halmock, HAL_RCC_TIM7_CLK_ENABLE);
94+
EXPECT_CALL(halmock, HAL_NVIC_SetPriority(TIM7_IRQn, _, _));
95+
EXPECT_CALL(halmock, HAL_NVIC_EnableIRQ(TIM7_IRQn));
96+
} else {
97+
FAIL(); // Only timers 6 and 7 can be used as Basic Timer
98+
}
99+
100+
mspinit_callback(&basic_timer.getHandle());
101+
} // MSP Init
121102

122-
mspdeinit_callback(&basic_timer.getHandle());
103+
{
104+
if (basic_timer_instance == TIM6) {
105+
EXPECT_CALL(halmock, HAL_RCC_TIM6_CLK_DISABLE);
106+
} else if (basic_timer_instance == TIM7) {
107+
EXPECT_CALL(halmock, HAL_RCC_TIM7_CLK_DISABLE);
108+
} else {
109+
FAIL(); // Only timers 6 and 7 can be used as Basic Timer
110+
}
111+
112+
mspdeinit_callback(&basic_timer.getHandle());
113+
} // MSP Deinit
123114
}
124115

125116
TEST_F(CoreSTM32HalBasicTimerTest, initializeConfig)
126117
{
118+
TIM_MasterConfigTypeDef basic_timer_master_config {};
119+
120+
{
121+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPINIT_CB_ID, _));
122+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPDEINIT_CB_ID, _));
123+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_PERIOD_ELAPSED_CB_ID, _));
124+
EXPECT_CALL(halmock, HAL_TIM_Base_Init);
125+
EXPECT_CALL(halmock, HAL_TIMEx_MasterConfigSynchronization)
126+
.WillOnce(DoAll(SaveArgPointee<1>(&basic_timer_master_config), Return(HAL_StatusTypeDef::HAL_OK)));
127+
128+
basic_timer.initialize();
129+
}
130+
127131
auto timer_handle = basic_timer.getHandle();
128132

129133
auto CK_INT = 54'000'000;
@@ -158,6 +162,22 @@ TEST_F(CoreSTM32HalBasicTimerTest, initializeConfig)
158162

159163
TEST_F(CoreSTM32HalBasicTimerTest, initializePeriodElapsedCallback)
160164
{
165+
MockFunction<void()> callback;
166+
std::function<void(TIM_HandleTypeDef *)> period_elapsed_callback = [](TIM_HandleTypeDef *) {};
167+
168+
{
169+
basic_timer.registerCallback(callback.AsStdFunction());
170+
171+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPINIT_CB_ID, _));
172+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_BASE_MSPDEINIT_CB_ID, _));
173+
EXPECT_CALL(halmock, HAL_TIM_RegisterCallback(_, HAL_TIM_PERIOD_ELAPSED_CB_ID, _))
174+
.WillOnce(DoAll(SaveArg<2>(&period_elapsed_callback), Return(HAL_StatusTypeDef::HAL_OK)));
175+
EXPECT_CALL(halmock, HAL_TIM_Base_Init);
176+
EXPECT_CALL(halmock, HAL_TIMEx_MasterConfigSynchronization);
177+
178+
basic_timer.initialize();
179+
}
180+
161181
EXPECT_CALL(callback, Call);
162182
period_elapsed_callback(&basic_timer.getHandle());
163183
}

0 commit comments

Comments
 (0)