summaryrefslogtreecommitdiffstats
path: root/testsuites/sptests/spchain
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-08-10 08:21:54 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-09-06 10:52:20 +0200
commit3709987d968868d36701bf44474921b7cd560ce0 (patch)
tree8956017a0562ff14248ccb7fb1d14a6c10377444 /testsuites/sptests/spchain
parentscore: Improve red-black tree debug support (diff)
downloadrtems-3709987d968868d36701bf44474921b7cd560ce0.tar.bz2
score: Add _Chain_Initialize_one()
Diffstat (limited to 'testsuites/sptests/spchain')
-rw-r--r--testsuites/sptests/spchain/init.c23
-rw-r--r--testsuites/sptests/spchain/spchain.scn1
2 files changed, 24 insertions, 0 deletions
diff --git a/testsuites/sptests/spchain/init.c b/testsuites/sptests/spchain/init.c
index eb5ea4e7df..8fa7ea087d 100644
--- a/testsuites/sptests/spchain/init.c
+++ b/testsuites/sptests/spchain/init.c
@@ -16,6 +16,28 @@
const char rtems_test_name[] = "SPCHAIN";
+static void test_chain_init_one(void)
+{
+ Chain_Control chain;
+ Chain_Node node;
+
+ puts( "INIT - Verify _Chain_Initialize_one" );
+
+ _Chain_Initialize_node( &node );
+ _Chain_Initialize_one( &chain, &node );
+ rtems_test_assert( !_Chain_Is_empty( &chain ) );
+ rtems_test_assert( !_Chain_Is_node_off_chain( &node ) );
+ rtems_test_assert( _Chain_Is_first( &node ) );
+ rtems_test_assert( _Chain_Is_last( &node ) );
+ rtems_test_assert( _Chain_First( &chain ) == &node );
+ rtems_test_assert( _Chain_Last( &chain ) == &node );
+ rtems_test_assert( _Chain_Next( &node ) == _Chain_Tail( &chain ) );
+ rtems_test_assert( _Chain_Previous( &node ) == _Chain_Head( &chain ) );
+
+ _Chain_Extract_unprotected( &node );
+ rtems_test_assert( _Chain_Is_empty( &chain ) );
+}
+
static void update_registry_and_extract(
Chain_Iterator_registry *reg,
Chain_Node *n
@@ -479,6 +501,7 @@ rtems_task Init(
}
}
+ test_chain_init_one();
test_chain_first_and_last();
test_chain_with_empty_check();
test_chain_with_notification();
diff --git a/testsuites/sptests/spchain/spchain.scn b/testsuites/sptests/spchain/spchain.scn
index 4aff306362..e4cdf6e757 100644
--- a/testsuites/sptests/spchain/spchain.scn
+++ b/testsuites/sptests/spchain/spchain.scn
@@ -1,6 +1,7 @@
*** BEGIN OF TEST SPCHAIN ***
Init - Initialize chain empty
INIT - Verify rtems_chain_insert
+INIT - Verify _Chain_Initialize_one
INIT - Verify rtems_chain_is_first
INIT - Verify rtems_chain_is_last
INIT - Verify rtems_chain_append_with_empty_check