Branch Coverage

UUID.xs
Criterion Covered Total %
branch 283 560 50.5


line true false branch
162 0 156 if (!svp) croak("Time::HiRes is required");
163 0 156 if (!SvIOK(*svp)) croak("Time::U2time isn't a function pointer");
208 1 26 if (items > 1)
210 6 20 if (items == 0) {
217 14 6 if (SvTRUE(ST(0))) {
251 154 0 if (rv) {
272 6 9 if (items == 0) {
275 8 1 else if (items == 1) {
277 1 7 if (!looks_like_number(duration))
299 1 8 UU_ALIAS_GEN_V0(io, su, dptr);
0 9 UU_ALIAS_GEN_V0(io, su, dptr);
0 0 UU_ALIAS_GEN_V0(io, su, dptr);
0 0 UU_ALIAS_GEN_V0(io, su, dptr);
2 7 UU_ALIAS_GEN_V0(io, su, dptr);
9 0 UU_ALIAS_GEN_V0(io, su, dptr);
3 6 UU_ALIAS_GEN_V0(io, su, dptr);
0 9 UU_ALIAS_GEN_V0(io, su, dptr);
307 417 0 dUCXT;
311 407 10 if (SvPOK(in1) && SvPOK(in2)
403 4 if (SvPOK(in1) && SvPOK(in2)
312 300 103 && SvCUR(in1) == sizeof(uu_t)
313 296 4 && SvCUR(in2) == sizeof(uu_t))
318 7 114 else if (!SvOK(in1))
319 4 3 RETVAL = SvOK(in2) ? -1 : 0;
320 5 109 else if (!SvOK(in2))
339 11 2 if (!SvPOK(in) || SvCUR(in) != sizeof(uu_t))
4 7 if (!SvPOK(in) || SvCUR(in) != sizeof(uu_t))
343 2 11 SV_CHECK_THINKFIRST_COW_DROP(out);
344 0 13 if (isGV_with_GP(out))
0 0 if (isGV_with_GP(out))
0 0 if (isGV_with_GP(out))
346 5 8 SvUPGRADE(out, SVt_PV);
347 13 0 dptr = SvGROW(out, sizeof(uu_t)+1);
5 8 dptr = SvGROW(out, sizeof(uu_t)+1);
352 0 13 if (SvTYPE(out) == SVt_PVCV)
365 2 11 UU_ALIAS_GEN_V4(out, su, dptr);
0 13 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
7 6 UU_ALIAS_GEN_V4(out, su, dptr);
13 0 UU_ALIAS_GEN_V4(out, su, dptr);
8 5 UU_ALIAS_GEN_V4(out, su, dptr);
0 13 UU_ALIAS_GEN_V4(out, su, dptr);
377 0 6 UU_ALIAS_GEN_V4(out, su, dptr);
0 6 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
4 2 UU_ALIAS_GEN_V4(out, su, dptr);
6 0 UU_ALIAS_GEN_V4(out, su, dptr);
4 2 UU_ALIAS_GEN_V4(out, su, dptr);
0 6 UU_ALIAS_GEN_V4(out, su, dptr);
389 0 14 UU_ALIAS_GEN_V1(out, su, dptr);
0 14 UU_ALIAS_GEN_V1(out, su, dptr);
0 0 UU_ALIAS_GEN_V1(out, su, dptr);
0 0 UU_ALIAS_GEN_V1(out, su, dptr);
13 1 UU_ALIAS_GEN_V1(out, su, dptr);
14 0 UU_ALIAS_GEN_V1(out, su, dptr);
13 1 UU_ALIAS_GEN_V1(out, su, dptr);
0 14 UU_ALIAS_GEN_V1(out, su, dptr);
401 0 17 UU_ALIAS_GEN_V0(out, su, dptr);
0 17 UU_ALIAS_GEN_V0(out, su, dptr);
0 0 UU_ALIAS_GEN_V0(out, su, dptr);
0 0 UU_ALIAS_GEN_V0(out, su, dptr);
17 0 UU_ALIAS_GEN_V0(out, su, dptr);
17 0 UU_ALIAS_GEN_V0(out, su, dptr);
17 0 UU_ALIAS_GEN_V0(out, su, dptr);
0 17 UU_ALIAS_GEN_V0(out, su, dptr);
413 0 120 UU_ALIAS_GEN_V1(out, su, dptr);
0 120 UU_ALIAS_GEN_V1(out, su, dptr);
0 0 UU_ALIAS_GEN_V1(out, su, dptr);
0 0 UU_ALIAS_GEN_V1(out, su, dptr);
21 99 UU_ALIAS_GEN_V1(out, su, dptr);
120 0 UU_ALIAS_GEN_V1(out, su, dptr);
21 99 UU_ALIAS_GEN_V1(out, su, dptr);
0 120 UU_ALIAS_GEN_V1(out, su, dptr);
428 0 124 SvUPGRADE(namespace, SVt_PV);
429 0 124 SvUPGRADE(name, SVt_PV);
433 3 121 if (slen == 36 && !uu_parse(sptr, &su)) {
3 0 if (slen == 36 && !uu_parse(sptr, &su)) {
435 0 3 UU_ALIAS_GEN_V3(out, su, dptr);
0 3 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
3 0 UU_ALIAS_GEN_V3(out, su, dptr);
3 0 UU_ALIAS_GEN_V3(out, su, dptr);
3 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 3 UU_ALIAS_GEN_V3(out, su, dptr);
437 0 121 else if (slen == 16) {
440 0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
442 121 0 else if (slen > 0 /* ibcmp first appears in v5.7.3 */
443 121 0 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
120 1 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
0 120 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
444 1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
0 1 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
445 0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
446 0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
449 0 121 UU_ALIAS_GEN_V3(out, su, dptr);
0 121 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
0 0 UU_ALIAS_GEN_V3(out, su, dptr);
22 99 UU_ALIAS_GEN_V3(out, su, dptr);
121 0 UU_ALIAS_GEN_V3(out, su, dptr);
22 99 UU_ALIAS_GEN_V3(out, su, dptr);
0 121 UU_ALIAS_GEN_V3(out, su, dptr);
462 0 118 UU_ALIAS_GEN_V4(out, su, dptr);
0 118 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
0 0 UU_ALIAS_GEN_V4(out, su, dptr);
19 99 UU_ALIAS_GEN_V4(out, su, dptr);
118 0 UU_ALIAS_GEN_V4(out, su, dptr);
19 99 UU_ALIAS_GEN_V4(out, su, dptr);
0 118 UU_ALIAS_GEN_V4(out, su, dptr);
477 0 124 SvUPGRADE(namespace, SVt_PV);
478 0 124 SvUPGRADE(name, SVt_PV);
482 3 121 if (slen == 36 && !uu_parse(sptr, &su)) {
3 0 if (slen == 36 && !uu_parse(sptr, &su)) {
484 0 3 UU_ALIAS_GEN_V5(out, su, dptr);
0 3 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
3 0 UU_ALIAS_GEN_V5(out, su, dptr);
3 0 UU_ALIAS_GEN_V5(out, su, dptr);
3 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 3 UU_ALIAS_GEN_V5(out, su, dptr);
486 0 121 else if (slen == 16) {
489 0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
491 121 0 else if (slen > 0 /* ibcmp first appears in v5.7.3 */
492 121 0 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
120 1 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
0 120 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
493 1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
0 1 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
494 0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
495 0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
498 0 121 UU_ALIAS_GEN_V5(out, su, dptr);
0 121 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
0 0 UU_ALIAS_GEN_V5(out, su, dptr);
22 99 UU_ALIAS_GEN_V5(out, su, dptr);
121 0 UU_ALIAS_GEN_V5(out, su, dptr);
22 99 UU_ALIAS_GEN_V5(out, su, dptr);
0 121 UU_ALIAS_GEN_V5(out, su, dptr);
511 0 118 UU_ALIAS_GEN_V6(out, su, dptr);
0 118 UU_ALIAS_GEN_V6(out, su, dptr);
0 0 UU_ALIAS_GEN_V6(out, su, dptr);
0 0 UU_ALIAS_GEN_V6(out, su, dptr);
19 99 UU_ALIAS_GEN_V6(out, su, dptr);
118 0 UU_ALIAS_GEN_V6(out, su, dptr);
19 99 UU_ALIAS_GEN_V6(out, su, dptr);
0 118 UU_ALIAS_GEN_V6(out, su, dptr);
523 0 118 UU_ALIAS_GEN_V7(out, su, dptr);
0 118 UU_ALIAS_GEN_V7(out, su, dptr);
0 0 UU_ALIAS_GEN_V7(out, su, dptr);
0 0 UU_ALIAS_GEN_V7(out, su, dptr);
19 99 UU_ALIAS_GEN_V7(out, su, dptr);
118 0 UU_ALIAS_GEN_V7(out, su, dptr);
19 99 UU_ALIAS_GEN_V7(out, su, dptr);
0 118 UU_ALIAS_GEN_V7(out, su, dptr);
530 120 0 dUCXT;
534 2 118 if (!SvPOK(in))
536 5 113 else if (SvCUR(in) != sizeof(uu_t))
549 48 0 dUCXT;
556 44 4 if (SvPOK(in) && !uu_parse(SvGROW(in, UUID_BUFFSZ+1), &su)) {
2 42 if (SvPOK(in) && !uu_parse(SvGROW(in, UUID_BUFFSZ+1), &su)) {
0 2 if (SvPOK(in) && !uu_parse(SvGROW(in, UUID_BUFFSZ+1), &su)) {
38 6 if (SvPOK(in) && !uu_parse(SvGROW(in, UUID_BUFFSZ+1), &su)) {
557 1 37 SV_CHECK_THINKFIRST_COW_DROP(out);
558 0 38 if (isGV_with_GP(out))
0 0 if (isGV_with_GP(out))
0 0 if (isGV_with_GP(out))
560 15 23 SvUPGRADE(out, SVt_PV);
561 38 0 dptr = SvGROW(out, sizeof(uu_t)+1);
16 22 dptr = SvGROW(out, sizeof(uu_t)+1);
566 0 38 if (SvTYPE(out) == SVt_PVCV)
578 9 0 dUCXT;
585 9 0 if (SvPOK(in)) {
587 9 0 if (len == sizeof(uu_t)) {
600 112 0 dUCXT;
606 110 2 UU_ALIAS_VERSION(in, su, str, len);
108 2 UU_ALIAS_VERSION(in, su, str, len);
621 630 2 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
630 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 630 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
3 627 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 630 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
32 598 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
630 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
32 598 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 630 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
634 4 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
3 1 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 3 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
1 3 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 4 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
2 2 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
4 0 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
2 2 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
0 4 UU_ALIAS_UNPARSE_LOWER(in, out, su, dptr);
647 4 0 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
4 0 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
0 4 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
1 3 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
0 4 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
0 0 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
2 2 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
4 0 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
2 2 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
0 4 UU_ALIAS_UNPARSE_UPPER(in, out, su, dptr);
700 0 28 SvUPGRADE(namespace, SVt_PV);
701 0 28 SvUPGRADE(name, SVt_PV);
705 0 28 if (slen == 36 && !uu_parse(sptr, &su)) {
0 0 if (slen == 36 && !uu_parse(sptr, &su)) {
709 3 25 else if (slen == 16) {
714 25 0 else if (slen > 0 /* ibcmp first appears in v5.7.3 */
715 24 1 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
21 3 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
0 21 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
716 3 1 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
2 1 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
0 2 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
717 1 1 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
1 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 1 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
718 1 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
1 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
1 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
751 0 22 SvUPGRADE(namespace, SVt_PV);
752 0 22 SvUPGRADE(name, SVt_PV);
756 0 22 if (slen == 36 && !uu_parse(sptr, &su)) {
0 0 if (slen == 36 && !uu_parse(sptr, &su)) {
760 3 19 else if (slen == 16) {
765 19 0 else if (slen > 0 /* ibcmp first appears in v5.7.3 */
766 19 0 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
18 1 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
0 18 && ( slen == 3 && !ibcmp(sptr, "dns", (I32)slen) && CopyD(&UU_namespace_dns, &su, 1, struct_uu_t)
767 1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
1 0 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
0 1 || slen == 3 && !ibcmp(sptr, "url", (I32)slen) && CopyD(&UU_namespace_url, &su, 1, struct_uu_t)
768 0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
0 0 || slen == 3 && !ibcmp(sptr, "oid", (I32)slen) && CopyD(&UU_namespace_oid, &su, 1, struct_uu_t)
769 0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
0 0 || slen == 4 && !ibcmp(sptr, "x500", (I32)slen) && CopyD(&UU_namespace_x500, &su, 1, struct_uu_t)
808 122 0 dUCXT;
815 122 0 if (SvPOK(in)) {
817 122 0 if (len == sizeof(uu_t)) {
830 11 0 dUCXT;
836 9 2 UU_ALIAS_VERSION(in, su, str, len);
7 2 UU_ALIAS_VERSION(in, su, str, len);