Branch Coverage

xs.xs
Criterion Covered Total %
branch 101 150 67.3


line true false branch
43 20 24 if (!isGV(*svp)) {
53 5 20 return GvHVn(glob);
64 936 24 for (bucket_num = 0; bucket_num <= hvmax; ++bucket_num) {
65 803 936 for (he = hvarr[bucket_num]; he; he = HeNEXT(he)) {
66 0 803 if (HeVAL(he) == &PL_sv_placeholder) continue;
69 802 1 if (!isGV(gv) || (GvCV(gv) && !GvCVGEN(gv))) {
124 678 if (!isGV(gv) || (GvCV(gv) && !GvCVGEN(gv))) {
120 4 if (!isGV(gv) || (GvCV(gv) && !GvCVGEN(gv))) {
80 3 0 if (isGV(gv)) {
94 106 12 if (HeVAL(he) == NULL) {
108 6 0 if (HeVAL(he) == NULL) {
199 1001 1005 if (!he) return;
201 1005 0 NCX_REPLACE_PRE;
1005 0 NCX_REPLACE_PRE;
1005 0 NCX_REPLACE_PRE;
1005 0 NCX_REPLACE_PRE;
1005 0 NCX_REPLACE_PRE;
1005 0 NCX_REPLACE_PRE;
0 0 NCX_REPLACE_PRE;
0 0 NCX_REPLACE_PRE;
205 0 0 NCX_REPLACE_POST;
0 0 NCX_REPLACE_POST;
0 0 NCX_REPLACE_POST;
0 0 NCX_REPLACE_POST;
0 0 NCX_REPLACE_POST;
215 0 104 if (!he) return;
217 103 1 NCX_REPLACE_PRE;
101 2 NCX_REPLACE_PRE;
101 0 NCX_REPLACE_PRE;
101 0 NCX_REPLACE_PRE;
101 0 NCX_REPLACE_PRE;
101 0 NCX_REPLACE_PRE;
2 0 NCX_REPLACE_PRE;
0 2 NCX_REPLACE_PRE;
221 2 0 NCX_REPLACE_POST;
1 1 NCX_REPLACE_POST;
1 1 NCX_REPLACE_POST;
1 1 NCX_REPLACE_POST;
0 2 NCX_REPLACE_POST;
230 0 19 if (!storage) return 0;
234 3 16 if (!hvarr) return 0;
242 200 16 for (bucket_num = 0; bucket_num <= hvmax; ++bucket_num) {
243 112 200 for (he = hvarr[bucket_num]; he; he = HeNEXT(he)) {
246 104 8 if (HeVAL(he) == pl_remove) {
265 21 0 if (SvRMAGICAL(hints)) {
267 22 19 for (mg = SvMAGIC(hints); mg; mg = mg->mg_moremagic) {
268 3 19 if (mg->mg_virtual == &vtscope_normal && mg->mg_obj == (SV*)stash) {
2 1 if (mg->mg_virtual == &vtscope_normal && mg->mg_obj == (SV*)stash) {
290 2002 1001 while (fill-- >= 0) {
327 2008 21 for (processed = 1; processed < items; processed += 2) {
329 0 2008 if (!SvPOK(arg)) break;
332 2008 0 if (!SvCUR(arg) || buf[0] != '-') break;
1007 1001 if (!SvCUR(arg) || buf[0] != '-') break;
334 0 1007 if (processed + 1 > items) {
338 1002 5 if (strEQ(buf, "-cleanee")) {
341 5 0 } else if (strEQ(buf, "-except")) {
349 1001 21 if (processed < items) {
355 2002 1001 while (++processed <= items) {
364 5 16 if (except) {
365 2 3 if (SvROK(except) && SvTYPE(SvRV(except)) == SVt_PVAV) {
2 0 if (SvROK(except) && SvTYPE(SvRV(except)) == SVt_PVAV) {
370 3 2 for (i = 0; i <= len; ++i) {
372 3 0 if (svp) NCX_single_marker(aTHX_ storage, *svp, NCX_EXCLUDE);
394 1 1 if (items > 2) {
398 1 0 if (SvPOK(arg) && strEQ(SvPVX(arg), "-cleanee")) {
1 0 if (SvPOK(arg) && strEQ(SvPVX(arg), "-cleanee")) {
401 0 0 croak("Unknown argument %s in unimport() call", SvPV_nolen(arg));
407 2 0 if (stash) {
422 1 0 if (stash && --items > 1) {
1 0 if (stash && --items > 1) {
427 4 1 while (--items > 0) {
444 1 0 if (stash) {
459 2 0 if (stash) {
470 3 2 while ((he = hv_iternext(storage))) {
472 1 2 hv_storehek(HeVAL(he) == NCX_EXCLUDE ? exclude : remove, HeKEY_hek(he), &PL_sv_undef);