Branch Coverage

Shared.xs
Criterion Covered Total %
branch 92 200 46.0


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 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
88 1 0 RETVAL = h->path ? newSVpv(h->path, 0) : &PL_sv_undef;
96 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
98 0 1 RETVAL = h->backing_fd;
106 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
108 0 1 RETVAL = deq_create_eventfd(h);
117 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
119 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);
126 0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
0 0 EXTRACT_DEQ(self);
128 0 0 RETVAL = h->notify_fd;
136 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
138 1 0 RETVAL = deq_notify(h);
146 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
149 1 0 RETVAL = (v >= 0) ? newSViv((IV)v) : &PL_sv_undef;
157 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
166 1 0 if (sv_isobject(self_or_class)) {
168 0 1 if (!h) croak("destroyed object");
171 0 0 if (items < 2) croak("Usage: ...->unlink($path)");
174 0 1 if (!p) croak("cannot unlink anonymous or memfd object");
175 0 1 if (unlink(p) != 0) croak("unlink(%s): %s", p, strerror(errno));
181 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
209 3 2 const char *p = SvOK(path) ? SvPV_nolen(path) : NULL;
211 0 5 if (!h) croak("Data::Deque::Shared::Int->new: %s", errbuf);
225 0 1 if (!h) croak("Data::Deque::Shared::Int->new_memfd: %s", errbuf);
238 0 1 if (!h) croak("Data::Deque::Shared::Int->new_from_fd: %s", errbuf);
248 44 0 EXTRACT_DEQ(self);
0 44 EXTRACT_DEQ(self);
0 44 EXTRACT_DEQ(self);
251 43 1 RETVAL = deq_try_push_back(h, &v, sizeof(v));
260 8 0 EXTRACT_DEQ(self);
0 8 EXTRACT_DEQ(self);
0 8 EXTRACT_DEQ(self);
263 7 1 RETVAL = deq_try_push_front(h, &v, sizeof(v));
272 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
275 1 0 if (items > 2) timeout = SvNV(ST(2));
277 0 1 RETVAL = deq_push_wait(h, &v, sizeof(v), 0, timeout);
286 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
289 1 0 if (items > 2) timeout = SvNV(ST(2));
291 0 1 RETVAL = deq_push_wait(h, &v, sizeof(v), 1, timeout);
299 11 0 EXTRACT_DEQ(self);
0 11 EXTRACT_DEQ(self);
0 11 EXTRACT_DEQ(self);
302 10 1 RETVAL = deq_try_pop_front(h, &v) ? newSViv((IV)v) : &PL_sv_undef;
310 9 0 EXTRACT_DEQ(self);
0 9 EXTRACT_DEQ(self);
0 9 EXTRACT_DEQ(self);
313 8 1 RETVAL = deq_try_pop_back(h, &v) ? newSViv((IV)v) : &PL_sv_undef;
321 2 0 EXTRACT_DEQ(self);
0 2 EXTRACT_DEQ(self);
0 2 EXTRACT_DEQ(self);
324 2 0 if (items > 1) timeout = SvNV(ST(1));
326 1 1 RETVAL = deq_pop_wait(h, &v, 0, timeout) ? newSViv((IV)v) : &PL_sv_undef;
334 1 0 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
0 1 EXTRACT_DEQ(self);
337 1 0 if (items > 1) timeout = SvNV(ST(1));
339 0 1 RETVAL = deq_pop_wait(h, &v, 1, timeout) ? newSViv((IV)v) : &PL_sv_undef;