X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=lib%2Frbtree_test.c;h=8b3c9dc882628fd9945b5901eba670f67f885adf;hb=HEAD;hp=31dd4ccd3baae800a4459088cca01ca560c3a536;hpb=0891ad829d2a0501053703df66029e843e3b8365;p=~andy%2Flinux diff --git a/lib/rbtree_test.c b/lib/rbtree_test.c index 31dd4ccd3ba..8b3c9dc8826 100644 --- a/lib/rbtree_test.c +++ b/lib/rbtree_test.c @@ -8,8 +8,8 @@ #define CHECK_LOOPS 100 struct test_node { - struct rb_node rb; u32 key; + struct rb_node rb; /* following fields used for testing augmented rbtree functionality */ u32 val; @@ -114,6 +114,16 @@ static int black_path_count(struct rb_node *rb) return count; } +static void check_postorder_foreach(int nr_nodes) +{ + struct test_node *cur, *n; + int count = 0; + rbtree_postorder_for_each_entry_safe(cur, n, &root, rb) + count++; + + WARN_ON_ONCE(count != nr_nodes); +} + static void check_postorder(int nr_nodes) { struct rb_node *rb; @@ -148,6 +158,7 @@ static void check(int nr_nodes) WARN_ON_ONCE(count < (1 << black_path_count(rb_last(&root))) - 1); check_postorder(nr_nodes); + check_postorder_foreach(nr_nodes); } static void check_augmented(int nr_nodes)