GCC Code Coverage Report


Directory: ./
File: unit_tests/tests/lua/test_bit_range.cpp
Date: 2025-11-16 14:52:24
Coverage Exec Excl Total
Lines: 100.0% 38 0 38
Functions: 100.0% 12 0 12
Branches: 50.0% 48 0 96
Decisions: -% 0 - 0

Line Branch Decision Exec Source
1 #include "pch.h"
2
3
4
5 4 TEST(BitRangeTest, getBitRangeMsb) {
6
7 1 uint8_t data[] = {0xAA, 0xBB, 0xCC, 0xDD};
8
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeMsb(data, 24, 32), 0xAA'BB'CC'DDul);
9
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeMsb(data, 24, 28), 0x0A'BB'CC'DDul);
10
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeMsb(data, 28, 28), 0xAA'BB'CC'Dul);
11 1 }
12
13 4 TEST(BitRangeTest, setBitRangeMsb) {
14
15 1 uint8_t data1[4] {}, data2[4] {}, data3[4] {};
16
17
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeMsb(data1, 24, 32, 0xAA'BB'CC'DDul);
18
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data1, testing::ElementsAre(0xAA, 0xBB, 0xCC, 0xDD));
19
20
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeMsb(data2, 24, 28, 0x0A'BB'CC'DDul);
21
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data2, testing::ElementsAre(0x0A, 0xBB, 0xCC, 0xDD));
22
23
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeMsb(data3, 28, 28, 0xAA'BB'CC'Dul);
24
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data3, testing::ElementsAre(0xAA, 0xBB, 0xCC, 0xD0));
25 1 }
26
27
28 4 TEST(BitRangeTest, getBitRangeLsb) {
29
30 1 uint8_t data[] = {0xAA, 0xBB, 0xCC, 0xDD};
31
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeLsb(data, 0, 32), 0xDD'CC'BB'AAul);
32
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeLsb(data, 0, 28), 0x0D'CC'BB'AAul);
33
3/7
✓ Branch 4 taken 1 time.
✓ Branch 7 taken 1 time.
✗ Branch 12 not taken.
✓ Branch 13 taken 1 time.
✗ Branch 16 not taken.
✗ Branch 21 not taken.
✗ Branch 24 not taken.
1 EXPECT_EQ(getBitRangeLsb(data, 4, 28), 0xDD'CC'BB'Aul);
34 1 }
35
36 4 TEST(BitRangeTest, setBitRangeLsb) {
37
38 1 uint8_t data1[4] {}, data2[4] {}, data3[4] {};
39
40
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeLsb(data1, 0, 32, 0xDD'CC'BB'AAul);
41
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data1, testing::ElementsAre(0xAA, 0xBB, 0xCC, 0xDD));
42
43
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeLsb(data2, 0, 28, 0x0D'CC'BB'AAul);
44
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data2, testing::ElementsAre(0xAA, 0xBB, 0xCC, 0x0D));
45
46
1/1
✓ Branch 1 taken 1 time.
1 setBitRangeLsb(data3, 4, 28, 0xDD'CC'BB'Aul);
47
4/8
✓ Branch 8 taken 1 time.
✓ Branch 11 taken 1 time.
✓ Branch 14 taken 1 time.
✗ Branch 23 not taken.
✓ Branch 24 taken 1 time.
✗ Branch 27 not taken.
✗ Branch 32 not taken.
✗ Branch 35 not taken.
1 EXPECT_THAT(data3, testing::ElementsAre(0xA0, 0xBB, 0xCC, 0xDD));
48 1 }
49