[rtems commit] sptests/sp36: Remove obsolete test program
Sebastian Huber
sebh at rtems.org
Sun Apr 22 14:17:13 UTC 2018
Module: rtems
Branch: master
Commit: ad071b6884f6066b82d6ec34f03c9b06e8842b3c
Changeset: http://git.rtems.org/rtems/commit/?id=ad071b6884f6066b82d6ec34f03c9b06e8842b3c
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Sun Apr 22 15:54:56 2018 +0200
sptests/sp36: Remove obsolete test program
It tests the (never really working) strict order mutex option. That
option does not exist any more. Mutexes by other good means (spmutex01,
spsem*).
Update #3406.
---
testsuites/sptests/Makefile.am | 8 --
testsuites/sptests/configure.ac | 1 -
testsuites/sptests/sp36/sp36.doc | 42 --------
testsuites/sptests/sp36/sp36.scn | 0
testsuites/sptests/sp36/strict_order_mut.c | 161 -----------------------------
5 files changed, 212 deletions(-)
diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am
index f3cf737..1d8f153 100644
--- a/testsuites/sptests/Makefile.am
+++ b/testsuites/sptests/Makefile.am
@@ -306,14 +306,6 @@ sp35_SOURCES = sp35/priinv.c
sp35_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_sp35) $(support_includes)
endif
-if TEST_sp36
-sp_tests += sp36
-sp_screens += sp36/sp36.scn
-sp_docs += sp36/sp36.doc
-sp36_SOURCES = sp36/strict_order_mut.c
-sp36_CPPFLAGS = $(AM_CPPFLAGS) $(TEST_FLAGS_sp36) $(support_includes)
-endif
-
if TEST_sp37
sp_tests += sp37
sp_screens += sp37/sp37.scn
diff --git a/testsuites/sptests/configure.ac b/testsuites/sptests/configure.ac
index f56d83c..5faf6b6 100644
--- a/testsuites/sptests/configure.ac
+++ b/testsuites/sptests/configure.ac
@@ -72,7 +72,6 @@ RTEMS_TEST_CHECK([sp32])
RTEMS_TEST_CHECK([sp33])
RTEMS_TEST_CHECK([sp34])
RTEMS_TEST_CHECK([sp35])
-RTEMS_TEST_CHECK([sp36])
RTEMS_TEST_CHECK([sp37])
RTEMS_TEST_CHECK([sp38])
RTEMS_TEST_CHECK([sp40])
diff --git a/testsuites/sptests/sp36/sp36.doc b/testsuites/sptests/sp36/sp36.doc
deleted file mode 100644
index d67943b..0000000
--- a/testsuites/sptests/sp36/sp36.doc
+++ /dev/null
@@ -1,42 +0,0 @@
-This is a simple test program to demonstrate strict order mutex.
-
-1)What's strict order mutex ?
-
- In rtems,when a task release a priority_inheritance or
- priority ceiling semaphore,the kernel detect whether
- this task holds priority_inheritance or priority
- ceiling semaphore, if not, set the priority of task
- back to real priority of task.
- This method is right, but in theory, we would like
- to reset the priority after releasing the mutex if
- releasing it in LIFO order.Do it like this can decrease
- the blocking time of a higher priority task .
-
-2)How to enable "strict order mutex " ?
-
- When configuring the rtems , add
- ENABLE_STRICT_ORDER_MUTEX=1
- to your configure parameter.
-
-
-3)About this test program
-
- T0,T1,S0,S1
-
- T0,priority 4
- T1,priority 1
-
- S0,priority inheritance
- S1,priority ceiling,priority ceiling 1
-
- 1,T0 obtain S0 then obtain S1, priority of T0 should be improved to 1
- 2,T0 try to release S0, but not in strict order, return error code
- 3,T0 release S1,the priority of T0 back to 4
- 4,T1 try to obtain S0
- 5,T1 should be blocked and the priority of T0 should be improved to 1
- 6,T0 release S0
- 7,T1 obtain S0
- 8,OVER.
-
-
-
diff --git a/testsuites/sptests/sp36/sp36.scn b/testsuites/sptests/sp36/sp36.scn
deleted file mode 100644
index e69de29..0000000
diff --git a/testsuites/sptests/sp36/strict_order_mut.c b/testsuites/sptests/sp36/strict_order_mut.c
deleted file mode 100644
index f50b207..0000000
--- a/testsuites/sptests/sp36/strict_order_mut.c
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * The license and distribution terms for this file may be
- * found in the file LICENSE in this distribution or at
- * http://www.rtems.org/license/LICENSE.
- */
-
-#define CONFIGURE_INIT
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include <bsp.h>
-#include <stdio.h>
-#include "tmacros.h"
-#include <rtems/score/coremutex.h>
-
-#define BACK_TYPE(_type_in_ptr,_type_out,_type_in_name) \
- ((_type_out *)((unsigned int)_type_in_ptr - \
- (unsigned int)(&((_type_out *)0)->_type_in_name)))
-
-
-/* configuration information */
-
-#define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
-#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
-
-#define CONFIGURE_INITIAL_EXTENSIONS RTEMS_TEST_INITIAL_EXTENSION
-
-#define CONFIGURE_RTEMS_INIT_TASKS_TABLE
-
-#define CONFIGURE_EXTRA_TASK_STACKS (RTEMS_MINIMUM_STACK_SIZE * 3)
-
-#define CONFIGURE_MAXIMUM_TASKS 10
-#define CONFIGURE_MAXIMUM_SEMAPHORES 10
-
-rtems_task Task0(rtems_task_argument ignored);
-rtems_task Task1(rtems_task_argument ignored);
-rtems_task Init(rtems_task_argument ignored);
-rtems_task_priority Get_current_pri(void);
-
-#include <rtems/confdefs.h>
-
-rtems_id Task_id[4];
-rtems_name Task_name[4];
-
-rtems_id Mutex_id[4];
-rtems_name Mutex_name[4];
-
-rtems_task Init(rtems_task_argument ignored)
-{
- rtems_status_code status;
- printf("\n----------------TEST 36 ------------\n");
-
- Mutex_name[0] = rtems_build_name( 'S','0',' ',' ');
- status = rtems_semaphore_create(
- Mutex_name[0],
- 1,
- RTEMS_LOCAL|
- RTEMS_SIMPLE_BINARY_SEMAPHORE|
- RTEMS_PRIORITY,
- 0,
- &Mutex_id[0]
- );
- directive_failed( status, "rtems_semaphore_create of S0");
- printf("Create S0, Inherit_priority\n");
-
- Mutex_name[1] = rtems_build_name( 'S','1',' ',' ');
- status = rtems_semaphore_create(
- Mutex_name[1],
- 1,
- RTEMS_LOCAL|
- RTEMS_SIMPLE_BINARY_SEMAPHORE|
- RTEMS_PRIORITY,
- 1,
- &Mutex_id[1]
- );
- directive_failed( status, "rtems_semaphore_create of S1");
- printf("Create S1, Priority_celling is 1\n");
-
- Mutex_name[2] = rtems_build_name( 'S','Y','N','C');
-
-
- Task_name[0] = rtems_build_name( 'T','0',' ',' ');
- status = rtems_task_create(
- Task_name[0],
- 4,
- RTEMS_MINIMUM_STACK_SIZE *2,
- RTEMS_DEFAULT_MODES,
- RTEMS_DEFAULT_ATTRIBUTES,
- &Task_id[0]
- );
- directive_failed( status,"rtems_task_create of T0");
- printf("Create T0,priority is 4\n");
-
- status = rtems_task_start( Task_id[0],Task0, 0);
- directive_failed( status,"rtems_task_start of T0");
-
- status = rtems_task_delete( RTEMS_SELF);
- directive_failed( status,"rtems_task_delete of INIT");
-}
-
-
-rtems_task Task0(rtems_task_argument ignored)
-{
- rtems_status_code status;
-
- status = rtems_semaphore_obtain( Mutex_id[0], RTEMS_WAIT, 0 );
- printf("T0 rtems_semaphore_obtain - S0\n");
- directive_failed( status,"rtems_semaphore_obtain of S0\n");
- printf("The current priority of T0 is %d\n",Get_current_pri());
-
- status = rtems_semaphore_obtain( Mutex_id[1], RTEMS_WAIT, 0 );
- printf("T0 rtems_semaphore_obtain - S1\n");
- directive_failed( status,"rtems_semaphore_obtain of S1");
- printf("The current priority of T0 is %d\n",Get_current_pri());
-
- status = rtems_semaphore_release(Mutex_id[1]);
- printf("T0 - rtems_semaphore_release - S1\n");
- directive_failed( status,"rtems_semaphore_release of S1\n");
- printf("The current priority of T0 is %d\n",Get_current_pri());
-
- Task_name[1] = rtems_build_name( 'T','1',' ',' ');
- status = rtems_task_create(
- Task_name[1],
- 1,
- RTEMS_MINIMUM_STACK_SIZE *2,
- RTEMS_DEFAULT_MODES,
- RTEMS_DEFAULT_ATTRIBUTES,
- &Task_id[1]
- );
- directive_failed( status , "rtems_task_create of T1\n");
- printf("Create S1,priority is 1\n");
-
- status = rtems_task_start( Task_id[1],Task1, 0);
- directive_failed( status, "rtems_task_start of T1\n");
-
- printf("The current priority of T0 is %d\n",Get_current_pri());
-
- status = rtems_semaphore_release(Mutex_id[0]);
- printf("T0 - rtems_semaphore_release - S0\n");
- directive_failed( status, "rtems_semaphore_release of S0\n");
-}
-
-rtems_task Task1(rtems_task_argument ignored)
-{
- rtems_status_code status;
- status = rtems_semaphore_obtain( Mutex_id[0], RTEMS_WAIT, 0 );
- printf("T1 - rtems_semaphore_obtain - S0");
- directive_failed( status," rtems_semaphore_obtain S0");
-}
-
-rtems_task_priority Get_current_pri(void)
-{
- rtems_status_code status;
- rtems_task_priority pri;
-
- status = rtems_task_set_priority(RTEMS_SELF, RTEMS_CURRENT_PRIORITY, &pri);
- directive_failed( status, " rtems_task_set_priority ");
- return pri;
-}
More information about the vc
mailing list