Branch Coverage

xs/str.xs
Criterion Covered Total %
branch 87 230 37.8


line true false branch
9 0 4 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
17 0 13 if (!SvROK(self_sv)) return;
19 0 13 if (!h) return;
26 20 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 20 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 20 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
32 0 20 if (!buf_str_get(h, (uint64_t)idx, tmp, &out_len)) XSRETURN_UNDEF;
40 519 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 519 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 519 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
43 519 0 RETVAL = buf_str_set(h, (uint64_t)idx, vstr, (uint32_t)vlen);
50 2 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
51 0 2 if (count == 0) XSRETURN_EMPTY;
56 0 2 if (!buf_str_get_slice(h, (uint64_t)from, (uint64_t)count, tmp))
58 0 2 EXTEND(SP, count);
59 4 2 for (UV i = 0; i < count; i++) {
62 54 0 while (len > 0 && elem[len - 1] == '\0') len--;
50 4 while (len > 0 && elem[len - 1] == '\0') len--;
63 0 4 mXPUSHp(elem, len);
69 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
71 0 1 if (count == 0) XSRETURN(1);
76 3 1 for (UV i = 0; i < count; i++) {
79 3 0 uint32_t copy_len = (uint32_t)(vlen < esz ? vlen : esz);
82 1 0 RETVAL = buf_str_set_slice(h, (uint64_t)from, (uint64_t)count, tmp);
89 2 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
97 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
105 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
113 3 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 3 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 3 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
114 0 3 RETVAL = (UV)buf_str_elem_size(h);
121 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
122 0 0 if (h->path) RETVAL = newSVpv(h->path, 0); else XSRETURN_UNDEF;
129 2 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
135 2 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
141 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
147 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
154 0 0 if (SvROK(self_or_class)) {
156 0 0 if (h) { if (!h->path) croak("cannot unlink anonymous buffer"); p = h->path; }
0 0 if (h) { if (!h->path) croak("cannot unlink anonymous buffer"); p = h->path; }
159 0 0 if (items < 2) croak("Usage: Data::Buffer::Shared::Str->unlink($path)");
167 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
168 0 0 RETVAL = PTR2UV(buf_str_ptr(h));
175 0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
177 0 0 if (!p) croak("Data::Buffer::Shared::Str: index out of bounds");
178 0 0 RETVAL = PTR2UV(p);
187 0 8 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
195 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
201 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
202 1 0 RETVAL = newSV(nbytes ? nbytes : 1);
205 0 1 if (!buf_str_get_raw(h, (uint64_t)byte_off, (uint64_t)nbytes, SvPVX(RETVAL))) {
215 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
218 1 0 RETVAL = buf_str_set_raw(h, (uint64_t)byte_off, (uint64_t)dlen, dptr);
227 0 1 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
237 0 0 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
0 0 if (!buf) croak("Data::Buffer::Shared::Str: %s", errbuf[0] ? errbuf : "unknown error");
245 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
246 0 1 if (h->fd < 0) XSRETURN_UNDEF;
254 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
271 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
273 0 1 if (RETVAL < 0) croak("Data::Buffer::Shared::Str: eventfd: %s", strerror(errno));
280 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
286 2 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 2 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
287 0 2 if (h->efd < 0) XSRETURN_UNDEF;
295 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
296 1 0 RETVAL = buf_notify(h);
303 1 0 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
0 1 EXTRACT_BUF("Data::Buffer::Shared::Str", self_sv);
305 0 1 if (val < 0) XSRETURN_UNDEF;