Skip to content

Commit 1b21a11

Browse files
committed
Tests refactoring: use standard Google Mocks for mocking PICO library calls
1 parent 3d80d25 commit 1b21a11

20 files changed

+255
-672
lines changed

src/rgb_led.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -102,9 +102,10 @@ void RgbLed::lowlevel_setClockdiv(pio_sm_config *const config)
102102

103103
void RgbLed::lowlevel_init(const PIO pio, const uint pin)
104104
{
105-
uint offset = pio_add_program(pio, &rgbLedProgram);
106105
pio_sm_config config;
107106

107+
uint offset = pio_add_program(pio, &rgbLedProgram);
108+
108109
pio_gpio_init(pio, pin);
109110
pio_sm_set_consecutive_pindirs(pio, RGB_LED__PIO_SM, pin, 1, true);
110111

tests/event_controller__test.cpp

-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
2121

2222
#include "event_controller.h"
2323

24-
using ::testing::AtLeast;
2524
using ::testing::Return;
2625
using ::testing::StrictMock;
2726

tests/mocklib/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
add_library(mocklib SHARED
22
clocks.cpp
33
gpio.cpp
4+
mocklib.cpp
45
pio.cpp
56
time.cpp
67
)

tests/mocklib/base_mock.h

-72
This file was deleted.

tests/mocklib/clocks.cpp

+3-10
Original file line numberDiff line numberDiff line change
@@ -17,16 +17,9 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
1717
*/
1818

1919
#include "hardware/clocks.h"
20+
#include "mocklib.h"
2021

21-
#include "mock_clocks.h"
22-
23-
MockClocks mockClocks;
24-
25-
uint32_t
26-
clock_get_hz(enum clock_index clk_index)
22+
uint32_t clock_get_hz(enum clock_index clk_index)
2723
{
28-
mockClocks.methodWasCalled(MockClocksMethod__clock_get_hz);
29-
mockClocks.setParameter(MockClocksMethodParameter__clock_get_hz__clk_index, clk_index);
30-
31-
return mockClocks.getMethodReturnValue(MockClocksMethod__clock_get_hz);
24+
return mockPicoSdkApi.mockPicoSdk->clock_get_hz(clk_index);
3225
}

tests/mocklib/gpio.cpp

+8-19
Original file line numberDiff line numberDiff line change
@@ -17,46 +17,35 @@ You should have received a copy of the GNU General Public License
1717
along with this program. If not, see <http://www.gnu.org/licenses/>.
1818
*/
1919

20-
#include "hardware/gpio.h"
21-
22-
#include "mock_gpio.h"
23-
24-
MockGpio mockGpio;
20+
#include "mocklib.h"
2521

2622
void gpio_init(uint gpio)
2723
{
28-
mockGpio.methodWasCalled(MockGpioMethod__gpio_init);
29-
mockGpio.setParameter(MockGpioMethodParameter__gpio_init__gpio, gpio);
24+
mockPicoSdkApi.mockPicoSdk->gpio_init(gpio);
3025
}
3126

3227
bool gpio_get(uint gpio)
3328
{
34-
mockGpio.methodWasCalled(MockGpioMethod__gpio_get);
35-
return mockGpio.getMethodReturnValue(MockGpioMethod__gpio_get);
29+
return mockPicoSdkApi.mockPicoSdk->gpio_get(gpio);
3630
}
3731

3832
void gpio_set_dir(uint gpio, bool out)
3933
{
40-
mockGpio.methodWasCalled(MockGpioMethod__gpio_set_dir);
41-
mockGpio.setParameter(MockGpioMethodParameter__gpio_set_dir__gpio, gpio);
42-
mockGpio.setParameter(MockGpioMethodParameter__gpio_set_dir__out, out);
34+
mockPicoSdkApi.mockPicoSdk->gpio_set_dir(gpio, out);
4335
}
4436

4537
void gpio_pull_down(uint gpio)
4638
{
47-
mockGpio.methodWasCalled(MockGpioMethod__gpio_pull_down);
39+
mockPicoSdkApi.mockPicoSdk->gpio_pull_down(gpio);
4840
}
4941

5042
void gpio_set_slew_rate(uint gpio, enum gpio_slew_rate slew)
5143
{
52-
mockGpio.methodWasCalled(MockGpioMethod__gpio_set_slew_rate);
53-
mockGpio.setParameter(MockGpioMethodParameter__gpio_set_slew_rate__gpio, gpio);
54-
mockGpio.setParameter(MockGpioMethodParameter__gpio_set_slew_rate__slew, slew);
44+
45+
mockPicoSdkApi.mockPicoSdk->gpio_set_slew_rate(gpio, slew);
5546
}
5647

5748
void gpio_put(uint gpio, bool value)
5849
{
59-
mockGpio.methodWasCalled(MockGpioMethod__gpio_put);
60-
mockGpio.setParameter(MockGpioMethodParameter__gpio_put__gpio, gpio);
61-
mockGpio.setParameter(MockGpioMethodParameter__gpio_put__value, value);
50+
mockPicoSdkApi.mockPicoSdk->gpio_put(gpio, value);
6251
}

tests/mocklib/hardware/gpio.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,6 @@ void gpio_pull_down(uint);
4040

4141
void gpio_set_slew_rate(uint, enum gpio_slew_rate);
4242

43-
void gpio_put(uint gpio, bool value);
43+
void gpio_put(uint, bool);
4444

4545
#endif

tests/mocklib/hardware/pio.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ void sm_config_set_out_shift(pio_sm_config *c, bool shift_right, bool autopull,
7070

7171
void sm_config_set_fifo_join(pio_sm_config *c, enum pio_fifo_join join);
7272

73-
void pio_sm_init(PIO pio, uint sm, uint initial_pc, const pio_sm_config *config);
73+
void pio_sm_init(PIO pio, uint sm, uint initial_pc, pio_sm_config *config);
7474

7575
void pio_sm_set_enabled(PIO pio, uint sm, bool enabled);
7676

tests/mocklib/mock_gpio.h

-53
This file was deleted.

tests/mocklib/mock_pio.h

-92
This file was deleted.

tests/mocklib/mock_time.h

-44
This file was deleted.

0 commit comments

Comments
 (0)