GCC Code Coverage Report


Directory: cvmfs/
File: cvmfs/supervisor.cc
Date: 2026-04-05 02:35:23
Exec Total Coverage
Lines: 15 15 100.0%
Branches: 6 6 100.0%

Line Branch Exec Source
1 /**
2 * This file is part of the CernVM File System.
3 */
4
5 #include "supervisor.h"
6
7 #include "util/logging.h"
8 #include "util/platform.h"
9
10 63 Supervisor::Supervisor(uint64_t max_retries, uint64_t interval_sec)
11 63 : max_retries_(max_retries), interval_(interval_sec) { }
12
13 126 Supervisor::~Supervisor() { }
14
15 63 bool Supervisor::Run() {
16 63 uint64_t retries = 0;
17 63 uint64_t t0 = platform_monotonic_time();
18 63 bool result = false;
19 do {
20 168 result = Task();
21 168 const uint64_t t1 = platform_monotonic_time();
22
2/2
✓ Branch 0 taken 105 times.
✓ Branch 1 taken 63 times.
168 if (t1 - t0 < interval_) {
23 105 retries += 1;
24 } else {
25 63 t0 = t1;
26 63 retries = 0;
27 }
28
4/4
✓ Branch 0 taken 126 times.
✓ Branch 1 taken 42 times.
✓ Branch 2 taken 105 times.
✓ Branch 3 taken 21 times.
168 } while (!result && (retries <= max_retries_));
29
30 63 return result;
31 }
32