Branch Coverage

quickcover.xs
Criterion Covered Total %
branch 102 220 46.3


line true false branch
51 7 0 if (!noatexit) {
57 7 0 buffer_init(&output_dir, 0);
58 7 0 buffer_init(&metadata, 0);
60 0 7 buffer_append(&output_dir, "/tmp", 0);
0 0 buffer_append(&output_dir, "/tmp", 0);
0 0 buffer_append(&output_dir, "/tmp", 0);
0 0 buffer_append(&output_dir, "/tmp", 0);
61 7 0 buffer_terminate(&output_dir);
63 7 0 buffer_terminate(&metadata);
68 7 7 if (cover) {
69 7 0 if (nodump) {
78 7 7 buffer_fini(&metadata);
0 7 buffer_fini(&metadata);
79 7 7 buffer_fini(&output_dir);
0 7 buffer_fini(&output_dir);
90 0 7 if (PL_ppaddr[OP_NEXTSTATE] == qc_nextstate) {
161 26 0 if (CxTYPE(cx) == CXt_SUB) {
167 0 26 if (!cover) {
172 26 0 if (gv) { /* see the same condition in qc_peep */
174 26 0 add_covered_sub_helper(aTHX_ cover, GvFILE(gv), SvPV_nolen(dest), CopLINE(cCOPx(PL_op)), PL_phase);
26 0 add_covered_sub_helper(aTHX_ cover, GvFILE(gv), SvPV_nolen(dest), CopLINE(cCOPx(PL_op)), PL_phase);
187 211 0 Perl_ppaddr_t orig_pp = PL_op->op_type == OP_NEXTSTATE ? nextstate_orig : dbstate_orig;
190 131 80 if (enabled) {
192 105 26 if (PL_op->op_ppaddr == qc_nextstate)
196 1 130 if (!cover) {
202 131 0 add_covered_line_helper(aTHX_ cover, CopFILE(PL_curcop), CopLINE(PL_curcop), PL_phase);
210 85 0 if (!o || o->op_opt)
0 85 if (!o || o->op_opt)
215 51 34 if (enabled) {
217 6 45 if (!cover) {
232 51 0 if (PL_compcv && o == CvSTART(PL_compcv) && CvROOT(PL_compcv)) {
39 12 if (PL_compcv && o == CvSTART(PL_compcv) && CvROOT(PL_compcv)) {
39 0 if (PL_compcv && o == CvSTART(PL_compcv) && CvROOT(PL_compcv)) {
235 41 0 for (f = o; f; f = f->op_next) {
236 2 39 if (f->op_type == OP_NEXTSTATE || f->op_type == OP_DBSTATE) {
0 2 if (f->op_type == OP_NEXTSTATE || f->op_type == OP_DBSTATE) {
241 39 0 if (f) {
245 39 0 if (gv) { /* for example lexical subs don't have a GV on Perl < 5.22 */
247 39 0 add_sub_helper(aTHX_ cover, GvFILE(gv), SvPV_nolen(dest), CopLINE(cCOPx(f)));
39 0 add_sub_helper(aTHX_ cover, GvFILE(gv), SvPV_nolen(dest), CopLINE(cCOPx(f)));
256 6 6 } else if (o == PL_main_start && PL_main_root)
6 0 } else if (o == PL_main_start && PL_main_root)
258 6 0 else if (o == PL_eval_start && PL_eval_root)
6 0 else if (o == PL_eval_start && PL_eval_root)
280 7 0 if (last != t) {
315 7 0 if (!fp) {
348 0 14 if (!qc_config) {
354 7 7 if (!SvUTF8(*val)) {
357 14 0 str = SvPV_const(*val, len);
359 14 0 buffer_reset(&output_dir);
360 0 14 buffer_append(&output_dir, str, len);
0 14 buffer_append(&output_dir, str, len);
0 0 buffer_append(&output_dir, str, len);
0 0 buffer_append(&output_dir, str, len);
0 0 buffer_append(&output_dir, str, len);
361 14 0 buffer_terminate(&output_dir);
371 0 14 if (!qc_config) {
377 14 0 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
0 14 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
383 14 0 buffer_reset(&metadata);
385 14 0 buffer_terminate(&metadata);
391 643 1080 if (op->op_flags & OPf_KIDS) {
394 1030 642 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
1672 643 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
398 1552 171 if (op->op_type == OP_NEXTSTATE || op->op_type == OP_DBSTATE)
0 1552 if (op->op_type == OP_NEXTSTATE || op->op_type == OP_DBSTATE)
399 171 0 add_line_helper(aTHX_ cover, CopFILE(cCOPx(op)), CopLINE(cCOPx(op)));
419 7 0 if (enabled) {
425 0 7 if (!qc_config) {
431 7 0 noatexit = val && SvTRUE(*val);
7 0 noatexit = val && SvTRUE(*val);
0 7 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 7 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 7 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
7 0 noatexit = val && SvTRUE(*val);
7 0 noatexit = val && SvTRUE(*val);
7 0 noatexit = val && SvTRUE(*val);
0 7 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
0 7 noatexit = val && SvTRUE(*val);
0 0 noatexit = val && SvTRUE(*val);
443 7 1 if (!enabled) {
446 6 1 if (items >= 1) {
448 6 0 nodump = SvTRUE(pnodump);
0 6 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 6 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 6 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
6 0 nodump = SvTRUE(pnodump);
6 0 nodump = SvTRUE(pnodump);
6 0 nodump = SvTRUE(pnodump);
0 6 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);
0 6 nodump = SvTRUE(pnodump);
0 0 nodump = SvTRUE(pnodump);