summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-06-28 06:59:29 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-06 10:52:19 +0200
commit83b022907173c9e1bd69874fadb5ed443400c2fa (patch)
tree92c480bb9d04696903c4b3fee4c1c34ef603d11a /testsuites/sptests
parentscore: Add missing const qualifiers (diff)
downloadrtems-83b022907173c9e1bd69874fadb5ed443400c2fa.tar.bz2
score: Add _RBTree_Initialize_one()
Diffstat (limited to 'testsuites/sptests')
-rw-r--r--testsuites/sptests/sprbtree01/init.c25
-rw-r--r--testsuites/sptests/sprbtree01/sprbtree01.scn1
2 files changed, 26 insertions, 0 deletions
diff --git a/testsuites/sptests/sprbtree01/init.c b/testsuites/sptests/sprbtree01/init.c
index 054350815c..746b36ee3a 100644
--- a/testsuites/sptests/sprbtree01/init.c
+++ b/testsuites/sptests/sprbtree01/init.c
@@ -19,6 +19,30 @@ const char rtems_test_name[] = "SPRBTREE 1";
/* forward declarations to avoid warnings */
rtems_task Init(rtems_task_argument argument);
+static void test_rbtree_init_one(void)
+{
+ RBTree_Control tree;
+ RBTree_Node node;
+
+ puts( "INIT - Initialize one" );
+
+ _RBTree_Initialize_node( &node );
+ _RBTree_Initialize_one( &tree, &node );
+ rtems_test_assert( !_RBTree_Is_empty( &tree ) );
+ rtems_test_assert( _RBTree_Is_root( &node ) );
+ rtems_test_assert( !_RBTree_Is_node_off_tree( &node ) );
+ rtems_test_assert( _RBTree_Left( &node ) == NULL );
+ rtems_test_assert( _RBTree_Right( &node ) == NULL );
+ rtems_test_assert( _RBTree_Parent( &node ) == NULL );
+ rtems_test_assert( _RBTree_Successor( &node ) == NULL );
+ rtems_test_assert( _RBTree_Predecessor( &node ) == NULL );
+ rtems_test_assert( _RBTree_Minimum( &tree ) == &node );
+ rtems_test_assert( _RBTree_Maximum( &tree ) == &node );
+
+ _RBTree_Extract( &tree, &node );
+ rtems_test_assert( _RBTree_Is_empty( &tree ) );
+}
+
static const int numbers[20] = {
52, 99, 0, 85, 43, 44, 10, 60, 50, 19, 8, 68, 48, 57, 17, 67, 90, 12, 77, 71
};
@@ -2271,6 +2295,7 @@ rtems_task Init( rtems_task_argument ignored )
rtems_test_exit(0);
}
+ test_rbtree_init_one();
test_rbtree_min_max();
test_rbtree_insert_inline();
test_rbtree_random_ops();
diff --git a/testsuites/sptests/sprbtree01/sprbtree01.scn b/testsuites/sptests/sprbtree01/sprbtree01.scn
index 9cf21f3627..6b5e1d960b 100644
--- a/testsuites/sptests/sprbtree01/sprbtree01.scn
+++ b/testsuites/sptests/sprbtree01/sprbtree01.scn
@@ -30,6 +30,7 @@ INIT - Removing 100 nodes
INIT - Verify rtems_rbtree_insert with 100 nodes value [99,0]
INIT - Verify rtems_rbtree_find in a duplicate tree
INIT - Removing 100 nodes
+INIT - Initialize one
INIT - Verify min/max node updates
INIT - Verify _RBTree_Insert_inline
INIT - Random operations