GCC Code Coverage Report


Directory: src/gate/
File: src/gate/tests/gatecore_cpp_test/test_memalloc.cpp
Date: 2025-09-14 13:10:38
Exec Total Coverage
Lines: 30 30 100.0%
Functions: 3 3 100.0%
Branches: 45 133 33.8%

Line Branch Exec Source
1 #include "gate/tests.hpp"
2 #include "gate/memalloc.hpp"
3
4 using namespace gate;
5
6 static char const empty32[32] = GATE_INIT_EMPTY;
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(Mem)
9 {
10 {
11 2 void* ptr = Mem::alloc(16);
12
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 GATEXX_TEST_REQUIRE(ptr != NULL);
13 2 void* newptr = Mem::realloc(ptr, 32);
14
1/2
✓ Branch 2 taken 1 times.
✗ Branch 3 not taken.
2 GATEXX_TEST_REQUIRE(newptr != NULL);
15 2 Mem::clear(newptr, 32);
16
1/2
✓ Branch 3 taken 1 times.
✗ Branch 4 not taken.
2 GATEXX_TEST_CHECK_EQUAL(Mem::compare(newptr, empty32, 32), 0);
17 2 Mem::dealloc(newptr);
18 }
19
20 {
21 2 gate::int32_t n = 42;
22 2 Mem::clear(n);
23
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_EQUAL(n, 0);
24 2 Mem::fill(&n, 1, sizeof(n));
25
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_NOT_EQUAL(n, 0);
26 2 Mem::clear(&n, sizeof(n));
27
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_EQUAL(n, 0);
28
29 2 gate::int32_t n2 = 24;
30 2 Mem::move(n, n2);
31
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_EQUAL(n, 24);
32
33 2 gate::int32_t n3 = 12;
34 2 Mem::move(&n, &n3, sizeof(n));
35
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 6 taken 1 times.
✗ Branch 7 not taken.
✓ Branch 9 taken 1 times.
✗ Branch 10 not taken.
✗ Branch 12 not taken.
✗ Branch 13 not taken.
✗ Branch 15 not taken.
✗ Branch 16 not taken.
2 GATEXX_TEST_CHECK_EQUAL(n, 12);
36 }
37
38 {
39 static char const a1[4] = { 1, 2, 3, 4 };
40 static char const a1rev[4] = { 4, 3, 2, 1 };
41 static char const a2[4] = { 1, 2, 3, 5 };
42
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(Mem::compare(a1, a2, sizeof(a1)) < 0);
43
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(Mem::compare(a2, a1, sizeof(a1)) > 0);
44
45 char a1cpy[4];
46 2 Mem::copy(a1cpy, a1, sizeof(a1));
47
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(Mem::compare(a1, a1cpy, sizeof(a1)) == 0);
48 2 Mem::reverse(a1cpy, sizeof(a1cpy));
49
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(Mem::compare(a1rev, a1cpy, sizeof(a1)) == 0);
50
51 char a1cpy2[4];
52 2 Mem::copyReverse(a1cpy2, a1, sizeof(a1));
53
4/12
✓ Branch 1 taken 1 times.
✗ Branch 2 not taken.
✓ Branch 4 taken 1 times.
✗ Branch 5 not taken.
✓ Branch 7 taken 1 times.
✗ Branch 8 not taken.
✓ Branch 10 taken 1 times.
✗ Branch 11 not taken.
✗ Branch 13 not taken.
✗ Branch 14 not taken.
✗ Branch 16 not taken.
✗ Branch 17 not taken.
2 GATEXX_TEST_CHECK(Mem::compare(a1rev, a1cpy2, sizeof(a1)) == 0);
54
55 }
56
57 2 }
58