GCC Code Coverage Report


Directory: src/
File: ClockMockFile_binding.cpp
Date: 2026-02-24 19:19:46
Exec Total Coverage
Lines: 18 24 75.0%
Functions: 5 9 55.6%
Branches: 6 17 35.3%

Line Branch Exec Source
1 /***************************************
2 Auteur : Thibaut Oprinsen
3 Mail : thibaut.oprinsen@lapp.in2p3.fr
4 Licence : CeCILL-C
5 ****************************************/
6
7 #include "PClockMockFile.h"
8
9 #include <ctime>
10 #include <nanobind/nanobind.h>
11 #include <nanobind/stl/string.h>
12 #include <nanobind/stl/chrono.h>
13
14 namespace nb = nanobind;
15
16
1/7
✓ Branch 0 (7→8) taken 1 times.
✗ Branch 1 (7→12) not taken.
✗ Branch 2 (16→17) not taken.
✗ Branch 3 (16→18) not taken.
✗ Branch 4 (16→23) not taken.
✗ Branch 5 (25→26) not taken.
✗ Branch 6 (25→27) not taken.
4 NB_MODULE(clockMockFile, m) {
17
2/4
✓ Branch 0 (2→3) taken 1 times.
✗ Branch 1 (2→158) not taken.
✓ Branch 2 (3→4) taken 1 times.
✗ Branch 3 (3→156) not taken.
1 m.doc() = "Nanobind bindings for Gibis classes";
18 1 nb::class_<PClockMockFile>(m, "PClockMockFile")
19
20 // Constructor
21 2 .def(nb::init<>())
22
23 // Clock API methods
24 2 .def("now", &PClockMockFile::now,
25 "Get the mocked current time")
26
27 1 .def("sleep", [](const PClockMockFile &c, time_t ellapsedTime) {
28 c.sleep(ellapsedTime);
29 },
30 "Sleep for the given elapsed time (no real sleep in mock)")
31
32 // Mock API methods
33 4 .def("setCurrentTime", [](PClockMockFile &c, time_t currentTime) {
34 3 c.setCurrentTime(currentTime);
35 3 },
36 "Set the mocked current time")
37
38 4 .def("setMockPrefix", [](PClockMockFile &c, const std::string &prefix) {
39 2 c.setMockPrefix(prefix);
40 2 },
41 "Set the mock prefix for logging")
42
43 2 .def("close", &PClockMockFile::close,
44 "Close the mock file and release resources");
45
46 // Static methods
47
1/2
✓ Branch 0 (128→129) taken 1 times.
✗ Branch 1 (128→159) not taken.
1 m.def("phoenix_createMockBackend", [](PClockMockFile &c, const std::string & prefix) -> bool {
48 return phoenix_createMockBackend(c, prefix);
49 },
50 "Create the mock backend with the given prefix");
51
52
1/2
✓ Branch 0 (151→152) taken 1 times.
✗ Branch 1 (151→160) not taken.
1 m.def("phoenix_createClockMock", [](const std::string & prefix, size_t nbTime, time_t firstTime, time_t timeIncrement) -> bool {
53 return phoenix_createClockMock(prefix, nbTime, firstTime, timeIncrement);
54 },
55 3 nb::arg("prefix"), nb::arg("nbTime"), nb::arg("firstTime") = 0l, nb::arg("timeIncrement") = 1l,
56 "Create a clock mock with the given prefix, number of time points, first time and time increment");
57
58
1/2
✓ Branch 0 (154→155) taken 1 times.
✗ Branch 1 (154→173) not taken.
1 m.def("phoenix_fillClockMock", [](PClockMockFile &mock, size_t nbTime, time_t firstTime, time_t timeIncrement) {
59 phoenix_fillClockMock<PClockMockFile>(mock, nbTime, firstTime, timeIncrement);
60 },
61 "Fill the given clock mock with time values");
62 1 }
63