Branch Coverage

Shared.xs
Criterion Covered Total %
branch 92 206 44.6


line true false branch
28 0 7 if (!SvROK(self)) return;
30 0 7 if (!h) return;
38 4 0 EXTRACT_DEQ(self);
0 4 EXTRACT_DEQ(self);
0 4 EXTRACT_DEQ(self);
48 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
50 0 0 RETVAL = (UV)h->hdr->capacity;
58 3 0 EXTRACT_DEQ(self);
0 3 EXTRACT_DEQ(self);
0 3 EXTRACT_DEQ(self);
60 3 0 RETVAL = deq_size(h) == 0;
68 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
70 1 0 RETVAL = deq_size(h) >= h->hdr->capacity;
78 3 0 EXTRACT_DEQ(self);
0 3 EXTRACT_DEQ(self);
0 3 EXTRACT_DEQ(self);
86 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
96 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
98 1 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
106 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
108 0 1 RETVAL = h->backing_fd;
116 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
118 0 1 RETVAL = deq_create_eventfd(h);
127 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
129 0 0 if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd);
0 0 if (h->notify_fd >= 0 && h->notify_fd != fd) close(h->notify_fd);
136 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
138 0 0 RETVAL = h->notify_fd;
146 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
148 1 0 RETVAL = deq_notify(h);
156 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
159 1 0 RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef;
167 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
176 1 0 if (sv_isobject(self_or_class)) {
178 0 1 if (!h) croak("destroyed object");
181 0 0 if (items < 2) croak("Usage: ...->unlink($path)");
184 0 1 if (!p) croak("cannot unlink anonymous or memfd object");
185 0 1 if (unlink(p) != 0) croak("unlink(%s): %s", p, strerror(errno));
191 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
219 3 2 const char *p = SvOK(path) ? SvPV_nolen(path) : NULL;
221 0 5 if (!h) croak("Data::Deque::Shared::Int->new: %s", errbuf);
235 0 1 if (!h) croak("Data::Deque::Shared::Int->new_memfd: %s", errbuf);
248 0 1 if (!h) croak("Data::Deque::Shared::Int->new_from_fd: %s", errbuf);
258 44 0 EXTRACT_DEQ(self);
0 44 EXTRACT_DEQ(self);
0 44 EXTRACT_DEQ(self);
261 43 1 RETVAL = deq_try_push_back(h, &v, sizeof(v));
270 8 0 EXTRACT_DEQ(self);
0 8 EXTRACT_DEQ(self);
0 8 EXTRACT_DEQ(self);
273 7 1 RETVAL = deq_try_push_front(h, &v, sizeof(v));
282 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
285 1 0 if (items > 2) timeout = SvNV(ST(2));
287 0 1 RETVAL = deq_push_wait(h, &v, sizeof(v), 0, timeout);
296 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
299 1 0 if (items > 2) timeout = SvNV(ST(2));
301 0 1 RETVAL = deq_push_wait(h, &v, sizeof(v), 1, timeout);
309 11 0 EXTRACT_DEQ(self);
0 11 EXTRACT_DEQ(self);
0 11 EXTRACT_DEQ(self);
312 10 1 RETVAL = deq_try_pop_front(h, &v) ? newSViv((IV)v) : &PL_sv_undef;
320 9 0 EXTRACT_DEQ(self);
0 9 EXTRACT_DEQ(self);
0 9 EXTRACT_DEQ(self);
323 8 1 RETVAL = deq_try_pop_back(h, &v) ? newSViv((IV)v) : &PL_sv_undef;
331 2 0 EXTRACT_DEQ(self);
0 2 EXTRACT_DEQ(self);
0 2 EXTRACT_DEQ(self);
334 2 0 if (items > 1) timeout = SvNV(ST(1));
336 1 1 RETVAL = deq_pop_wait(h, &v, 0, timeout) ? newSViv((IV)v) : &PL_sv_undef;
344 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
347 1 0 if (items > 1) timeout = SvNV(ST(1));
349 0 1 RETVAL = deq_pop_wait(h, &v, 1, timeout) ? newSViv((IV)v) : &PL_sv_undef;