diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-04 16:12:14 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-07-16 07:22:11 +0200 |
commit | 22d9575fd038721cc7462911275336f1b5255381 (patch) | |
tree | 1935a51bcbdeaa869f78ef5e8d2b48d96321729c /testsuites | |
parent | linux: Simplify <linux/rbtree.h> (diff) | |
download | rtems-22d9575fd038721cc7462911275336f1b5255381.tar.bz2 |
linux: Add rbtree_postorder_for_each_entry_safe()
Update #3465.
Diffstat (limited to 'testsuites')
-rw-r--r-- | testsuites/sptests/sprbtree01/init.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/testsuites/sptests/sprbtree01/init.c b/testsuites/sptests/sprbtree01/init.c index 419881b1d8..16c1ee5edb 100644 --- a/testsuites/sptests/sprbtree01/init.c +++ b/testsuites/sptests/sprbtree01/init.c @@ -14,6 +14,8 @@ #include <rtems/rbtree.h> #include <rtems/score/rbtreeimpl.h> +#include <linux/rbtree.h> + const char rtems_test_name[] = "SPRBTREE 1"; /* forward declarations to avoid warnings */ @@ -1909,6 +1911,7 @@ static void postorder_tree_check( ) { test_node *node; + test_node *next; size_t i; node = _RBTree_Postorder_first( tree, offsetof( test_node, Node ) ); @@ -1919,6 +1922,25 @@ static void postorder_tree_check( } rtems_test_assert( node == NULL ); + + i = 0; + next = NULL; + + rbtree_postorder_for_each_entry_safe( node, next, tree, Node ) { + rtems_test_assert( node == &node_array[ i ] ); + + if ( i < pt->node_count - 1 ) { + rtems_test_assert( next == &node_array[ i + 1 ] ); + } else { + rtems_test_assert( next == NULL ); + } + + ++i; + } + + rtems_test_assert( i == pt->node_count ); + rtems_test_assert( node == NULL ); + rtems_test_assert( next == NULL ); } static void test_rbtree_postorder( void ) |