Branch Coverage

quickcover.xs
Criterion Covered Total %
branch 102 220 46.3


line true false branch
48 7 0 if (!noatexit) {
54 7 0 buffer_init(&output_dir, 0);
55 7 0 buffer_init(&metadata, 0);
57 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);
58 7 0 buffer_terminate(&output_dir);
60 7 0 buffer_terminate(&metadata);
65 7 7 if (cover) {
66 7 0 if (nodump) {
75 7 7 buffer_fini(&metadata);
0 7 buffer_fini(&metadata);
76 7 7 buffer_fini(&output_dir);
0 7 buffer_fini(&output_dir);
87 0 7 if (PL_ppaddr[OP_NEXTSTATE] == qc_nextstate) {
158 26 0 if (CxTYPE(cx) == CXt_SUB) {
164 0 26 if (!cover) {
169 26 0 if (gv) { /* see the same condition in qc_peep */
171 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);
184 211 0 Perl_ppaddr_t orig_pp = PL_op->op_type == OP_NEXTSTATE ? nextstate_orig : dbstate_orig;
187 131 80 if (enabled) {
189 105 26 if (PL_op->op_ppaddr == qc_nextstate)
193 1 130 if (!cover) {
199 131 0 add_covered_line_helper(aTHX_ cover, CopFILE(PL_curcop), CopLINE(PL_curcop), PL_phase);
207 85 0 if (!o || o->op_opt)
0 85 if (!o || o->op_opt)
212 51 34 if (enabled) {
214 6 45 if (!cover) {
229 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)) {
232 41 0 for (f = o; f; f = f->op_next) {
233 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) {
238 39 0 if (f) {
242 39 0 if (gv) { /* for example lexical subs don't have a GV on Perl < 5.22 */
244 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)));
253 6 6 } else if (o == PL_main_start && PL_main_root)
6 0 } else if (o == PL_main_start && PL_main_root)
255 6 0 else if (o == PL_eval_start && PL_eval_root)
6 0 else if (o == PL_eval_start && PL_eval_root)
277 7 0 if (last != t) {
312 7 0 if (!fp) {
345 0 14 if (!qc_config) {
351 7 7 if (!SvUTF8(*val)) {
354 14 0 str = SvPV_const(*val, len);
356 14 0 buffer_reset(&output_dir);
357 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);
358 14 0 buffer_terminate(&output_dir);
368 0 14 if (!qc_config) {
374 14 0 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
0 14 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
380 14 0 buffer_reset(&metadata);
382 14 0 buffer_terminate(&metadata);
388 643 1080 if (op->op_flags & OPf_KIDS) {
391 1030 642 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
1672 643 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
395 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)
396 171 0 add_line_helper(aTHX_ cover, CopFILE(cCOPx(op)), CopLINE(cCOPx(op)));
416 7 0 if (enabled) {
422 0 7 if (!qc_config) {
428 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);
440 7 1 if (!enabled) {
443 6 1 if (items >= 1) {
445 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);