diff options
Diffstat (limited to 'lib/rbtree_test.c')
| -rw-r--r-- | lib/rbtree_test.c | 13 | 
1 files changed, 12 insertions, 1 deletions
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)  | 
