Branch Coverage

Time.xs
Criterion Covered Total %
branch 86 176 48.8


line true false branch
29 100829 1253 if (!is_past) {
43 2 1251 hv_store(ret, "is_local", 8, newSViv(zone->is_local ? 1 : 0), 0);
46 450 803 hv_store(future, "hasdst", 6, newSVuv(zone->future.hasdst ? 1 : 0), 0);
55 450 803 if (zone->future.hasdst) {
85 100829 1253 for (uint32_t i = 0; i < zone->trans_cnt; i++) av_push(trans, export_transition(aTHX_ zone->trans[i], false));
97 102 0 panda::time::tzset(newzone);
101 18 3 if (newdirSV) {
102 0 18 string newdir = SvOK(newdirSV) ? sv2string(aTHX_ newdirSV) : string("");
0 0 string newdir = SvOK(newdirSV) ? sv2string(aTHX_ newdirSV) : string("");
0 0 string newdir = SvOK(newdirSV) ? sv2string(aTHX_ newdirSV) : string("");
18 0 string newdir = SvOK(newdirSV) ? sv2string(aTHX_ newdirSV) : string("");
103 18 0 if (tzdir(newdir)) RETVAL = "1";
18 0 if (tzdir(newdir)) RETVAL = "1";
18 0 if (tzdir(newdir)) RETVAL = "1";
104 18 0 else XSRETURN_UNDEF;
106 3 0 RETVAL = tzdir();
3 0 RETVAL = tzdir();
110 18 0 RETVAL = tzsysdir();
18 0 RETVAL = tzsysdir();
115 23756 0 if (epochSV) epoch = (ptime_t) SvMIV(epochSV);
53 23703 if (epochSV) epoch = (ptime_t) SvMIV(epochSV);
23703 0 if (epochSV) epoch = (ptime_t) SvMIV(epochSV);
119 4723 19033 if (ix == 0) gmtime(epoch, &date);
4723 0 if (ix == 0) gmtime(epoch, &date);
120 19033 0 else localtime(epoch, &date);
122 23756 0 if (GIMME_V == G_ARRAY) {
0 0 if (GIMME_V == G_ARRAY) {
23747 9 if (GIMME_V == G_ARRAY) {
123 0 23747 EXTEND(SP, 9);
0 0 EXTEND(SP, 9);
124 0 23747 EXTEND_MORTAL(9);
0 0 EXTEND_MORTAL(9);
125 23747 0 mPUSHu(date.sec);
23747 0 mPUSHu(date.sec);
126 23747 0 mPUSHu(date.min);
23747 0 mPUSHu(date.min);
127 23747 0 mPUSHu(date.hour);
23747 0 mPUSHu(date.hour);
128 23747 0 mPUSHu(date.mday);
23747 0 mPUSHu(date.mday);
129 23747 0 mPUSHu(date.mon);
23747 0 mPUSHu(date.mon);
130 23747 0 mPUSHi(date.year);
23747 0 mPUSHi(date.year);
131 23747 0 mPUSHu(date.wday);
23747 0 mPUSHu(date.wday);
132 23747 0 mPUSHu(date.yday);
23747 0 mPUSHu(date.yday);
133 23747 0 mPUSHu(date.isdst);
23747 0 mPUSHu(date.isdst);
136 0 9 EXTEND(SP, 1);
0 0 EXTEND(SP, 1);
137 9 0 SV* ret = newSV(1000);
140 9 0 size_t strlen = strftime(str, 1000, LT_FORMAT, &date);
142 9 0 mPUSHs(ret);
149 23826 0 date.sec = SvMIV(sec);
0 0 date.sec = SvMIV(sec);
150 23826 0 date.min = SvMIV(min);
0 0 date.min = SvMIV(min);
151 23826 0 date.hour = SvMIV(hour);
0 0 date.hour = SvMIV(hour);
152 23826 0 date.mday = SvMIV(mday);
0 0 date.mday = SvMIV(mday);
153 23826 0 date.mon = SvMIV(mon);
0 0 date.mon = SvMIV(mon);
154 23826 0 date.year = SvMIV(year);
0 0 date.year = SvMIV(year);
156 23793 33 if (isdst) date.isdst = SvIV(isdst);
23793 0 if (isdst) date.isdst = SvIV(isdst);
0 0 if (isdst) date.isdst = SvIV(isdst);
161 4723 0 RETVAL = timegml(&date);
164 19068 0 RETVAL = timelocall(&date);
167 5 0 RETVAL = timegm(&date);
170 30 0 RETVAL = timelocal(&date);
175 35 23791 if (ix & 2) {
176 34 0 sv_setiv(sec, date.sec);
177 34 0 sv_setiv(min, date.min);
178 34 0 sv_setiv(hour, date.hour);
179 34 0 sv_setiv(mday, date.mday);
180 34 0 sv_setiv(mon, date.mon);
181 34 0 sv_setiv(year, date.year);
182 30 4 if (isdst) sv_setiv(isdst, date.isdst);
30 0 if (isdst) sv_setiv(isdst, date.isdst);
195 0 0 if (ix == 0) RETVAL = SYSTIMEGM(&date);
200 1253 0 RETVAL = export_timezone(aTHX_ tzget(zonename));
1253 0 RETVAL = export_timezone(aTHX_ tzget(zonename));
204 15 0 RETVAL = tzlocal()->name;
15 0 RETVAL = tzlocal()->name;