GCC Code Coverage Report


Directory: src/gate/
File: src/gate/io/tests/gateio_cpp_test/test_gpio.cpp
Date: 2026-10-19 17:06:30
Exec Total Coverage
Lines: 20 20 100.0%
Functions: 12 12 100.0%
Branches: 24 68 35.3%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/io/gpiodevices.hpp"
3 #include "gate/exceptions.hpp"
4
5 using namespace gate;
6 using namespace gate::io;
7
8
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(GpioDevice)
9 {
10 4 String devicePath;
11
2/4
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
4 GATEXX_TRY_IGNORE(devicePath = GPIODevice::getDefaultDevicePath());
12
13 /* NOTICE: Inside docker test environment, no GPIO devices are availabe, so we cannot reliably test this API */
14
2/6
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
4 GATEXX_TRY_IGNORE(
15 GPIODevice device(devicePath);
16 device.listLines();
17 );
18 2 }
19
20
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(PwmDevice)
21 {
22 4 String devicePath;
23
2/4
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
4 GATEXX_TRY_IGNORE(devicePath = PWMDevice::getDefaultDevicePath());
24
25 /* NOTICE: Inside docker test environment, no PWM devices are availabe, so we cannot reliably test this API */
26
2/6
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 11 taken 1 times.
✗ Branch 12 not taken.
4 GATEXX_TRY_IGNORE(
27 PWMDevice device(devicePath);
28 device.listChannels();
29 );
30 2 }
31
32
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(I2CDevice)
33 {
34 4 String devicePath;
35
2/4
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
4 GATEXX_TRY_IGNORE(devicePath = I2CDevice::getDefaultDevicePath());
36
37 /* NOTICE: Inside docker test environment, no I2C devices are availabe, so we cannot reliably test this API */
38
2/6
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 GATEXX_TRY_IGNORE(
39 I2CDevice device(devicePath, 0);
40 device.c_impl();
41 );
42 2 }
43
44
2/7
✓ Branch 2 taken 1 times.
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 11 not taken.
✗ Branch 12 not taken.
✗ Branch 14 not taken.
✗ Branch 15 not taken.
6 GATEXX_TEST_UNIT(SPIDevice)
45 {
46 4 String devicePath;
47
2/4
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
4 GATEXX_TRY_IGNORE(devicePath = SPIDevice::getDefaultDevicePath());
48
49 /* NOTICE: Inside docker test environment, no SPI devices are availabe, so we cannot reliably test this API */
50
2/6
✗ Branch 1 not taken.
✓ Branch 2 taken 1 times.
✗ Branch 4 not taken.
✗ Branch 5 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
4 GATEXX_TRY_IGNORE(
51 SPIDevice device(devicePath);
52 device.c_impl();
53 );
54 2 }
55