Branch Coverage

lib/Future/XS.xs
Criterion Covered Total %
branch 0 436 0.0


line true false branch
22 0 0 if(GIMME_V == G_VOID)
39 0 0 if(SvROK(proto) && SvOBJECT(SvRV(proto))) {
0 0 if(SvROK(proto) && SvOBJECT(SvRV(proto))) {
41 0 0 RETVAL = future_new(HvNAME(protostash));
0 0 RETVAL = future_new(HvNAME(protostash));
0 0 RETVAL = future_new(HvNAME(protostash));
0 0 RETVAL = future_new(HvNAME(protostash));
0 0 RETVAL = future_new(HvNAME(protostash));
0 0 RETVAL = future_new(HvNAME(protostash));
56 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
64 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
72 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
80 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
88 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
90 0 0 if(!future_is_ready(self))
92 0 0 else if(future_is_failed(self))
94 0 0 else if(future_is_cancelled(self))
104 0 0 if(sv_is_future(self))
121 0 0 if(ix == 1 && /* ->die */
122 0 0 !SvROK(exception) && SvPV_nolen(exception)[SvCUR(exception)-1] != '\n') {
0 0 !SvROK(exception) && SvPV_nolen(exception)[SvCUR(exception)-1] != '\n') {
124 0 0 sv_catpvf(exception, " at %s line %d\n", CopFILE(PL_curcop), CopLINE(PL_curcop));
129 0 0 if(sv_is_future(self))
141 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
150 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
161 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
162 0 0 if(future_is_ready(self)) {
177 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
186 0 0 if(GIMME_V == G_LIST) {
187 0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
0 0 XPUSHs_from_AV(result);
191 0 0 if(av_count(result))
192 0 0 XPUSHs(AvARRAY(result)[0]);
194 0 0 XPUSHs(&PL_sv_undef);
201 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
210 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
214 0 0 if(!failure)
217 0 0 if(GIMME_V == G_LIST) {
218 0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
0 0 XPUSHs_from_AV(failure);
222 0 0 if(av_count(failure))
223 0 0 XPUSHs(AvARRAY(failure)[0]);
225 0 0 XPUSHs(&PL_sv_undef);
232 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
241 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
260 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
261 0 0 if(GIMME_V == G_VOID) {
264 0 0 if(CxTYPE(cx) == CXt_SUB &&
265 0 0 strEQ(GvNAME(CvGV(cx->blk_sub.cv)), "transform")) {
269 0 0 warn_void_context(ix ? "then_with_f" : "then");
276 0 0 if(items) {
282 0 0 if(items % 2) {
287 0 0 if(items) {
290 0 0 for(int i = 0; i < items/2; i++)
307 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
308 0 0 warn_void_context(ix ? "else_with_f" : "else");
319 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
320 0 0 warn_void_context(ix ? "catch_with_f" : "catch");
324 0 0 if(items % 2) {
331 0 0 for(int i = 0; i < items/2; i++)
341 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
384 0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
0 0 CHECK_INSTANCE(self);
405 0 0 if(t.tv_sec) {
428 0 0 RETVAL = label ? newSVsv(label) : &PL_sv_undef;