• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

llnl / dftracer-utils / 27052412546

06 Jun 2026 04:20AM UTC coverage: 50.862% (+1.0%) from 49.905%
27052412546

Pull #73

github

web-flow
Merge 734572730 into 88a3c8457
Pull Request #73: add portable dependencies wheel support

31801 of 79859 branches covered (39.82%)

Branch coverage included in aggregate %.

32491 of 46545 relevant lines covered (69.81%)

9947.11 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

70.83
/src/dftracer/utils/python/indexer_checkpoint.cpp
1
#include <dftracer/utils/python/indexer_checkpoint.h>
2
#include <structmember.h>
3

4
PyObject *IndexerCheckpoint_new(PyTypeObject *type, PyObject *args,
85✔
5
                                PyObject *kwds) {
6
    IndexerCheckpointObject *self;
7
    self = (IndexerCheckpointObject *)type->tp_alloc(type, 0);
85✔
8
    if (self != NULL) {
85!
9
        memset(&self->checkpoint, 0, sizeof(dft_indexer_checkpoint_t));
85✔
10
    }
85✔
11
    return (PyObject *)self;
85✔
12
}
13

14
#if PY_VERSION_HEX >= 0x030C0000  // >= 3.12
15

16
static PyMemberDef IndexerCheckpoint_members[] = {
17
    {"checkpoint_idx", Py_T_ULONGLONG,
18
     offsetof(IndexerCheckpointObject, checkpoint.checkpoint_idx), 0,
19
     "Checkpoint index"},
20
    {"uc_offset", Py_T_ULONGLONG,
21
     offsetof(IndexerCheckpointObject, checkpoint.uc_offset), 0,
22
     "Uncompressed offset"},
23
    {"uc_size", Py_T_ULONGLONG,
24
     offsetof(IndexerCheckpointObject, checkpoint.uc_size), 0,
25
     "Uncompressed size"},
26
    {"c_offset", Py_T_ULONGLONG,
27
     offsetof(IndexerCheckpointObject, checkpoint.c_offset), 0,
28
     "Compressed offset"},
29
    {"c_size", Py_T_ULONGLONG,
30
     offsetof(IndexerCheckpointObject, checkpoint.c_size), 0,
31
     "Compressed size"},
32
    {"bits", Py_T_UINT, offsetof(IndexerCheckpointObject, checkpoint.bits), 0,
33
     "Bit position"},
34
    {"num_lines", Py_T_ULONGLONG,
35
     offsetof(IndexerCheckpointObject, checkpoint.num_lines), 0,
36
     "Number of lines in this chunk"},
37
    {NULL} /* Sentinel */
38
};
39

40
#else
41

42
static PyMemberDef IndexerCheckpoint_members[] = {
43
    {"checkpoint_idx", T_ULONGLONG,
44
     offsetof(IndexerCheckpointObject, checkpoint.checkpoint_idx), 0,
45
     "Checkpoint index"},
46
    {"uc_offset", T_ULONGLONG,
47
     offsetof(IndexerCheckpointObject, checkpoint.uc_offset), 0,
48
     "Uncompressed offset"},
49
    {"uc_size", T_ULONGLONG,
50
     offsetof(IndexerCheckpointObject, checkpoint.uc_size), 0,
51
     "Uncompressed size"},
52
    {"c_offset", T_ULONGLONG,
53
     offsetof(IndexerCheckpointObject, checkpoint.c_offset), 0,
54
     "Compressed offset"},
55
    {"c_size", T_ULONGLONG,
56
     offsetof(IndexerCheckpointObject, checkpoint.c_size), 0,
57
     "Compressed size"},
58
    {"bits", T_UINT, offsetof(IndexerCheckpointObject, checkpoint.bits), 0,
59
     "Bit position"},
60
    {"num_lines", T_ULONGLONG,
61
     offsetof(IndexerCheckpointObject, checkpoint.num_lines), 0,
62
     "Number of lines in this chunk"},
63
    {NULL} /* Sentinel */
64
};
65

66
#endif
67

68
PyTypeObject IndexerCheckpointType = {
69
    PyVarObject_HEAD_INIT(NULL, 0) "indexer.IndexerCheckpoint", /* tp_name */
70
    sizeof(IndexerCheckpointObject), /* tp_basicsize */
71
    0,                               /* tp_itemsize */
72
    0,                               /* tp_dealloc */
73
    0,                               /* tp_vectorcall_offset */
74
    0,                               /* tp_getattr */
75
    0,                               /* tp_setattr */
76
    0,                               /* tp_as_async */
77
    0,                               /* tp_repr */
78
    0,                               /* tp_as_number */
79
    0,                               /* tp_as_sequence */
80
    0,                               /* tp_as_mapping */
81
    0,                               /* tp_hash */
82
    0,                               /* tp_call */
83
    0,                               /* tp_str */
84
    0,                               /* tp_getattro */
85
    0,                               /* tp_setattro */
86
    0,                               /* tp_as_buffer */
87
    Py_TPFLAGS_DEFAULT,              /* tp_flags */
88
    "IndexerCheckpoint objects",     /* tp_doc */
89
    0,                               /* tp_traverse */
90
    0,                               /* tp_clear */
91
    0,                               /* tp_richcompare */
92
    0,                               /* tp_weaklistoffset */
93
    0,                               /* tp_iter */
94
    0,                               /* tp_iternext */
95
    0,                               /* tp_methods */
96
    IndexerCheckpoint_members,       /* tp_members */
97
    0,                               /* tp_getset */
98
    0,                               /* tp_base */
99
    0,                               /* tp_dict */
100
    0,                               /* tp_descr_get */
101
    0,                               /* tp_descr_set */
102
    0,                               /* tp_dictoffset */
103
    0,                               /* tp_init */
104
    0,                               /* tp_alloc */
105
    IndexerCheckpoint_new,           /* tp_new */
106
};
107

108
int init_indexer_checkpoint(PyObject *m) {
1✔
109
    if (PyType_Ready(&IndexerCheckpointType) < 0) return -1;
1!
110

111
    Py_INCREF(&IndexerCheckpointType);
1✔
112
    if (PyModule_AddObject(m, "IndexerCheckpoint",
2!
113
                           (PyObject *)&IndexerCheckpointType) < 0) {
1✔
114
        Py_DECREF(&IndexerCheckpointType);
×
115
        Py_DECREF(m);
×
116
        return -1;
×
117
    }
118

119
    return 0;
1✔
120
}
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc