Branch Coverage

BinaryProtocol.xs
Criterion Covered Total %
branch 83 422 19.6


line true false branch
15 2 0 if (sv_isa(transport, "Thrift::XS::MemoryBuffer"))
46 0 2 while (!SIMPLEQ_EMPTY(p->last_fields)) {
48 0 0 SIMPLEQ_REMOVE_HEAD(p->last_fields, entries);
63 2 0 SvREFCNT_inc(p->transport);
99 3 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
144 2 0 WRITE(p, data, 3);
0 0 WRITE(p, data, 3);
0 0 WRITE(p, data, 3);
0 0 WRITE(p, data, 3);
0 0 WRITE(p, data, 3);
169 5 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
187 2 0 WRITE(p, data, 6);
0 0 WRITE(p, data, 6);
0 0 WRITE(p, data, 6);
0 0 WRITE(p, data, 6);
0 0 WRITE(p, data, 6);
213 2 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
239 2 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
0 0 WRITE(p, data, 5);
264 4 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
280 4 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
0 0 WRITE(p, data, 1);
296 3 0 WRITE(p, data, 2);
0 0 WRITE(p, data, 2);
0 0 WRITE(p, data, 2);
0 0 WRITE(p, data, 2);
0 0 WRITE(p, data, 2);
312 3 0 WRITE(p, data, 4);
0 0 WRITE(p, data, 4);
0 0 WRITE(p, data, 4);
0 0 WRITE(p, data, 4);
0 0 WRITE(p, data, 4);
326 0 3 const char *str = SvPOK(value) ? SvPVX(value) : SvPV_nolen(value);
340 3 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
360 2 0 bits = htonll(bits);
364 2 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
0 0 WRITE(p, data, 8);
378 3 3 if (SvUTF8(value) != 0) {
391 6 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
0 0 WRITE_SV(p, data);
408 1 0 READ_SV(p, tmp, 4);
0 1 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
413 1 0 if (version < 0) {
414 0 1 if ((version & VERSION_MASK) != VERSION_1) {
418 1 0 if (SvROK(type))
424 1 0 READ_SV(p, tmp, 4);
0 1 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
428 1 0 if (len) {
429 1 0 READ_SV(p, tmp, len);
0 1 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
432 1 0 if (SvROK(name))
436 0 0 if (SvROK(name))
444 1 0 READ_SV(p, tmp, 4);
0 1 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
448 1 0 if (SvROK(seqid))
475 1 0 if (SvROK(name))
500 1 0 READ_SV(p, tmp, 1);
0 1 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
505 1 0 if (SvROK(fieldtype))
508 0 1 if (tmps[0] == T_STOP) {
509 0 0 if (SvROK(fieldid))
514 1 0 READ_SV(p, tmp, 2);
0 1 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
519 0 1 if (SvROK(fieldid))
544 1 0 READ_SV(p, tmp, 6);
0 1 READ_SV(p, tmp, 6);
0 0 READ_SV(p, tmp, 6);
0 0 READ_SV(p, tmp, 6);
0 0 READ_SV(p, tmp, 6);
0 0 READ_SV(p, tmp, 6);
549 1 0 if (SvROK(keytype))
553 1 0 if (SvROK(valtype))
559 1 0 if (SvROK(size))
583 1 0 READ_SV(p, tmp, 5);
0 1 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
588 1 0 if (SvROK(elemtype))
594 1 0 if (SvROK(size))
618 1 0 READ_SV(p, tmp, 5);
0 1 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
0 0 READ_SV(p, tmp, 5);
623 1 0 if (SvROK(elemtype))
629 1 0 if (SvROK(size))
653 2 0 READ_SV(p, tmp, 1);
0 2 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
657 2 0 if (SvROK(value))
672 2 0 READ_SV(p, tmp, 1);
0 2 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
0 0 READ_SV(p, tmp, 1);
676 2 0 if (SvROK(value))
691 1 0 READ_SV(p, tmp, 2);
0 1 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
0 0 READ_SV(p, tmp, 2);
697 1 0 if (SvROK(value))
712 2 0 READ_SV(p, tmp, 4);
0 2 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
718 2 0 if (SvROK(value))
733 1 0 READ_SV(p, tmp, 8);
0 1 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
742 1 0 if (SvROK(value)) {
762 1 0 READ_SV(p, tmp, 8);
0 1 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
0 0 READ_SV(p, tmp, 8);
775 1 0 if (SvROK(value))
791 1 0 READ_SV(p, tmp, 4);
0 1 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
0 0 READ_SV(p, tmp, 4);
795 1 0 if (len) {
796 1 0 READ_SV(p, tmp, len);
0 1 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
799 1 0 if (SvROK(value))
803 0 0 if (SvROK(value))
818 1 0 if (len) {
819 1 0 READ_SV(p, tmp, len);
0 1 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
0 0 READ_SV(p, tmp, len);
822 1 0 if (SvROK(value))
826 0 0 if (SvROK(value))