Branch Coverage

lib/builtin.xs
Criterion Covered Total %
branch 146 296 49.3


line true false branch
51 25 3 if(SvTYPE(sv) == SVt_PVCV && CvISXSUB(sv)) {
0 25 if(SvTYPE(sv) == SVt_PVCV && CvISXSUB(sv)) {
58 0 0 croak("Cannot lexically export an XSUB as %s on this version of perl", SvPVbyte_nolen(name));
79 0 2 U32 items = av_count(GvAV(PL_defgv));
82 0 2 if(!PL_compcv)
86 0 2 if(items % 2)
92 4 2 for(int i = 0; i < items; i += 2) {
96 0 4 if(!SvROK(ref))
112 0 1 if(SvTYPE(rv) != SVt_PVCV)
120 0 1 if(SvTYPE(rv) > SVt_PVMG)
125 0 1 if(SvTYPE(rv) != SVt_PVAV)
130 0 1 if(SvTYPE(rv) != SVt_PVHV)
135 0 4 if(bad)
141 4 2 for(int i = 0; i < items; i += 2) {
156 0 4 U32 items = av_count(GvAV(PL_defgv));
158 0 4 if(items != 1)
162 4 0 SvGETMAGIC(arg);
163 4 0 PUSHs(boolSV(SvTAINTED(arg)));
2 2 PUSHs(boolSV(SvTAINTED(arg)));
189 0 1 if(!SvOK(sv))
0 0 if(!SvOK(sv))
0 0 if(!SvOK(sv))
191 0 1 if(!SvROK(sv))
193 0 1 else if(!SvWEAKREF(sv)) {
194 0 0 if(ckWARN(WARN_MISC))
198 0 1 else if(SvREADONLY(sv))
239 0 4 U32 items = av_count(GvAV(PL_defgv));
241 0 4 if(items != 1)
245 0 4 SvGETMAGIC(arg);
246 4 0 if(!SvROK(arg) || !SvOBJECT(SvRV(arg)))
1 3 if(!SvROK(arg) || !SvOBJECT(SvRV(arg)))
257 0 3 U32 items = av_count(GvAV(PL_defgv));
259 0 3 if(items != 1)
263 2 1 mPUSHn(Perl_ceil(SvNV(arg)));
271 0 2 U32 items = av_count(GvAV(PL_defgv));
273 0 2 if(items)
276 0 2 XPUSHs(&PL_sv_no);
284 0 3 U32 items = av_count(GvAV(PL_defgv));
286 0 3 if(items != 1)
290 2 1 mPUSHn(Perl_floor(SvNV(arg)));
298 0 6 U32 items = av_count(GvAV(PL_defgv));
302 0 6 switch(GIMME_V) {
320 0 5 EXTEND(SP, retcount);
326 12 5 for(SSize_t index = (SSize_t)items - 1; index >= 0; index--) {
340 0 3 U32 items = av_count(GvAV(PL_defgv));
342 0 3 if(items != 1)
346 2 1 PUSHs(boolSV(SvROK(arg) && SvWEAKREF(arg)));
354 0 2 U32 items = av_count(GvAV(PL_defgv));
356 0 2 if(items != 1)
360 0 2 SvGETMAGIC(arg);
361 1 1 if(!SvROK(arg))
372 0 3 U32 items = av_count(GvAV(PL_defgv));
374 0 3 if(items != 1)
378 0 3 SvGETMAGIC(arg);
379 1 2 if(!SvROK(arg))
391 0 13 U32 items = av_count(GvAV(PL_defgv));
393 0 13 if(items != 1)
402 1 12 SvGETMAGIC(source);
404 1 12 if (SvOK(source))
1 0 if (SvOK(source))
0 1 if (SvOK(source))
405 11 1 start = (const U8*)SvPV_nomg_const(source, len);
407 1 0 if (ckWARN(WARN_UNINITIALIZED))
413 2 11 if (DO_UTF8(source)) {
2 0 if (DO_UTF8(source)) {
417 6 0 while(len) {
419 4 2 if (!isSPACE_utf8_safe(start, end))
0 2 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 2 if (!isSPACE_utf8_safe(start, end))
0 2 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
2 0 if (!isSPACE_utf8_safe(start, end))
1 1 if (!isSPACE_utf8_safe(start, end))
1 0 if (!isSPACE_utf8_safe(start, end))
0 1 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 1 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
0 0 if (!isSPACE_utf8_safe(start, end))
4 2 if (!isSPACE_utf8_safe(start, end))
428 11 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
3 8 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 3 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
2 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
1 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
1 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 1 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
0 0 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
9 2 while ((thislen = is_SPACE_utf8_safe_backwards(cur_end, start))) {
433 9 2 else if (len) {
434 30 0 while(len) {
435 9 21 if (!isSPACE_L1(*start))
441 27 0 while(len) {
442 18 9 if (!isSPACE_L1(start[len-1]))
450 0 13 if (SvPOK(dest) && (dest == source)) {
0 0 if (SvPOK(dest) && (dest == source)) {
455 13 0 SvUPGRADE(dest, SVt_PV);
456 13 0 SvGROW(dest, len + 1);
13 0 SvGROW(dest, len + 1);
463 2 11 if (DO_UTF8(source))
2 0 if (DO_UTF8(source))
468 1 12 if (SvTAINTED(source))
0 1 if (SvTAINTED(source))
469 0 0 SvTAINT(dest);
0 0 SvTAINT(dest);
472 0 13 SvSETMAGIC(dest);
481 0 7 U32 items = av_count(GvAV(PL_defgv));
483 0 7 if(items)
486 0 7 XPUSHs(&PL_sv_yes);
494 0 1 U32 items = av_count(GvAV(PL_defgv));
496 0 1 if(items != 1)
508 0 2 U32 items = av_count(GvAV(PL_defgv));
510 0 2 if(items != 1)
526 0 29 if(!PL_compcv)
532 24 29 for(int i = 1; i < items; i++) {
534 24 0 if(strEQ(SvPV_nolen(sym), "import"))
0 24 if(strEQ(SvPV_nolen(sym), "import"))
540 24 0 CV *cv = get_cv(SvPV_nolen(fqname), SvUTF8(fqname) ? SVf_UTF8 : 0);
541 0 24 if(!cv)
562 132 22 if(proto)
601 0 11 EXTEND(SP, 1);
603 0 11 PUSHMARK(SP);
609 11 0 FREETMPS;
619 0 11 warning_offset = SvUV(*svp) / 2;