Branch Coverage

AVLTree.xs
Criterion Covered Total %
branch 91 244 37.3


line true false branch
74 0 464 PUSHMARK(SP);
75 0 464 XPUSHs(sv_2mortal(newSVsv(p1)));
76 0 464 XPUSHs(sv_2mortal(newSVsv(p2)));
84 0 464 if(count != 1)
87 464 0 cmp = POPi;
127 20 0 TRACEME("Registering callback for comparison");
0 20 TRACEME("Registering callback for comparison");
0 20 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 20 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
20 0 TRACEME("Registering callback for comparison");
20 0 TRACEME("Registering callback for comparison");
20 0 TRACEME("Registering callback for comparison");
0 20 TRACEME("Registering callback for comparison");
0 0 TRACEME("Registering callback for comparison");
0 20 TRACEME("Registering callback for comparison");
128 3 17 if(callback == (SV*)NULL)
131 17 0 SvSetSV(callback, cmp_fn);
133 20 0 TRACEME("Allocating AVL tree");
0 20 TRACEME("Allocating AVL tree");
0 20 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 20 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
20 0 TRACEME("Allocating AVL tree");
20 0 TRACEME("Allocating AVL tree");
20 0 TRACEME("Allocating AVL tree");
0 20 TRACEME("Allocating AVL tree");
0 0 TRACEME("Allocating AVL tree");
0 20 TRACEME("Allocating AVL tree");
135 0 20 if(tree == NULL)
139 20 0 TRACEME("Allocating AVL tree traversal");
0 20 TRACEME("Allocating AVL tree traversal");
0 20 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 20 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
20 0 TRACEME("Allocating AVL tree traversal");
20 0 TRACEME("Allocating AVL tree traversal");
20 0 TRACEME("Allocating AVL tree traversal");
0 20 TRACEME("Allocating AVL tree traversal");
0 0 TRACEME("Allocating AVL tree traversal");
0 20 TRACEME("Allocating AVL tree traversal");
141 0 20 if(trav == NULL)
159 12 2 if(items < 2 || !SvOK(ST(1)) || SvTYPE(ST(1)) == SVt_NULL) {
2 10 if(items < 2 || !SvOK(ST(1)) || SvTYPE(ST(1)) == SVt_NULL) {
2 0 if(items < 2 || !SvOK(ST(1)) || SvTYPE(ST(1)) == SVt_NULL) {
0 2 if(items < 2 || !SvOK(ST(1)) || SvTYPE(ST(1)) == SVt_NULL) {
0 10 if(items < 2 || !SvOK(ST(1)) || SvTYPE(ST(1)) == SVt_NULL) {
165 0 10 if(svp == NULL)
167 10 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
170 4 6 if(SvOK(result) && SvTYPE(result) != SVt_NULL) {
4 0 if(SvOK(result) && SvTYPE(result) != SVt_NULL) {
0 4 if(SvOK(result) && SvTYPE(result) != SVt_NULL) {
6 0 if(SvOK(result) && SvTYPE(result) != SVt_NULL) {
187 0 96 if(svp == NULL)
189 96 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
205 0 12 if(svp == NULL)
207 12 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
222 0 8 if(svp == NULL)
224 8 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
239 0 5 if(svp == NULL)
241 5 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
243 0 5 if(svp == NULL)
245 5 0 trav = INT2PTR(AVLTrav*, SvIV(*svp));
261 0 3 if(svp == NULL)
263 3 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
265 0 3 if(svp == NULL)
267 3 0 trav = INT2PTR(AVLTrav*, SvIV(*svp));
283 0 22 if(svp == NULL)
285 22 0 trav = INT2PTR(AVLTrav*, SvIV(*svp));
301 0 10 if(svp == NULL)
303 10 0 trav = INT2PTR(AVLTrav*, SvIV(*svp));
317 20 0 TRACEME("Deleting AVL tree");
0 20 TRACEME("Deleting AVL tree");
0 20 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 20 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
20 0 TRACEME("Deleting AVL tree");
20 0 TRACEME("Deleting AVL tree");
20 0 TRACEME("Deleting AVL tree");
0 20 TRACEME("Deleting AVL tree");
0 0 TRACEME("Deleting AVL tree");
0 20 TRACEME("Deleting AVL tree");
319 0 20 if(svp == NULL)
321 20 0 tree = INT2PTR(AVLTree*, SvIV(*svp));
324 20 0 TRACEME("Deleting AVL tree traversal");
0 20 TRACEME("Deleting AVL tree traversal");
0 20 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 20 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
20 0 TRACEME("Deleting AVL tree traversal");
20 0 TRACEME("Deleting AVL tree traversal");
20 0 TRACEME("Deleting AVL tree traversal");
0 20 TRACEME("Deleting AVL tree traversal");
0 0 TRACEME("Deleting AVL tree traversal");
0 20 TRACEME("Deleting AVL tree traversal");
326 0 20 if(svp == NULL)
328 20 0 trav = INT2PTR(AVLTrav*, SvIV(*svp));