Branch Coverage

quickcover.xs
Criterion Covered Total %
branch 102 220 46.3


line true false branch
53 7 0 if (!noatexit) {
59 7 0 buffer_init(&output_dir, 0);
60 7 0 buffer_init(&metadata, 0);
62 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);
63 7 0 buffer_terminate(&output_dir);
65 7 0 buffer_terminate(&metadata);
70 7 7 if (cover) {
71 7 0 if (nodump) {
80 7 7 buffer_fini(&metadata);
0 7 buffer_fini(&metadata);
81 7 7 buffer_fini(&output_dir);
0 7 buffer_fini(&output_dir);
92 0 7 if (PL_ppaddr[OP_NEXTSTATE] == qc_nextstate) {
163 26 0 if (CxTYPE(cx) == CXt_SUB) {
169 0 26 if (!cover) {
174 26 0 if (gv) { /* see the same condition in qc_peep */
176 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);
189 211 0 Perl_ppaddr_t orig_pp = PL_op->op_type == OP_NEXTSTATE ? nextstate_orig : dbstate_orig;
192 131 80 if (enabled) {
194 105 26 if (PL_op->op_ppaddr == qc_nextstate)
198 1 130 if (!cover) {
204 131 0 add_covered_line_helper(aTHX_ cover, CopFILE(PL_curcop), CopLINE(PL_curcop), PL_phase);
212 85 0 if (!o || o->op_opt)
0 85 if (!o || o->op_opt)
217 51 34 if (enabled) {
219 6 45 if (!cover) {
234 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)) {
237 41 0 for (f = o; f; f = f->op_next) {
238 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) {
243 39 0 if (f) {
247 39 0 if (gv) { /* for example lexical subs don't have a GV on Perl < 5.22 */
249 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)));
258 6 6 } else if (o == PL_main_start && PL_main_root)
6 0 } else if (o == PL_main_start && PL_main_root)
260 6 0 else if (o == PL_eval_start && PL_eval_root)
6 0 else if (o == PL_eval_start && PL_eval_root)
282 7 0 if (last != t) {
317 7 0 if (!fp) {
350 0 14 if (!qc_config) {
356 7 7 if (!SvUTF8(*val)) {
359 14 0 str = SvPV_const(*val, len);
361 14 0 buffer_reset(&output_dir);
362 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);
363 14 0 buffer_terminate(&output_dir);
373 0 14 if (!qc_config) {
379 14 0 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
0 14 if (!SvROK(*val) || SvTYPE(SvRV(*val)) != SVt_PVHV) {
385 14 0 buffer_reset(&metadata);
387 14 0 buffer_terminate(&metadata);
393 643 1080 if (op->op_flags & OPf_KIDS) {
396 1030 642 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
1672 643 for (curr = cUNOPx(op)->op_first; curr; curr = OpSIBLING(curr))
400 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)
401 171 0 add_line_helper(aTHX_ cover, CopFILE(cCOPx(op)), CopLINE(cCOPx(op)));
421 7 0 if (enabled) {
427 0 7 if (!qc_config) {
433 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);
445 7 1 if (!enabled) {
448 6 1 if (items >= 1) {
450 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);