dgraph: add dgraph_check and CCAN_DGRAPH_DEBUG
[ccan] / ccan / dgraph / test / run.c
index b868c18a3d6351f87adc8591e177de31c801a9ad..0253ac2409e54fde47db7aeca3256aaabab67ca8 100644 (file)
@@ -22,9 +22,10 @@ int main(void)
        unsigned int count = 0;
 
        /* This is how many tests you plan to run */
-       plan_tests(25);
+       plan_tests(42);
 
        dgraph_init_node(&n1);
+       ok1(dgraph_check(&n1, NULL) == &n1);
        count = 0;
        dgraph_traverse_from(&n1, count_nodes, &count);
        ok1(count == 0);
@@ -33,7 +34,10 @@ int main(void)
        ok1(count == 0);
 
        dgraph_init_node(&n2);
+       ok1(dgraph_check(&n2, NULL) == &n2);
        dgraph_add_edge(&n1, &n2);
+       ok1(dgraph_check(&n1, NULL) == &n1);
+       ok1(dgraph_check(&n2, NULL) == &n2);
        count = 0;
        dgraph_traverse_from(&n1, count_nodes, &count);
        ok1(count == 1);
@@ -48,7 +52,11 @@ int main(void)
        ok1(count == 1);
 
        dgraph_init_node(&n3);
+       ok1(dgraph_check(&n3, NULL) == &n3);
        dgraph_add_edge(&n2, &n3);
+       ok1(dgraph_check(&n1, NULL) == &n1);
+       ok1(dgraph_check(&n2, NULL) == &n2);
+       ok1(dgraph_check(&n3, NULL) == &n3);
        count = 0;
        dgraph_traverse_from(&n1, count_nodes, &count);
        ok1(count == 2);
@@ -80,6 +88,9 @@ int main(void)
        ok1(count == 1);
 
        dgraph_clear_node(&n1);
+       ok1(dgraph_check(&n1, NULL) == &n1);
+       ok1(dgraph_check(&n2, NULL) == &n2);
+       ok1(dgraph_check(&n3, NULL) == &n3);
 
        count = 0;
        dgraph_traverse_from(&n2, count_nodes, &count);
@@ -107,10 +118,17 @@ int main(void)
        count = 0;
        dgraph_traverse_to(&n3, count_nodes, &count);
        ok1(count == 0);
+       ok1(dgraph_check(&n1, NULL) == &n1);
+       ok1(dgraph_check(&n2, NULL) == &n2);
+       ok1(dgraph_check(&n3, NULL) == &n3);
 
        ok1(!dgraph_del_edge(&n2, &n3));
        dgraph_clear_node(&n2);
 
+       ok1(dgraph_check(&n1, NULL) == &n1);
+       ok1(dgraph_check(&n2, NULL) == &n2);
+       ok1(dgraph_check(&n3, NULL) == &n3);
+
        /* This exits depending on whether all tests passed */
        return exit_status();
 }