Branch Coverage

xs/i64.xs
Criterion Covered Total %
branch 158 304 51.9


line true false branch
9 1 23 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
1 0 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
17 0 49 if (!SvROK(self_sv)) return;
19 0 49 if (!h) return;
26 1202 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1202 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1202 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
28 3 1199 if (!buf_i64_get(h, (uint64_t)idx, &val)) XSRETURN_UNDEF;
36 67 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 67 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 67 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
37 64 3 RETVAL = buf_i64_set(h, (uint64_t)idx, (int64_t)val);
44 7 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
45 0 7 if (count == 0) XSRETURN_EMPTY;
47 0 7 Newx(tmp, count, int64_t);
49 2 5 if (!buf_i64_get_slice(h, (uint64_t)from, (uint64_t)count, tmp))
51 0 5 EXTEND(SP, count);
52 15 5 for (UV i = 0; i < count; i++)
58 4 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
60 0 4 if (count == 0) XSRETURN(1);
62 0 4 Newx(tmp, count, int64_t);
64 14 4 for (UV i = 0; i < count; i++)
66 3 1 RETVAL = buf_i64_set_slice(h, (uint64_t)from, (uint64_t)count, tmp);
73 8 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 8 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 8 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
79 4510 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4510 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4510 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
80 0 4510 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
88 4 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
89 0 4 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
97 7 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
98 0 7 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
106 1119 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1119 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1119 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
107 1005 114 RETVAL = buf_i64_cas(h, (uint64_t)idx, (int64_t)expected, (int64_t)desired);
114 8 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 8 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 8 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
122 1 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
130 4 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
131 0 4 RETVAL = (UV)buf_i64_elem_size(h);
138 2 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
139 1 1 if (h->path) RETVAL = newSVpv(h->path, 0); else XSRETURN_UNDEF;
146 6 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
152 6 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
158 1 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
164 1 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
171 3 1 if (SvROK(self_or_class)) {
173 3 0 if (h) { if (!h->path) croak("cannot unlink anonymous buffer"); p = h->path; }
2 1 if (h) { if (!h->path) croak("cannot unlink anonymous buffer"); p = h->path; }
176 0 1 if (items < 2) croak("Usage: Data::Buffer::Shared::I64->unlink($path)");
184 2 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
185 0 2 RETVAL = PTR2UV(buf_i64_ptr(h));
192 4 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
194 1 3 if (!p) croak("Data::Buffer::Shared::I64: index out of bounds");
195 0 3 RETVAL = PTR2UV(p);
204 0 21 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
212 5 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
218 7 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
219 6 1 RETVAL = newSV(nbytes ? nbytes : 1);
222 2 5 if (!buf_i64_get_raw(h, (uint64_t)byte_off, (uint64_t)nbytes, SvPVX(RETVAL))) {
232 7 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
235 3 4 RETVAL = buf_i64_set_raw(h, (uint64_t)byte_off, (uint64_t)dlen, dptr);
242 6 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
243 0 6 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
251 0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
252 0 0 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
260 0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
261 0 0 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
269 0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
270 0 0 if (idx >= h->hdr->capacity) croak("Data::Buffer::Shared::I64: index out of bounds");
280 0 4 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
290 0 1 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::I64: %s", errbuf[0] ? errbuf : "unknown error");
298 5 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
299 2 3 if (h->fd < 0) XSRETURN_UNDEF;
307 2 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
324 1002 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1002 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1002 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
326 0 1002 if (count == 0) XSRETURN(1);
328 0 1002 Newx(tmp, count, int64_t);
330 3006 1002 for (UV i = 0; i < count; i++)
332 1001 1 RETVAL = buf_i64_add_slice(h, (uint64_t)from, (uint64_t)count, tmp);
339 6 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 6 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
341 0 6 if (RETVAL < 0) croak("Data::Buffer::Shared::I64: eventfd: %s", strerror(errno));
348 1 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
354 4 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 4 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
355 1 3 if (h->efd < 0) XSRETURN_UNDEF;
363 5 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 5 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
364 4 1 RETVAL = buf_notify(h);
371 7 0 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
0 7 EXTRACT_BUF("Data::Buffer::Shared::I64", self_sv);
373 4 3 if (val < 0) XSRETURN_UNDEF;