GCC Code Coverage Report


Directory: ./
File: Ref/BlockDriver/BlockDriver.cpp
Date: 2026-11-03 22:12:14
Exec Total Coverage
Lines: 15 21 71.4%
Functions: 5 7 71.4%
Branches: 4 5 80.0%

Line Branch Exec Source
1 #include <Fw/FPrimeBasicTypes.hpp>
2 #include <Fw/Types/Assert.hpp>
3 #include <Ref/BlockDriver/BlockDriver.hpp>
4
5 namespace Ref {
6
7 1 BlockDriver::BlockDriver(const char* compName)
8 1 : BlockDriverComponentBase(compName), m_cycles(0), m_schedQueued(false) {}
9
10 2 BlockDriver::~BlockDriver() {}
11
12 ✗ void BlockDriver::BufferIn_handler(FwIndexType portNum, Drv::DataBuffer& buffer) {
13 // just a pass-through
14 ✗ this->BufferOut_out(0, buffer);
15 ✗ }
16
17 66 void BlockDriver::Sched_handler(FwIndexType portNum, U32 context) {
18 66 bool expected = false;
19
1/2
✓ Branch 1 taken 66 times.
✗ Branch 2 not taken.
66 if (this->m_schedQueued.compare_exchange_strong(expected, true)) {
20
1/1
✓ Branch 1 taken 66 times.
66 this->SchedInternal_internalInterfaceInvoke();
21 }
22 66 }
23
24 ✗ void BlockDriver::SchedInternal_overflowHook() {
25 ✗ this->m_schedQueued = false;
26 ✗ }
27
28 66 void BlockDriver::SchedInternal_internalInterfaceHandler() {
29 66 this->m_schedQueued = false;
30
2/2
✓ Branch 1 taken 66 times.
✓ Branch 4 taken 66 times.
66 this->tlmWrite_BD_Cycles(this->m_cycles++);
31 66 }
32
33 66 void BlockDriver::PingIn_handler(const FwIndexType portNum, U32 key) {
34 // call ping output port
35 66 this->PingOut_out(0, key);
36 66 }
37
38 } // namespace Ref
39