[rtems commit] tests: Use rtems_task_exit()

Sebastian Huber sebh at rtems.org
Mon Oct 8 05:15:36 UTC 2018


Module:    rtems
Branch:    master
Commit:    51b3cbca11b940d37b791b4d8009c2144db31ac6
Changeset: http://git.rtems.org/rtems/commit/?id=51b3cbca11b940d37b791b4d8009c2144db31ac6

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Thu Oct  4 15:23:25 2018 +0200

tests: Use rtems_task_exit()

Update #3533.

---

 testsuites/libtests/block02/init.c                 |  2 +-
 testsuites/libtests/block03/init.c                 |  2 +-
 testsuites/libtests/block06/init.c                 |  6 ++---
 testsuites/libtests/block07/init.c                 |  6 ++---
 testsuites/libtests/block08/bdbuf_tests.h          |  4 +--
 testsuites/libtests/block10/init.c                 |  4 +--
 testsuites/libtests/capture01/test1.c              | 30 +++++++++++-----------
 testsuites/libtests/cpuuse/init.c                  |  2 +-
 testsuites/libtests/exit01/init.c                  |  3 +--
 testsuites/libtests/exit02/init.c                  |  3 +--
 testsuites/libtests/malloctest/init.c              |  3 +--
 testsuites/libtests/monitor/init.c                 |  3 +--
 testsuites/libtests/stackchk/init.c                |  3 +--
 testsuites/mptests/mp01/init.c                     |  3 +--
 testsuites/mptests/mp01/task1.c                    |  3 +--
 testsuites/mptests/mp03/init.c                     |  3 +--
 testsuites/mptests/mp04/init.c                     |  3 +--
 testsuites/mptests/mp05/init.c                     |  3 +--
 testsuites/mptests/mp06/init.c                     |  3 +--
 testsuites/mptests/mp07/init.c                     |  3 +--
 testsuites/mptests/mp08/init.c                     |  3 +--
 testsuites/mptests/mp09/init.c                     |  3 +--
 testsuites/mptests/mp10/task3.c                    |  3 +--
 testsuites/mptests/mp13/init.c                     |  3 +--
 testsuites/mptests/mp13/task1.c                    |  3 +--
 testsuites/psxtests/psx15/init.c                   |  2 +-
 testsuites/psxtests/psxglobalcon02/init.cc         |  2 +-
 testsuites/psxtests/psxkey03/init.c                |  2 +-
 testsuites/psxtests/psxkey04/init.c                |  4 +--
 testsuites/psxtests/psxkey06/init.c                |  6 ++---
 testsuites/psxtests/psxkey07/init.c                |  2 +-
 testsuites/psxtests/psxkey08/init.c                |  2 +-
 testsuites/psxtests/psxkey09/init.c                |  2 +-
 testsuites/psxtests/psxkey10/init.c                |  2 +-
 testsuites/rhealstone/rhilatency/ilatency.c        |  3 +--
 testsuites/rhealstone/rhmlatency/mlatency.c        |  3 +--
 testsuites/rhealstone/rhtaskpreempt/taskpreempt.c  |  3 +--
 testsuites/rhealstone/rhtaskswitch/taskswitch.c    |  3 +--
 testsuites/samples/base_mp/init.c                  |  2 +-
 testsuites/samples/base_sp/init.c                  |  3 +--
 testsuites/samples/capture/init.c                  |  2 +-
 testsuites/samples/capture/test1.c                 | 30 +++++++++++-----------
 testsuites/samples/fileio/init.c                   |  3 +--
 testsuites/samples/loopback/init.c                 |  6 ++---
 testsuites/samples/pppd/init.c                     |  2 +-
 testsuites/samples/pppd/pppdapp.c                  |  2 +-
 testsuites/samples/ticker/init.c                   |  3 +--
 testsuites/samples/unlimited/init.c                |  2 +-
 testsuites/smptests/smp07/init.c                   |  2 +-
 testsuites/smptests/smp08/init.c                   |  2 +-
 testsuites/smptests/smpschedaffinity01/init.c      |  2 +-
 testsuites/smptests/smpthreadlife01/init.c         |  4 +--
 testsuites/sptests/sp01/init.c                     |  3 +--
 testsuites/sptests/sp02/init.c                     |  3 +--
 testsuites/sptests/sp02/preempt.c                  |  5 +---
 testsuites/sptests/sp02/sp02.scn                   |  4 +--
 testsuites/sptests/sp02/task3.c                    |  3 +--
 testsuites/sptests/sp03/init.c                     |  3 +--
 testsuites/sptests/sp04/init.c                     |  3 +--
 testsuites/sptests/sp05/init.c                     |  3 +--
 testsuites/sptests/sp06/init.c                     |  3 +--
 testsuites/sptests/sp06/task3.c                    |  5 +---
 testsuites/sptests/sp07/init.c                     |  3 +--
 testsuites/sptests/sp07/task1.c                    |  3 +--
 testsuites/sptests/sp07/task2.c                    |  4 +--
 testsuites/sptests/sp11/init.c                     |  3 +--
 testsuites/sptests/sp11/sp11.scn                   |  2 +-
 testsuites/sptests/sp12/init.c                     |  3 +--
 testsuites/sptests/sp12/sp12.scn                   |  4 +--
 testsuites/sptests/sp12/task1.c                    |  5 ++--
 testsuites/sptests/sp12/task2.c                    |  5 ++--
 testsuites/sptests/sp13/init.c                     |  3 +--
 testsuites/sptests/sp13/sp13.scn                   |  2 +-
 testsuites/sptests/sp13/task3.c                    |  5 ++--
 testsuites/sptests/sp14/init.c                     |  3 +--
 testsuites/sptests/sp14/sp14.scn                   |  2 +-
 testsuites/sptests/sp14/task1.c                    |  5 ++--
 testsuites/sptests/sp15/init.c                     |  3 +--
 testsuites/sptests/sp16/init.c                     |  3 +--
 testsuites/sptests/sp16/sp16.scn                   |  4 +--
 testsuites/sptests/sp16/task2.c                    |  5 ++--
 testsuites/sptests/sp16/task5.c                    |  5 ++--
 testsuites/sptests/sp17/init.c                     |  3 +--
 testsuites/sptests/sp19/first.c                    |  3 +--
 testsuites/sptests/sp19/fptask.c                   |  5 ++--
 testsuites/sptests/sp19/init.c                     |  3 +--
 testsuites/sptests/sp20/init.c                     |  3 +--
 testsuites/sptests/sp22/init.c                     |  3 +--
 testsuites/sptests/sp23/init.c                     |  3 +--
 testsuites/sptests/sp24/init.c                     |  3 +--
 testsuites/sptests/sp25/init.c                     |  3 +--
 testsuites/sptests/sp30/init.c                     |  3 +--
 testsuites/sptests/sp31/init.c                     |  3 +--
 testsuites/sptests/sp33/init.c                     |  2 +-
 testsuites/sptests/sp34/changepri.c                |  2 +-
 testsuites/sptests/sp35/priinv.c                   |  2 +-
 testsuites/sptests/sp37/init.c                     |  3 +--
 testsuites/sptests/sp42/init.c                     |  2 +-
 testsuites/sptests/sp46/init.c                     |  2 +-
 testsuites/sptests/sp47/init.c                     |  2 +-
 testsuites/sptests/sp59/init.c                     |  2 +-
 testsuites/sptests/sp62/init.c                     |  2 +-
 testsuites/sptests/sp73/init.c                     |  3 +--
 testsuites/sptests/spcbssched01/init.c             |  3 +--
 testsuites/sptests/spcbssched02/task_periodic.c    |  3 +--
 testsuites/sptests/spcbssched03/init.c             |  3 +--
 testsuites/sptests/spcbssched03/tasks_aperiodic.c  |  3 +--
 testsuites/sptests/spedfsched01/init.c             |  3 +--
 testsuites/sptests/spedfsched02/init.c             |  3 +--
 testsuites/sptests/spedfsched03/init.c             |  3 +--
 testsuites/sptests/spedfsched03/tasks_aperiodic.c  |  3 +--
 testsuites/sptests/spedfsched04/init.c             |  3 +--
 testsuites/sptests/speventtransient01/init.c       |  3 +--
 testsuites/sptests/spfatal28/testcase.h            |  3 +--
 testsuites/sptests/spfatal29/testcase.h            |  3 +--
 testsuites/sptests/spfifo03/init.c                 |  2 +-
 testsuites/sptests/spfifo05/init.c                 |  2 +-
 testsuites/sptests/spmrsp01/init.c                 |  2 +-
 testsuites/sptests/spmsgq_err02/spmsgq_err02.scn   |  2 +-
 testsuites/sptests/spmsgq_err02/task3.c            |  5 ++--
 testsuites/sptests/spprivenv01/init.c              |  2 +-
 testsuites/sptests/spqreslib/init.c                |  3 +--
 .../sptests/spratemon_err01/spratemon_err01.scn    |  2 +-
 testsuites/sptests/spratemon_err01/task4.c         |  5 ++--
 testsuites/sptests/sprmsched01/init.c              |  3 +--
 testsuites/sptests/spsem01/init.c                  |  3 +--
 testsuites/sptests/spsem02/init.c                  |  6 ++---
 testsuites/sptests/spsem_err02/task2.c             |  3 +--
 testsuites/sptests/spsimplesched01/init.c          |  3 +--
 testsuites/sptests/spstdthreads01/init.c           |  2 +-
 testsuites/sptests/sptask_err01/sptask_err01.scn   |  2 +-
 testsuites/sptests/sptask_err01/task2.c            |  7 ++---
 testsuites/sptests/sptask_err04/init.c             |  3 +--
 testsuites/sptests/spwatchdog/init.c               |  7 ++---
 testsuites/tmtests/tm01/task1.c                    |  4 +--
 testsuites/tmtests/tm03/task1.c                    |  3 +--
 testsuites/tmtests/tm04/task1.c                    |  9 ++-----
 testsuites/tmtests/tm05/task1.c                    |  3 +--
 testsuites/tmtests/tm06/task1.c                    |  3 +--
 testsuites/tmtests/tm07/task1.c                    |  3 +--
 testsuites/tmtests/tm08/task1.c                    |  5 +---
 testsuites/tmtests/tm09/task1.c                    |  3 +--
 testsuites/tmtests/tm10/task1.c                    |  3 +--
 testsuites/tmtests/tm11/task1.c                    |  3 +--
 testsuites/tmtests/tm12/task1.c                    |  3 +--
 testsuites/tmtests/tm13/task1.c                    |  3 +--
 testsuites/tmtests/tm14/task1.c                    |  3 +--
 testsuites/tmtests/tm15/task1.c                    |  5 +---
 testsuites/tmtests/tm16/task1.c                    |  3 +--
 testsuites/tmtests/tm17/task1.c                    |  3 +--
 testsuites/tmtests/tm18/task1.c                    |  9 +++----
 testsuites/tmtests/tm19/task1.c                    |  3 +--
 testsuites/tmtests/tm20/task1.c                    |  8 ++----
 testsuites/tmtests/tm21/task1.c                    |  3 +--
 testsuites/tmtests/tm22/task1.c                    |  3 +--
 testsuites/tmtests/tm23/task1.c                    |  3 +--
 testsuites/tmtests/tm24/task1.c                    |  7 ++---
 testsuites/tmtests/tm25/task1.c                    |  3 +--
 testsuites/tmtests/tm26/task1.c                    |  3 +--
 testsuites/tmtests/tm27/task1.c                    |  3 +--
 testsuites/tmtests/tm28/task1.c                    |  3 +--
 testsuites/tmtests/tm29/task1.c                    |  3 +--
 testsuites/tmtests/tmck/task1.c                    |  3 +--
 testsuites/tmtests/tmoverhd/testtask.c             |  3 +--
 164 files changed, 223 insertions(+), 365 deletions(-)

diff --git a/testsuites/libtests/block02/init.c b/testsuites/libtests/block02/init.c
index 983f876..d65df94 100644
--- a/testsuites/libtests/block02/init.c
+++ b/testsuites/libtests/block02/init.c
@@ -127,7 +127,7 @@ static void task_high(rtems_task_argument arg)
 
   printk("H: release done: B0\n");
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void do_ramdisk_register(
diff --git a/testsuites/libtests/block03/init.c b/testsuites/libtests/block03/init.c
index 2bab878..55f2398 100644
--- a/testsuites/libtests/block03/init.c
+++ b/testsuites/libtests/block03/init.c
@@ -121,7 +121,7 @@ static void task_high(rtems_task_argument arg)
 
   printk("H: release done: 1\n");
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void do_ramdisk_register(
diff --git a/testsuites/libtests/block06/init.c b/testsuites/libtests/block06/init.c
index 7c6facf..b134e5d 100644
--- a/testsuites/libtests/block06/init.c
+++ b/testsuites/libtests/block06/init.c
@@ -1168,7 +1168,7 @@ bdbuf_tests_task_0 (rtems_task_argument arg)
   }
 
   printf ("%s: delete task\n", tc->name);
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 /**
@@ -1262,7 +1262,7 @@ bdbuf_tests_task_1 (rtems_task_argument arg)
   }
 
   printf ("%s: delete task\n", tc->name);
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 /**
@@ -1310,7 +1310,7 @@ bdbuf_tests_task_2 (rtems_task_argument arg)
   }
 
   printf ("%s: delete task\n", tc->name);
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 /**
diff --git a/testsuites/libtests/block07/init.c b/testsuites/libtests/block07/init.c
index e0f7ecc..05bfff9 100644
--- a/testsuites/libtests/block07/init.c
+++ b/testsuites/libtests/block07/init.c
@@ -127,7 +127,7 @@ static void task_mid(rtems_task_argument arg)
 
   printf("M: release done: 0\n");
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void task_high(rtems_task_argument arg)
@@ -153,7 +153,7 @@ static void task_high(rtems_task_argument arg)
 
   printf("H: release done: 0\n");
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void do_ramdisk_register(
@@ -267,7 +267,7 @@ static rtems_task Init(rtems_task_argument argument)
 
   printf("I: release done: 0\n");
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 #define CONFIGURE_INIT
diff --git a/testsuites/libtests/block08/bdbuf_tests.h b/testsuites/libtests/block08/bdbuf_tests.h
index 8924eb1..eea2661 100644
--- a/testsuites/libtests/block08/bdbuf_tests.h
+++ b/testsuites/libtests/block08/bdbuf_tests.h
@@ -445,7 +445,7 @@ extern bdbuf_test_msg test_drv_msg;
         {                                       \
             printk("TEST FAILED (Step %s)\n",   \
                    step_);                      \
-            rtems_task_delete(RTEMS_SELF);      \
+            rtems_task_exit();                  \
         }                                       \
         else                                    \
         {                                       \
@@ -475,7 +475,7 @@ extern bdbuf_test_msg test_drv_msg;
                    "main task: %d", rc_);                       \
             return;                                             \
         }                                                       \
-        rtems_task_delete(RTEMS_SELF);                          \
+        rtems_task_exit();                                      \
     } while (0)
 
 #define TEST_FAILED() \
diff --git a/testsuites/libtests/block10/init.c b/testsuites/libtests/block10/init.c
index d5ac44a..89f1ac2 100644
--- a/testsuites/libtests/block10/init.c
+++ b/testsuites/libtests/block10/init.c
@@ -249,7 +249,7 @@ static void task_purger(rtems_task_argument arg)
     purge('P');
   }
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void activate_purger(rtems_task_priority prio)
@@ -270,7 +270,7 @@ static void task_waiter(rtems_task_argument arg)
     do_rel('W', bd);
   }
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void create_waiter(void)
diff --git a/testsuites/libtests/capture01/test1.c b/testsuites/libtests/capture01/test1.c
index 48d08c4..c03c08b 100644
--- a/testsuites/libtests/capture01/test1.c
+++ b/testsuites/libtests/capture01/test1.c
@@ -66,7 +66,7 @@ capture_CT1a (rtems_task_argument arg)
 
   capture_CT1a_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void
@@ -79,7 +79,7 @@ capture_CT1b (rtems_task_argument arg)
 
   capture_CT1b_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void
@@ -102,7 +102,7 @@ capture_CT1c (rtems_task_argument arg)
 
   capture_CT1c_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 void capture_test_1 ()
@@ -149,7 +149,7 @@ void capture_test_1 ()
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1a: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -166,7 +166,7 @@ void capture_test_1 ()
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot create CT1b: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -176,8 +176,8 @@ void capture_test_1 ()
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1b: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -194,8 +194,8 @@ void capture_test_1 ()
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot create CT1c: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -205,9 +205,9 @@ void capture_test_1 ()
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1c: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[2]);
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -224,9 +224,9 @@ void capture_test_1 ()
   if (!loops)
   {
     printf ("error: Test 1: test tasks did not delete\n");
-    rtems_task_delete (id[2]);
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
+    rtems_task_exit();
   }
 
   sc = rtems_semaphore_delete (mutex);
diff --git a/testsuites/libtests/cpuuse/init.c b/testsuites/libtests/cpuuse/init.c
index 11fb273..42dcaa5 100644
--- a/testsuites/libtests/cpuuse/init.c
+++ b/testsuites/libtests/cpuuse/init.c
@@ -110,5 +110,5 @@ rtems_task Init(
    * times will not add up to the time since last CPU Usage Reset.
    */
   status = rtems_task_suspend( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  directive_failed( status, "rtems_task_suspend of RTEMS_SELF" );
 }
diff --git a/testsuites/libtests/exit01/init.c b/testsuites/libtests/exit01/init.c
index 82e59a6..f8784ec 100644
--- a/testsuites/libtests/exit01/init.c
+++ b/testsuites/libtests/exit01/init.c
@@ -101,8 +101,7 @@ static void Init(rtems_task_argument arg)
   sc = rtems_task_start(id, exit_task, 0);
   assert(sc == RTEMS_SUCCESSFUL);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 }
 
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
diff --git a/testsuites/libtests/exit02/init.c b/testsuites/libtests/exit02/init.c
index 19a1517..67eb1c9 100644
--- a/testsuites/libtests/exit02/init.c
+++ b/testsuites/libtests/exit02/init.c
@@ -79,8 +79,7 @@ static void Init(rtems_task_argument arg)
   sc = rtems_task_start(id, exit_task, 0);
   assert(sc == RTEMS_SUCCESSFUL);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 }
 
 #define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
diff --git a/testsuites/libtests/malloctest/init.c b/testsuites/libtests/malloctest/init.c
index 577f557..a775129 100644
--- a/testsuites/libtests/malloctest/init.c
+++ b/testsuites/libtests/malloctest/init.c
@@ -1372,8 +1372,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 5 ], Task_1_through_5, 0 );
   directive_failed( status, "rtems_task_start of TA5" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 static void test_early_malloc( void )
diff --git a/testsuites/libtests/monitor/init.c b/testsuites/libtests/monitor/init.c
index 1511228..6fe78a1 100644
--- a/testsuites/libtests/monitor/init.c
+++ b/testsuites/libtests/monitor/init.c
@@ -86,8 +86,7 @@ rtems_task Init(
   if (status == RTEMS_SUCCESSFUL) {
     rtems_monitor_init( 0 );
 
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+    rtems_task_exit();
   } else {
     TEST_END();
 
diff --git a/testsuites/libtests/stackchk/init.c b/testsuites/libtests/stackchk/init.c
index 72e3c23..2ded41a 100644
--- a/testsuites/libtests/stackchk/init.c
+++ b/testsuites/libtests/stackchk/init.c
@@ -84,8 +84,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_1_through_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void Fatal_extension(
diff --git a/testsuites/mptests/mp01/init.c b/testsuites/mptests/mp01/init.c
index 9e1a1a7..d5017af 100644
--- a/testsuites/mptests/mp01/init.c
+++ b/testsuites/mptests/mp01/init.c
@@ -92,6 +92,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Test_task, 0 );
   directive_failed( status, "rtems_task_start of Task 3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp01/task1.c b/testsuites/mptests/mp01/task1.c
index 1ee3634..50821e1 100644
--- a/testsuites/mptests/mp01/task1.c
+++ b/testsuites/mptests/mp01/task1.c
@@ -55,8 +55,7 @@ rtems_task Test_task(
   if ( task_number(tid) == 1 ) {          /* TASK 1 */
     put_name( Task_name[ 1 ], FALSE );
     printf( " - deleting self\n" );
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+    rtems_task_exit();
   }
   else if ( task_number(tid) == 2 ) {     /* TASK 2 */
     put_name( Task_name[ 2 ], FALSE );
diff --git a/testsuites/mptests/mp03/init.c b/testsuites/mptests/mp03/init.c
index 9607a44..533d321 100644
--- a/testsuites/mptests/mp03/init.c
+++ b/testsuites/mptests/mp03/init.c
@@ -61,6 +61,5 @@ rtems_task Init(
   directive_failed( status, "rtems_timer_create" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp04/init.c b/testsuites/mptests/mp04/init.c
index 5fbcaf8..3e3d8cd 100644
--- a/testsuites/mptests/mp04/init.c
+++ b/testsuites/mptests/mp04/init.c
@@ -56,6 +56,5 @@ rtems_task Init(
   directive_failed( status, "rtems_task_start" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp05/init.c b/testsuites/mptests/mp05/init.c
index 9ecac0e..a2d4002 100644
--- a/testsuites/mptests/mp05/init.c
+++ b/testsuites/mptests/mp05/init.c
@@ -61,6 +61,5 @@ rtems_task Init(
   directive_failed( status, "rtems_timer_create" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp06/init.c b/testsuites/mptests/mp06/init.c
index 3907517..5598d32 100644
--- a/testsuites/mptests/mp06/init.c
+++ b/testsuites/mptests/mp06/init.c
@@ -61,6 +61,5 @@ rtems_task Init(
   directive_failed( status, "rtems_timer_create" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp07/init.c b/testsuites/mptests/mp07/init.c
index 4bf3d57..1aa51a3 100644
--- a/testsuites/mptests/mp07/init.c
+++ b/testsuites/mptests/mp07/init.c
@@ -61,6 +61,5 @@ rtems_task Init(
   directive_failed( status, "rtems_timer_create" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp08/init.c b/testsuites/mptests/mp08/init.c
index a4e1ad4..859b311 100644
--- a/testsuites/mptests/mp08/init.c
+++ b/testsuites/mptests/mp08/init.c
@@ -70,6 +70,5 @@ rtems_task Init(
   directive_failed( status, "rtems_task_start" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp09/init.c b/testsuites/mptests/mp09/init.c
index 8f64a3a..97237c3 100644
--- a/testsuites/mptests/mp09/init.c
+++ b/testsuites/mptests/mp09/init.c
@@ -70,6 +70,5 @@ rtems_task Init(
   directive_failed( status, "rtems_task_start" );
 
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp10/task3.c b/testsuites/mptests/mp10/task3.c
index fa27a34..2554e4d 100644
--- a/testsuites/mptests/mp10/task3.c
+++ b/testsuites/mptests/mp10/task3.c
@@ -27,8 +27,7 @@ rtems_task_argument restart;
   rtems_status_code status;
 
   if ( restart == 1 ) {
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "rtems_task_delete" );
+    rtems_task_exit();
   }
 
   puts( "Getting SMID of semaphore" );
diff --git a/testsuites/mptests/mp13/init.c b/testsuites/mptests/mp13/init.c
index e82a1d1..af54569 100644
--- a/testsuites/mptests/mp13/init.c
+++ b/testsuites/mptests/mp13/init.c
@@ -111,6 +111,5 @@ rtems_task Init(
     rtems_test_exit( 0 );
   }
   puts( "Deleting initialization task" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/mptests/mp13/task1.c b/testsuites/mptests/mp13/task1.c
index e6cbeda..563c9f5 100644
--- a/testsuites/mptests/mp13/task1.c
+++ b/testsuites/mptests/mp13/task1.c
@@ -69,6 +69,5 @@ rtems_task Test_task1(
   puts( "rtems_message_queue_receive correctly returned RTEMS_TIMEOUT" );
 
   puts( "Deleting self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/psxtests/psx15/init.c b/testsuites/psxtests/psx15/init.c
index 74fbfb9..03ddf71 100644
--- a/testsuites/psxtests/psx15/init.c
+++ b/testsuites/psxtests/psx15/init.c
@@ -60,7 +60,7 @@ static void suicide_task(rtems_task_argument arg)
 
   printf("suicide task %d\n", me);
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
   rtems_test_assert(false);
 }
 
diff --git a/testsuites/psxtests/psxglobalcon02/init.cc b/testsuites/psxtests/psxglobalcon02/init.cc
index 0ce5bdc..be54858 100644
--- a/testsuites/psxtests/psxglobalcon02/init.cc
+++ b/testsuites/psxtests/psxglobalcon02/init.cc
@@ -44,7 +44,7 @@ extern "C" void Init(rtems_task_argument argument)
 
   rtems_init_done = true;
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
   rtems_test_assert(0);
 }
 
diff --git a/testsuites/psxtests/psxkey03/init.c b/testsuites/psxtests/psxkey03/init.c
index 6d57b28..8f0a890 100644
--- a/testsuites/psxtests/psxkey03/init.c
+++ b/testsuites/psxtests/psxkey03/init.c
@@ -42,7 +42,7 @@ rtems_task Test_Thread( rtems_task_argument value )
   rtems_test_assert( !sc );
 
   puts( "Test_Thread - pthread_exit to run key destructors - OK" );
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(rtems_task_argument ignored)
diff --git a/testsuites/psxtests/psxkey04/init.c b/testsuites/psxtests/psxkey04/init.c
index 34e52c8..d42633c 100644
--- a/testsuites/psxtests/psxkey04/init.c
+++ b/testsuites/psxtests/psxkey04/init.c
@@ -49,7 +49,7 @@ rtems_task Test_Thread1( rtems_task_argument argument )
   value = pthread_getspecific( Key );
   rtems_test_assert( *value == Data_array[0] );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Test_Thread2( rtems_task_argument argument )
@@ -65,7 +65,7 @@ rtems_task Test_Thread2( rtems_task_argument argument )
   value = pthread_getspecific( Key );
   rtems_test_assert( *value == Data_array[1] );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init( rtems_task_argument ignored )
diff --git a/testsuites/psxtests/psxkey06/init.c b/testsuites/psxtests/psxkey06/init.c
index 2b64c47..aa59777 100644
--- a/testsuites/psxtests/psxkey06/init.c
+++ b/testsuites/psxtests/psxkey06/init.c
@@ -74,7 +74,7 @@ static rtems_task Test_Thread1( rtems_task_argument argument )
   value = pthread_getspecific( key2 );
   rtems_test_assert( *value == Data_array[1] );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 static rtems_task Test_Thread2( rtems_task_argument argument )
@@ -98,7 +98,7 @@ static rtems_task Test_Thread2( rtems_task_argument argument )
   value = pthread_getspecific( key2 );
   rtems_test_assert( *value == Data_array[3] );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 static void Key3_Destructor( void *value )
@@ -125,7 +125,7 @@ static rtems_task Test_Thread3( rtems_task_argument argument )
     rtems_task_restart( RTEMS_SELF, 1 );
   } else if ( argument == 1 ) {
     Wake_Up_Master();
-    rtems_task_delete( RTEMS_SELF );
+    rtems_task_exit();
   }
 
   rtems_test_assert( false );
diff --git a/testsuites/psxtests/psxkey07/init.c b/testsuites/psxtests/psxkey07/init.c
index ffe4d5a..378349b 100644
--- a/testsuites/psxtests/psxkey07/init.c
+++ b/testsuites/psxtests/psxkey07/init.c
@@ -56,7 +56,7 @@ rtems_task Test_Thread(rtems_task_argument argument)
   rtems_test_assert( value_p == value_p2 );
   ++got_thread_count;
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(rtems_task_argument argument)
diff --git a/testsuites/psxtests/psxkey08/init.c b/testsuites/psxtests/psxkey08/init.c
index 3b8bdae..e5277ba 100644
--- a/testsuites/psxtests/psxkey08/init.c
+++ b/testsuites/psxtests/psxkey08/init.c
@@ -53,7 +53,7 @@ static rtems_task test_task(rtems_task_argument arg)
   rtems_test_assert( value_p == value_p2 );
   ++got_task_count;
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 static rtems_task Init(rtems_task_argument arg)
diff --git a/testsuites/psxtests/psxkey09/init.c b/testsuites/psxtests/psxkey09/init.c
index 472e90c..ac346b4 100644
--- a/testsuites/psxtests/psxkey09/init.c
+++ b/testsuites/psxtests/psxkey09/init.c
@@ -44,7 +44,7 @@ rtems_task Test_Thread( rtems_task_argument arg )
   rtems_test_assert( !sc );
 
   puts( "Test_Thread - pthread_exit to run key destructors - OK" );
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init( rtems_task_argument ignored )
diff --git a/testsuites/psxtests/psxkey10/init.c b/testsuites/psxtests/psxkey10/init.c
index 6273f1d..0cd24c0 100644
--- a/testsuites/psxtests/psxkey10/init.c
+++ b/testsuites/psxtests/psxkey10/init.c
@@ -49,7 +49,7 @@ rtems_task Test_Thread( rtems_task_argument arg )
   rtems_test_assert( sc == 0 );
 
   puts( "Test_Thread - exit but don't run key destructors - OK" );
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init( rtems_task_argument ignored )
diff --git a/testsuites/rhealstone/rhilatency/ilatency.c b/testsuites/rhealstone/rhilatency/ilatency.c
index fa8b8ba..f4a4507 100644
--- a/testsuites/rhealstone/rhilatency/ilatency.c
+++ b/testsuites/rhealstone/rhilatency/ilatency.c
@@ -88,8 +88,7 @@ rtems_task Init(
   benchmark_timer_initialize();
   timer_overhead = benchmark_timer_read();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task_1(
diff --git a/testsuites/rhealstone/rhmlatency/mlatency.c b/testsuites/rhealstone/rhmlatency/mlatency.c
index 89d4d8d..a61e191 100644
--- a/testsuites/rhealstone/rhmlatency/mlatency.c
+++ b/testsuites/rhealstone/rhmlatency/mlatency.c
@@ -79,8 +79,7 @@ void Init(
   status = rtems_task_start( Task_id[0], Task01, 0 );
   directive_failed( status, "rtems_task_start of TA01" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task01( rtems_task_argument ignored )
diff --git a/testsuites/rhealstone/rhtaskpreempt/taskpreempt.c b/testsuites/rhealstone/rhtaskpreempt/taskpreempt.c
index 490f4dc..c5d2b6c 100644
--- a/testsuites/rhealstone/rhtaskpreempt/taskpreempt.c
+++ b/testsuites/rhealstone/rhtaskpreempt/taskpreempt.c
@@ -107,8 +107,7 @@ rtems_task Init( rtems_task_argument ignored )
   status = rtems_task_start( Task_id[0], Task01, 0 );
   directive_failed( status, "rtems_task_start of TA01");
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of INIT");
+  rtems_task_exit();
 }
 
 /* configuration information */
diff --git a/testsuites/rhealstone/rhtaskswitch/taskswitch.c b/testsuites/rhealstone/rhtaskswitch/taskswitch.c
index 0806a67..a2cef9f 100644
--- a/testsuites/rhealstone/rhtaskswitch/taskswitch.c
+++ b/testsuites/rhealstone/rhtaskswitch/taskswitch.c
@@ -109,8 +109,7 @@ rtems_task Init( rtems_task_argument ignored )
   status = rtems_task_start( Task_id[0], Task01, 0);
   directive_failed( status, "rtems_task_start of TA01" );
 
-  status = rtems_task_delete( RTEMS_SELF);
-  directive_failed( status, "rtems_task_delete of INIT" );
+  rtems_task_exit();
 }
 
 /* configuration information */
diff --git a/testsuites/samples/base_mp/init.c b/testsuites/samples/base_mp/init.c
index 901dc83..608b0de 100644
--- a/testsuites/samples/base_mp/init.c
+++ b/testsuites/samples/base_mp/init.c
@@ -44,5 +44,5 @@ rtems_task Init(
   );
   rtems_test_assert(status == RTEMS_SUCCESSFUL);
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
diff --git a/testsuites/samples/base_sp/init.c b/testsuites/samples/base_sp/init.c
index b1cb4d9..071913a 100644
--- a/testsuites/samples/base_sp/init.c
+++ b/testsuites/samples/base_sp/init.c
@@ -43,6 +43,5 @@ rtems_task Init(
   status = rtems_task_start( tid, Application_task, ARGUMENT );
   directive_failed( status, "start" ); 
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" ); 
+  rtems_task_exit();
 }
diff --git a/testsuites/samples/capture/init.c b/testsuites/samples/capture/init.c
index e87a7be..2bf395f 100644
--- a/testsuites/samples/capture/init.c
+++ b/testsuites/samples/capture/init.c
@@ -67,7 +67,7 @@ rtems_task Init(
 
     setup_tasks_to_watch ();
 
-    rtems_task_delete (RTEMS_SELF);
+    rtems_task_exit();
   } else {
     TEST_END();
     rtems_test_exit( 0 );
diff --git a/testsuites/samples/capture/test1.c b/testsuites/samples/capture/test1.c
index 19b7b4f..2f4193a 100644
--- a/testsuites/samples/capture/test1.c
+++ b/testsuites/samples/capture/test1.c
@@ -66,7 +66,7 @@ capture_CT1a (rtems_task_argument arg)
 
   capture_CT1a_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void
@@ -79,7 +79,7 @@ capture_CT1b (rtems_task_argument arg)
 
   capture_CT1b_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void
@@ -102,7 +102,7 @@ capture_CT1c (rtems_task_argument arg)
 
   capture_CT1c_deleted = 1;
 
-  rtems_task_delete (RTEMS_SELF);
+  rtems_task_exit();
 }
 
 static void
@@ -153,7 +153,7 @@ capture_test_1 (int                                argc,
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1a: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -170,7 +170,7 @@ capture_test_1 (int                                argc,
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot create CT1b: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -180,8 +180,8 @@ capture_test_1 (int                                argc,
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1b: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -198,8 +198,8 @@ capture_test_1 (int                                argc,
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot create CT1c: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -209,9 +209,9 @@ capture_test_1 (int                                argc,
   if (sc != RTEMS_SUCCESSFUL)
   {
     printf ("error: Test 1: cannot start CT1c: %s\n", rtems_status_text (sc));
-    rtems_task_delete (id[2]);
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
+    rtems_task_exit();
     rtems_semaphore_delete (mutex);
     return;
   }
@@ -228,9 +228,9 @@ capture_test_1 (int                                argc,
   if (!loops)
   {
     printf ("error: Test 1: test tasks did not delete\n");
-    rtems_task_delete (id[2]);
-    rtems_task_delete (id[1]);
-    rtems_task_delete (id[0]);
+    rtems_task_exit();
+    rtems_task_exit();
+    rtems_task_exit();
   }
 
   sc = rtems_semaphore_delete (mutex);
diff --git a/testsuites/samples/fileio/init.c b/testsuites/samples/fileio/init.c
index f86593c..3bb7fcc 100644
--- a/testsuites/samples/fileio/init.c
+++ b/testsuites/samples/fileio/init.c
@@ -1171,8 +1171,7 @@ Init (rtems_task_argument ignored)
     status = rtems_task_start( Task_id, fileio_task, 1 );
     directive_failed( status, "start" ); 
 
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "delete" ); 
+    rtems_task_exit();
   } else {
     TEST_END();
 
diff --git a/testsuites/samples/loopback/init.c b/testsuites/samples/loopback/init.c
index 5cbbd54..672eeed 100644
--- a/testsuites/samples/loopback/init.c
+++ b/testsuites/samples/loopback/init.c
@@ -120,7 +120,7 @@ static rtems_task workerTask(rtems_task_argument arg)
     if (close(s) < 0)
         printf("Can't close worker task socket: %s\n", strerror(errno));
     printf("Worker task terminating.\n");
-    rtems_task_delete(RTEMS_SELF);
+    rtems_task_exit();
 }
 
 /*
@@ -152,7 +152,7 @@ static rtems_task serverTask(rtems_task_argument arg)
         s1 = accept(s, (struct sockaddr *)&farAddr, &addrlen);
         if (s1 < 0)
             if (errno == ENXIO)
-                rtems_task_delete(RTEMS_SELF);
+                rtems_task_exit();
             else
                 rtems_panic("Can't accept connection: %s", strerror(errno));
         else
@@ -220,7 +220,7 @@ static rtems_task clientTask(rtems_task_argument arg)
 {
     clientWorker(arg);
     printf("Client task terminating.\n");
-    rtems_task_delete( RTEMS_SELF );
+    rtems_task_exit();
 }
 
 /*
diff --git a/testsuites/samples/pppd/init.c b/testsuites/samples/pppd/init.c
index 6e04c34..95e0d53 100644
--- a/testsuites/samples/pppd/init.c
+++ b/testsuites/samples/pppd/init.c
@@ -57,5 +57,5 @@ rtems_task Init(rtems_task_argument argument)
   rtems_bsdnet_initialize_network();
   rtems_pppd_initialize();
   pppdapp_initialize();
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
diff --git a/testsuites/samples/pppd/pppdapp.c b/testsuites/samples/pppd/pppdapp.c
index 0eb789d..bf8cd52 100644
--- a/testsuites/samples/pppd/pppdapp.c
+++ b/testsuites/samples/pppd/pppdapp.c
@@ -125,7 +125,7 @@ static rtems_task pppdapp(rtems_task_argument arg)
   }
 
   /* terminate myself */
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 int pppdapp_initialize(void)
diff --git a/testsuites/samples/ticker/init.c b/testsuites/samples/ticker/init.c
index 3f3cbd8..a9e0c9b 100644
--- a/testsuites/samples/ticker/init.c
+++ b/testsuites/samples/ticker/init.c
@@ -74,6 +74,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Test_task, 3 );
   directive_failed( status, "start 3" ); 
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" ); 
+  rtems_task_exit();
 }
diff --git a/testsuites/samples/unlimited/init.c b/testsuites/samples/unlimited/init.c
index 002a973..77f4ded 100644
--- a/testsuites/samples/unlimited/init.c
+++ b/testsuites/samples/unlimited/init.c
@@ -66,7 +66,7 @@ rtems_task test_task(
 
   printf( "task %u ending.\n",  my_n);
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 void destroy_all_tasks(
diff --git a/testsuites/smptests/smp07/init.c b/testsuites/smptests/smp07/init.c
index d2e9625..66e2da3 100644
--- a/testsuites/smptests/smp07/init.c
+++ b/testsuites/smptests/smp07/init.c
@@ -68,7 +68,7 @@ rtems_task Test_task(
     name
   );
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 
diff --git a/testsuites/smptests/smp08/init.c b/testsuites/smptests/smp08/init.c
index f167fb2..ba0c7ff 100644
--- a/testsuites/smptests/smp08/init.c
+++ b/testsuites/smptests/smp08/init.c
@@ -93,5 +93,5 @@ rtems_task Init(
     directive_failed( status, "task start" );
   }
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
diff --git a/testsuites/smptests/smpschedaffinity01/init.c b/testsuites/smptests/smpschedaffinity01/init.c
index 5e27f61..770830f 100644
--- a/testsuites/smptests/smpschedaffinity01/init.c
+++ b/testsuites/smptests/smpschedaffinity01/init.c
@@ -73,7 +73,7 @@ static void task(rtems_task_argument arg)
   task_data[arg].ran = true;
   task_data[arg].actual_cpu = cpu;
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 static void test(void)
diff --git a/testsuites/smptests/smpthreadlife01/init.c b/testsuites/smptests/smpthreadlife01/init.c
index 489dd95..b47fbe9 100644
--- a/testsuites/smptests/smpthreadlife01/init.c
+++ b/testsuites/smptests/smpthreadlife01/init.c
@@ -264,15 +264,13 @@ static void test_set_life_protection(rtems_task_argument variant)
 static void delay_switch_task(rtems_task_argument arg)
 {
   test_context *ctx = &test_instance;
-  rtems_status_code sc;
 
   ctx->delay_switch_for_executing = _Thread_Get_executing();
 
   /* (D) */
   barrier(ctx, &ctx->worker_barrier_state);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 }
 
 static void test_wait_for_execution_stop(void)
diff --git a/testsuites/sptests/sp01/init.c b/testsuites/sptests/sp01/init.c
index 4d73804..2b1b23e 100644
--- a/testsuites/sptests/sp01/init.c
+++ b/testsuites/sptests/sp01/init.c
@@ -69,6 +69,5 @@ rtems_task Init(
   status = rtems_task_start( id, Task_1_through_3, 3 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp02/init.c b/testsuites/sptests/sp02/init.c
index d7ff317..170e544 100644
--- a/testsuites/sptests/sp02/init.c
+++ b/testsuites/sptests/sp02/init.c
@@ -137,6 +137,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp02/preempt.c b/testsuites/sptests/sp02/preempt.c
index b84bb87..ebc484b 100644
--- a/testsuites/sptests/sp02/preempt.c
+++ b/testsuites/sptests/sp02/preempt.c
@@ -17,9 +17,6 @@ rtems_task Preempt_task(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   puts( "PREEMPT - rtems_task_delete - deleting self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_PREEMPT" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp02/sp02.scn b/testsuites/sptests/sp02/sp02.scn
index 01f22f6..6568c2a 100644
--- a/testsuites/sptests/sp02/sp02.scn
+++ b/testsuites/sptests/sp02/sp02.scn
@@ -1,6 +1,6 @@
 *** TEST 2 ***
 INIT - rtems_task_wake_after - yielding processor
-PREEMPT - rtems_task_delete - deleting self
+PREEMPT - rtems_task_exit
 INIT - suspending TA2 while middle task on a ready chain
 TA1 - rtems_task_wake_after - sleep 1 second
 TA2 - rtems_task_wake_after - sleep 1 minute
@@ -11,5 +11,5 @@ TA1 - rtems_task_set_priority - set TA3's priority to 2
 TA1 - rtems_task_suspend - suspend TA2
 TA1 - rtems_task_delete - delete TA2
 TA1 - rtems_task_wake_after - sleep for 5 seconds
-TA3 - rtems_task_delete - delete self
+TA3 - rtems_task_exit
 *** END OF TEST 2 ***
diff --git a/testsuites/sptests/sp02/task3.c b/testsuites/sptests/sp02/task3.c
index d696386..9c43bba 100644
--- a/testsuites/sptests/sp02/task3.c
+++ b/testsuites/sptests/sp02/task3.c
@@ -24,6 +24,5 @@ rtems_task Task_3(
   directive_failed( status, "rtems_task_wake_after in TA3" );
 
   puts( "TA3 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA3" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp03/init.c b/testsuites/sptests/sp03/init.c
index 1f02eb6..fa423fc 100644
--- a/testsuites/sptests/sp03/init.c
+++ b/testsuites/sptests/sp03/init.c
@@ -51,6 +51,5 @@ rtems_task Init(
   status = rtems_task_start( id, Task_2, 0 );
   directive_failed( status, "rtems_task_start of TA2" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp04/init.c b/testsuites/sptests/sp04/init.c
index e7bc793..11aae46 100644
--- a/testsuites/sptests/sp04/init.c
+++ b/testsuites/sptests/sp04/init.c
@@ -108,6 +108,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp05/init.c b/testsuites/sptests/sp05/init.c
index 7d95ee9..18286a2 100644
--- a/testsuites/sptests/sp05/init.c
+++ b/testsuites/sptests/sp05/init.c
@@ -79,6 +79,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp06/init.c b/testsuites/sptests/sp06/init.c
index e8379ae..4fa7230 100644
--- a/testsuites/sptests/sp06/init.c
+++ b/testsuites/sptests/sp06/init.c
@@ -85,6 +85,5 @@ rtems_task Init(
 
   status = rtems_task_set_priority( Task_id[ 3 ], 5, &previous_priority );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp06/task3.c b/testsuites/sptests/sp06/task3.c
index 8721587..c0750fc 100644
--- a/testsuites/sptests/sp06/task3.c
+++ b/testsuites/sptests/sp06/task3.c
@@ -26,8 +26,5 @@ rtems_task Task_3(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp07/init.c b/testsuites/sptests/sp07/init.c
index d5b606d..b44b5b9 100644
--- a/testsuites/sptests/sp07/init.c
+++ b/testsuites/sptests/sp07/init.c
@@ -210,6 +210,5 @@ rtems_task Init(
   directive_failed( status, "rtems_task_restart of TA3" );
   assert_extension_counts( &Task_restarted[ 0 ], 0x0 );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp07/task1.c b/testsuites/sptests/sp07/task1.c
index 25831af..6c7f38e 100644
--- a/testsuites/sptests/sp07/task1.c
+++ b/testsuites/sptests/sp07/task1.c
@@ -48,8 +48,7 @@ rtems_task Task_1(
       status = rtems_task_delete( Task_id[ 2 ] );
       directive_failed( status, "rtems_task_delete of TA2" );
 
-      status = rtems_task_delete( RTEMS_SELF );
-      directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+      rtems_task_exit();
     }
 
     printf(
diff --git a/testsuites/sptests/sp07/task2.c b/testsuites/sptests/sp07/task2.c
index 7baee1b..efa66b6 100644
--- a/testsuites/sptests/sp07/task2.c
+++ b/testsuites/sptests/sp07/task2.c
@@ -46,9 +46,7 @@ rtems_task Task_2(
       directive_failed( status, "rtems_task_delete of TA3" );
       assert_extension_counts( &Task_deleted[ 0 ], 0x0 );
 
-      status = rtems_task_delete( RTEMS_SELF );
-      directive_failed( status, "rtems_task_delete of SELD" );
-
+      rtems_task_exit();
     } else {
 
       printf(
diff --git a/testsuites/sptests/sp11/init.c b/testsuites/sptests/sp11/init.c
index ee3f2e8..729cbf0 100644
--- a/testsuites/sptests/sp11/init.c
+++ b/testsuites/sptests/sp11/init.c
@@ -90,6 +90,5 @@ rtems_task Init(
   status = rtems_timer_create( Timer_name[ 6 ], &Timer_id[ 6 ] );
   directive_failed( status, "rtems_timer_create of TM6" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp11/sp11.scn b/testsuites/sptests/sp11/sp11.scn
index 3ad9941..1f54724 100644
--- a/testsuites/sptests/sp11/sp11.scn
+++ b/testsuites/sptests/sp11/sp11.scn
@@ -25,7 +25,7 @@ TA2 - rtems_event_receive - RTEMS_PENDING_EVENTS
 TA2 - eventout => 00080000
 TA2 - rtems_event_receive - RTEMS_EVENT_19 - RTEMS_NO_WAIT
 TA2 - RTEMS_EVENT_19 received - eventout => 00080000
-TA2 - rtems_task_delete - deletes self
+TA2 - rtems_task_exit
 TA1 - RTEMS_EVENT_18 received - eventout => 00040000
 TA1 - rtems_clock_get_tod - 08:15:05   02/12/1988
 TA1 - rtems_event_send - send RTEMS_EVENT_3 to self
diff --git a/testsuites/sptests/sp12/init.c b/testsuites/sptests/sp12/init.c
index 0b92004..7f4dba6 100644
--- a/testsuites/sptests/sp12/init.c
+++ b/testsuites/sptests/sp12/init.c
@@ -177,6 +177,5 @@ rtems_test_pause();
   status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp12/sp12.scn b/testsuites/sptests/sp12/sp12.scn
index ddfe088..bdc269c 100644
--- a/testsuites/sptests/sp12/sp12.scn
+++ b/testsuites/sptests/sp12/sp12.scn
@@ -57,7 +57,7 @@ TA1 - got SM1
 TA1 - rtems_semaphore_release - release SM2
 TA2 - got SM2
 TA2 - rtems_semaphore_release - release SM2
-TA2 - rtems_task_delete - delete self
+TA2 - rtems_task_exit
 TA1 - rtems_task_wake_after - sleep 5 seconds
 TA3 - got SM2
 TA3 - rtems_semaphore_release - release SM2
@@ -74,6 +74,6 @@ TA5 - got SM1
 TA5 - rtems_semaphore_obtain - wait forever on SM1
 TA1 - rtems_semaphore_delete - delete SM1
 TA1 - rtems_semaphore_delete - delete SM3
-TA1 - rtems_task_delete - delete self
+TA1 - rtems_task_exit
 TA5 - SM1 deleted by TA1
 *** END OF TEST 12 ***
diff --git a/testsuites/sptests/sp12/task1.c b/testsuites/sptests/sp12/task1.c
index 9535fdd..e3197fe 100644
--- a/testsuites/sptests/sp12/task1.c
+++ b/testsuites/sptests/sp12/task1.c
@@ -148,7 +148,6 @@ rtems_test_pause();
   status = rtems_semaphore_delete( Semaphore_id[ 3 ] );
   directive_failed( status, "rtems_semaphore_delete of SM3" );
 
-  puts( "TA1 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA1" );
+  puts( "TA1 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp12/task2.c b/testsuites/sptests/sp12/task2.c
index 002ba75..b701b4b 100644
--- a/testsuites/sptests/sp12/task2.c
+++ b/testsuites/sptests/sp12/task2.c
@@ -60,7 +60,6 @@ rtems_task Task_2(
   status = rtems_semaphore_release( Semaphore_id[ 2 ] );
   directive_failed( status, "rtems_semaphore_release on SM2" );
 
-  puts( "TA2 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA2" );
+  puts( "TA2 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp13/init.c b/testsuites/sptests/sp13/init.c
index ffa2d12..7ed8dab 100644
--- a/testsuites/sptests/sp13/init.c
+++ b/testsuites/sptests/sp13/init.c
@@ -110,6 +110,5 @@ rtems_task Init(
   );
   directive_failed( status, "rtems_message_queue_create of Q3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp13/sp13.scn b/testsuites/sptests/sp13/sp13.scn
index dade11f..47b4dfb 100644
--- a/testsuites/sptests/sp13/sp13.scn
+++ b/testsuites/sptests/sp13/sp13.scn
@@ -31,7 +31,7 @@ TA1 - rtems_task_delete - delete TA2
 TA1 - rtems_message_queue_send - BUFFER 1 TO Q 3
 TA1 - rtems_task_wake_after - sleep 5 seconds
 TA3 - buffer received: BUFFER 1 TO Q 3
-TA3 - rtems_task_delete - delete self
+TA3 - rtems_task_exit
 <pause>
 TA1 - rtems_message_queue_send - BUFFER 2 TO Q 3
 TA1 - rtems_message_queue_send - BUFFER 3 TO Q 3
diff --git a/testsuites/sptests/sp13/task3.c b/testsuites/sptests/sp13/task3.c
index 99c655a..af65b88 100644
--- a/testsuites/sptests/sp13/task3.c
+++ b/testsuites/sptests/sp13/task3.c
@@ -73,7 +73,6 @@ rtems_task Task_3(
   Put_buffer( buffer );
   new_line;
 
-  puts( "TA3 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  puts( "TA3 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp14/init.c b/testsuites/sptests/sp14/init.c
index b0cedc2..8baa9b0 100644
--- a/testsuites/sptests/sp14/init.c
+++ b/testsuites/sptests/sp14/init.c
@@ -70,6 +70,5 @@ rtems_task Init(
   status = rtems_timer_create( Timer_name[ 1 ], &Timer_id[ 1 ] );
   directive_failed( status, "rtems_timer_create of TM1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp14/sp14.scn b/testsuites/sptests/sp14/sp14.scn
index d573e41..ced1d99 100644
--- a/testsuites/sptests/sp14/sp14.scn
+++ b/testsuites/sptests/sp14/sp14.scn
@@ -27,5 +27,5 @@ TA2 - rtems_task_wake_after - yield processor
 ASR - ENTRY - signal => 000e0000
 ASR - EXIT  - signal => 000e0000
 TA1 - rtems_signal_catch - asraddr of NULL
-TA1 - rtems_task_delete - delete self
+TA1 - rtems_task_exit
 *** END OF TEST 14 ***
diff --git a/testsuites/sptests/sp14/task1.c b/testsuites/sptests/sp14/task1.c
index 7a8559d..5c674dd 100644
--- a/testsuites/sptests/sp14/task1.c
+++ b/testsuites/sptests/sp14/task1.c
@@ -106,7 +106,6 @@ rtems_task Task_1(
   status = rtems_signal_catch( NULL, RTEMS_DEFAULT_MODES );
   directive_failed( status, "rtems_signal_catch" );
 
-  puts( "TA1 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  puts( "TA1 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp15/init.c b/testsuites/sptests/sp15/init.c
index dcf8f95..25be042 100644
--- a/testsuites/sptests/sp15/init.c
+++ b/testsuites/sptests/sp15/init.c
@@ -76,6 +76,5 @@ rtems_task Init(
   );
   directive_failed( status, "rtems_partition_create of PT2" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp16/init.c b/testsuites/sptests/sp16/init.c
index 3b8543b..efb0a3e 100644
--- a/testsuites/sptests/sp16/init.c
+++ b/testsuites/sptests/sp16/init.c
@@ -126,6 +126,5 @@ rtems_task Init(
   );
   directive_failed( status, "rtems_region_create of RN4" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp16/sp16.scn b/testsuites/sptests/sp16/sp16.scn
index e40dde7..a8e691a 100644
--- a/testsuites/sptests/sp16/sp16.scn
+++ b/testsuites/sptests/sp16/sp16.scn
@@ -20,7 +20,7 @@ TA1 - got segment from region 1 - 0x00000070
 TA1 - rtems_region_return_segment - return segment to region 2 - 0x00000040
 TA2 - got segment from region 2 - 0x00000040
 TA2 - rtems_region_return_segment - return segment to region 2 - 0x00000040
-TA2 - rtems_task_delete - delete self
+TA2 - rtems_task_exit
 TA1 - rtems_task_wake_after - yield processor
 TA3 - got segment from region 2 - 0x00000040
 TA3 - rtems_region_get_segment - wait on 2K segment from region 3
@@ -43,7 +43,7 @@ TA1 - rtems_region_return_segment - return segment to region 1 - 0x00000070
 TA1 - rtems_task_wake_after - yield processor
 TA5 - got segment from region 1 - 0x00000070
 TA5 - rtems_region_return_segment - return segment to region 1 - 0x00000070
-TA5 - rtems_task_delete - delete self
+TA5 - rtems_task_exit
 TA1 - rtems_region_delete - delete region 1
 TA1 - rtems_region_get_segment - get 3K segment from region 4
 TA1 - got segment from region 4 - 0x00000040
diff --git a/testsuites/sptests/sp16/task2.c b/testsuites/sptests/sp16/task2.c
index 15f2950..3995178 100644
--- a/testsuites/sptests/sp16/task2.c
+++ b/testsuites/sptests/sp16/task2.c
@@ -81,7 +81,6 @@ rtems_task Task_2(
   directive_failed( status, "rtems_region_return_segment" );
   new_line;
 
-  puts( "TA2 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  puts( "TA2 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp16/task5.c b/testsuites/sptests/sp16/task5.c
index 8d3e3fc..e5e524a 100644
--- a/testsuites/sptests/sp16/task5.c
+++ b/testsuites/sptests/sp16/task5.c
@@ -68,7 +68,6 @@ rtems_task Task5(
   Put_address_from_area_1( segment_address_2 );
   new_line;
 
-  puts( "TA5 - rtems_task_delete - delete self" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  puts( "TA5 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp17/init.c b/testsuites/sptests/sp17/init.c
index 4f7cba8..fd6023c 100644
--- a/testsuites/sptests/sp17/init.c
+++ b/testsuites/sptests/sp17/init.c
@@ -67,6 +67,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
   directive_failed( status, "rtems_task_start of TA2" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp19/first.c b/testsuites/sptests/sp19/first.c
index a8d0745..69ff297 100644
--- a/testsuites/sptests/sp19/first.c
+++ b/testsuites/sptests/sp19/first.c
@@ -54,7 +54,6 @@ rtems_task First_FP_task(
     status = rtems_clock_set( &time );
     directive_failed( status, "rtems_clock_set" );
 
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+    rtems_task_exit();
   }
 }
diff --git a/testsuites/sptests/sp19/fptask.c b/testsuites/sptests/sp19/fptask.c
index 3ff7340..5ffff37 100644
--- a/testsuites/sptests/sp19/fptask.c
+++ b/testsuites/sptests/sp19/fptask.c
@@ -52,9 +52,8 @@ rtems_task FP_task(
 
     if ( time.second >= 16 ) {
       if ( task_number( tid ) == 4 ) {
-        puts( "TA4 - rtems_task_delete - self" );
-        status = rtems_task_delete( RTEMS_SELF );
-        directive_failed( status, "rtems_task_delete of TA4" );
+        puts( "TA4 - rtems_task_exit" );
+        rtems_task_exit();
       }
       puts( "TA5 - rtems_task_delete - TA3" );
       status = rtems_task_delete( Task_id[ 3 ] );
diff --git a/testsuites/sptests/sp19/init.c b/testsuites/sptests/sp19/init.c
index ef52f98..ca15fb8 100644
--- a/testsuites/sptests/sp19/init.c
+++ b/testsuites/sptests/sp19/init.c
@@ -157,6 +157,5 @@ rtems_task Init(
   INTEGER_factors[8] = 0x8000;
   INTEGER_factors[9] = 0x9000;
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA1" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp20/init.c b/testsuites/sptests/sp20/init.c
index 434288b..24920c1 100644
--- a/testsuites/sptests/sp20/init.c
+++ b/testsuites/sptests/sp20/init.c
@@ -76,6 +76,5 @@ rtems_task Init(
   Count.count[ 5 ] = 0;
   Count.count[ 6 ] = 0;
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp22/init.c b/testsuites/sptests/sp22/init.c
index 23956e6..f7f9e2e 100644
--- a/testsuites/sptests/sp22/init.c
+++ b/testsuites/sptests/sp22/init.c
@@ -64,6 +64,5 @@ rtems_task Init(
 
   printf( "INIT - timer 1 has id (0x%" PRIxrtems_id ")\n", Timer_id[ 1 ] );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp23/init.c b/testsuites/sptests/sp23/init.c
index e0ee2f9..3605dcc 100644
--- a/testsuites/sptests/sp23/init.c
+++ b/testsuites/sptests/sp23/init.c
@@ -67,6 +67,5 @@ rtems_task Init(
           External_port_area
   );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp24/init.c b/testsuites/sptests/sp24/init.c
index b0e7f15..cac46fd 100644
--- a/testsuites/sptests/sp24/init.c
+++ b/testsuites/sptests/sp24/init.c
@@ -74,6 +74,5 @@ rtems_task Init(
     directive_failed( status, "rtems_task_start loop" );
   }
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp25/init.c b/testsuites/sptests/sp25/init.c
index e744e5c..2a5af0c 100644
--- a/testsuites/sptests/sp25/init.c
+++ b/testsuites/sptests/sp25/init.c
@@ -63,6 +63,5 @@ rtems_task Init(
   );
   directive_failed( status, "rtems_region_create of RN1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp30/init.c b/testsuites/sptests/sp30/init.c
index 616e4cd..df6324b 100644
--- a/testsuites/sptests/sp30/init.c
+++ b/testsuites/sptests/sp30/init.c
@@ -111,6 +111,5 @@ rtems_task Init(
     directive_failed( status, "rtems_task_start loop" );
   }
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp31/init.c b/testsuites/sptests/sp31/init.c
index 020ec25..adbbcb2 100644
--- a/testsuites/sptests/sp31/init.c
+++ b/testsuites/sptests/sp31/init.c
@@ -76,6 +76,5 @@ rtems_task Init(
   directive_failed( status, "rtems_timer_create" );
   printf( "INIT - timer 2 has id (0x%" PRIxrtems_id ")\n", Timer_id[ 2 ] );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sp33/init.c b/testsuites/sptests/sp33/init.c
index 5470a99..72945a6 100644
--- a/testsuites/sptests/sp33/init.c
+++ b/testsuites/sptests/sp33/init.c
@@ -60,7 +60,7 @@ rtems_task Waiter(
     );
   }
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 #include <rtems/confdefs.h>
diff --git a/testsuites/sptests/sp34/changepri.c b/testsuites/sptests/sp34/changepri.c
index c0e2dbf..20d4ba4 100644
--- a/testsuites/sptests/sp34/changepri.c
+++ b/testsuites/sptests/sp34/changepri.c
@@ -104,7 +104,7 @@ rtems_task BlockingTasks(rtems_task_argument arg)
     npri
   );
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 /*************************************************************************/
diff --git a/testsuites/sptests/sp35/priinv.c b/testsuites/sptests/sp35/priinv.c
index 4174624..cc34151 100644
--- a/testsuites/sptests/sp35/priinv.c
+++ b/testsuites/sptests/sp35/priinv.c
@@ -427,7 +427,7 @@ rtems_task Init(rtems_task_argument ignored)
   directive_failed( status, "rtems_task_start (HWSM)" );
 
   /* Destroy the Init task (and let the ready tasks start running) */
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 /* configuration information */
diff --git a/testsuites/sptests/sp37/init.c b/testsuites/sptests/sp37/init.c
index 08d6285..dc4867c 100644
--- a/testsuites/sptests/sp37/init.c
+++ b/testsuites/sptests/sp37/init.c
@@ -404,8 +404,7 @@ rtems_task blocked_task(
   directive_failed( status, "rtems_task_suspend" );
 
   blocked_task_status = 3;
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete" );
+  rtems_task_exit();
 }
 
 /*
diff --git a/testsuites/sptests/sp42/init.c b/testsuites/sptests/sp42/init.c
index 546cbeb..f023652 100644
--- a/testsuites/sptests/sp42/init.c
+++ b/testsuites/sptests/sp42/init.c
@@ -100,7 +100,7 @@ static rtems_task Locker_task(
     directive_failed( status, "rtems_event_transient_send" );
   }
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 static void do_test(
diff --git a/testsuites/sptests/sp46/init.c b/testsuites/sptests/sp46/init.c
index 9d58a96..3fa907a 100644
--- a/testsuites/sptests/sp46/init.c
+++ b/testsuites/sptests/sp46/init.c
@@ -58,7 +58,7 @@ rtems_task Periodic_Task(
   }
 
   puts( "Periodic - Deleting self" );
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(
diff --git a/testsuites/sptests/sp47/init.c b/testsuites/sptests/sp47/init.c
index dba7b7e..ae29508 100644
--- a/testsuites/sptests/sp47/init.c
+++ b/testsuites/sptests/sp47/init.c
@@ -57,7 +57,7 @@ rtems_task Init(rtems_task_argument ignored)
 
   rtems_task_start(ti, test_asr, 0);
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 /* configuration stuff */
diff --git a/testsuites/sptests/sp59/init.c b/testsuites/sptests/sp59/init.c
index fc43a7c..a38e597 100644
--- a/testsuites/sptests/sp59/init.c
+++ b/testsuites/sptests/sp59/init.c
@@ -43,7 +43,7 @@ rtems_task Blocking_task(
   puts( "Blocking_task - Got memory segment after freed" );
 
   puts( "Blocking_task - delete self" );
-  status = rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
 }
 
 rtems_task Init(
diff --git a/testsuites/sptests/sp62/init.c b/testsuites/sptests/sp62/init.c
index e1ffc29..3bb4044 100644
--- a/testsuites/sptests/sp62/init.c
+++ b/testsuites/sptests/sp62/init.c
@@ -50,7 +50,7 @@ rtems_task Blocker(
   puts( "Blocker - Got memory after resize" );
   case_hit = true;
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(
diff --git a/testsuites/sptests/sp73/init.c b/testsuites/sptests/sp73/init.c
index b798f84..243fd2c 100644
--- a/testsuites/sptests/sp73/init.c
+++ b/testsuites/sptests/sp73/init.c
@@ -109,8 +109,7 @@ rtems_task Init(
   status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
   directive_failed( status, "wake after" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete" );
+  rtems_task_exit();
 }
 
 /* configuration information */
diff --git a/testsuites/sptests/spcbssched01/init.c b/testsuites/sptests/spcbssched01/init.c
index be85bce..cd20956 100644
--- a/testsuites/sptests/spcbssched01/init.c
+++ b/testsuites/sptests/spcbssched01/init.c
@@ -84,6 +84,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_1_through_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spcbssched02/task_periodic.c b/testsuites/sptests/spcbssched02/task_periodic.c
index 4c11ad4..39516cc 100644
--- a/testsuites/sptests/spcbssched02/task_periodic.c
+++ b/testsuites/sptests/spcbssched02/task_periodic.c
@@ -137,6 +137,5 @@ rtems_task Task_Periodic(
     rtems_test_exit( 0 );
   }
   printf( "Periodic task: Deleting self\n" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spcbssched03/init.c b/testsuites/sptests/spcbssched03/init.c
index 5554915..2b58a88 100644
--- a/testsuites/sptests/spcbssched03/init.c
+++ b/testsuites/sptests/spcbssched03/init.c
@@ -64,6 +64,5 @@ rtems_task Init(
 
   rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spcbssched03/tasks_aperiodic.c b/testsuites/sptests/spcbssched03/tasks_aperiodic.c
index efb6dce..a942f7a 100644
--- a/testsuites/sptests/spcbssched03/tasks_aperiodic.c
+++ b/testsuites/sptests/spcbssched03/tasks_aperiodic.c
@@ -45,6 +45,5 @@ rtems_task Tasks_Aperiodic(
   /* delete SELF */
   fflush(stdout);
   printf( "Killing task %" PRIdPTR "\n", argument);
-  status = rtems_task_delete(RTEMS_SELF);
-  directive_failed(status, "rtems_task_delete of RTEMS_SELF");
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spedfsched01/init.c b/testsuites/sptests/spedfsched01/init.c
index 04fc5ca..bab5729 100644
--- a/testsuites/sptests/spedfsched01/init.c
+++ b/testsuites/sptests/spedfsched01/init.c
@@ -84,6 +84,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_1_through_3, 0 );
   directive_failed( status, "rtems_task_start of TA3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spedfsched02/init.c b/testsuites/sptests/spedfsched02/init.c
index aa2798c..fde8516 100644
--- a/testsuites/sptests/spedfsched02/init.c
+++ b/testsuites/sptests/spedfsched02/init.c
@@ -72,6 +72,5 @@ rtems_task Init(
   Count.count[ 5 ] = 0;
   Count.count[ 6 ] = 0;
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spedfsched03/init.c b/testsuites/sptests/spedfsched03/init.c
index 0c2425a..c908125 100644
--- a/testsuites/sptests/spedfsched03/init.c
+++ b/testsuites/sptests/spedfsched03/init.c
@@ -62,6 +62,5 @@ rtems_task Init(
 
   rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spedfsched03/tasks_aperiodic.c b/testsuites/sptests/spedfsched03/tasks_aperiodic.c
index c230fd3..0c6a968 100644
--- a/testsuites/sptests/spedfsched03/tasks_aperiodic.c
+++ b/testsuites/sptests/spedfsched03/tasks_aperiodic.c
@@ -52,6 +52,5 @@ rtems_task Tasks_Aperiodic(
   /* delete SELF */
   fflush(stdout);
   printf( "Killing task %" PRIdPTR "\n", argument);
-  status = rtems_task_delete(RTEMS_SELF);
-  directive_failed(status, "rtems_task_delete of RTEMS_SELF");
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spedfsched04/init.c b/testsuites/sptests/spedfsched04/init.c
index 7efcd68..e751e24 100644
--- a/testsuites/sptests/spedfsched04/init.c
+++ b/testsuites/sptests/spedfsched04/init.c
@@ -135,8 +135,7 @@ static rtems_task Init(
     status = rtems_task_start( Task_id[ index ], Task, index);
     directive_failed( status, "rtems_task_start loop");
   }
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
diff --git a/testsuites/sptests/speventtransient01/init.c b/testsuites/sptests/speventtransient01/init.c
index e8e35f1..8f44761 100644
--- a/testsuites/sptests/speventtransient01/init.c
+++ b/testsuites/sptests/speventtransient01/init.c
@@ -37,8 +37,7 @@ static void server_task(rtems_task_argument arg)
   sc = rtems_event_transient_send(req->client);
   rtems_test_assert(sc == RTEMS_SUCCESSFUL);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 }
 
 static void test_with_request_server(void)
diff --git a/testsuites/sptests/spfatal28/testcase.h b/testsuites/sptests/spfatal28/testcase.h
index fda4122..8797ae0 100644
--- a/testsuites/sptests/spfatal28/testcase.h
+++ b/testsuites/sptests/spfatal28/testcase.h
@@ -34,8 +34,7 @@ void force_error()
   );
   rtems_test_assert(sc == RTEMS_SUCCESSFUL);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 #else
   _Terminate( INTERNAL_ERROR_CORE, INTERNAL_ERROR_RESOURCE_IN_USE );
 #endif
diff --git a/testsuites/sptests/spfatal29/testcase.h b/testsuites/sptests/spfatal29/testcase.h
index 87545f7..69bbc809 100644
--- a/testsuites/sptests/spfatal29/testcase.h
+++ b/testsuites/sptests/spfatal29/testcase.h
@@ -40,6 +40,5 @@ void force_error()
   sc = rtems_timer_fire_after(id, 1, timer, NULL);
   rtems_test_assert(sc == RTEMS_SUCCESSFUL);
 
-  sc = rtems_task_delete(RTEMS_SELF);
-  rtems_test_assert(sc == RTEMS_SUCCESSFUL);
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spfifo03/init.c b/testsuites/sptests/spfifo03/init.c
index 4a2b741..e65c301 100644
--- a/testsuites/sptests/spfifo03/init.c
+++ b/testsuites/sptests/spfifo03/init.c
@@ -85,7 +85,7 @@ rtems_task read_task(rtems_task_argument not_used)
   puts("\nReader done!");
   status = rtems_barrier_wait( Barrier, RTEMS_NO_TIMEOUT );
   rtems_test_assert( status == RTEMS_SUCCESSFUL );
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 void test_main(void) /* Also acts as the write task */
diff --git a/testsuites/sptests/spfifo05/init.c b/testsuites/sptests/spfifo05/init.c
index dc33180..9103d7c 100644
--- a/testsuites/sptests/spfifo05/init.c
+++ b/testsuites/sptests/spfifo05/init.c
@@ -121,7 +121,7 @@ rtems_task read_task(rtems_task_argument not_used)
   status = rtems_barrier_release( wBarrier, &released );
   rtems_test_assert( status == 0 );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(
diff --git a/testsuites/sptests/spmrsp01/init.c b/testsuites/sptests/spmrsp01/init.c
index c7b2ae2..de12713 100644
--- a/testsuites/sptests/spmrsp01/init.c
+++ b/testsuites/sptests/spmrsp01/init.c
@@ -250,7 +250,7 @@ static void test_mrsp_task(rtems_task_argument arg)
   sc = rtems_event_transient_send(ctx->task_id);
   rtems_test_assert(sc == RTEMS_SUCCESSFUL);
 
-  rtems_task_delete(RTEMS_SELF);
+  rtems_task_exit();
   rtems_test_assert(0);
 }
 
diff --git a/testsuites/sptests/spmsgq_err02/spmsgq_err02.scn b/testsuites/sptests/spmsgq_err02/spmsgq_err02.scn
index 4ef2180..9f137ef 100644
--- a/testsuites/sptests/spmsgq_err02/spmsgq_err02.scn
+++ b/testsuites/sptests/spmsgq_err02/spmsgq_err02.scn
@@ -20,5 +20,5 @@ TA3 - rtems_message_queue_receive - Q 1 - RTEMS_WAIT FOREVER
 TA1 - rtems_message_queue_delete - delete Q 1 - RTEMS_SUCCESSFUL
 TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
 TA3 - rtems_message_queue_receive - woke up with RTEMS_OBJECT_WAS_DELETED
-TA3 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
+TA3 - rtems_task_exit
 *** END TEST MESSAGE QUEUE ERROR 02 ***
diff --git a/testsuites/sptests/spmsgq_err02/task3.c b/testsuites/sptests/spmsgq_err02/task3.c
index 96e16ab..3c622d1 100644
--- a/testsuites/sptests/spmsgq_err02/task3.c
+++ b/testsuites/sptests/spmsgq_err02/task3.c
@@ -48,7 +48,6 @@ rtems_task Task_3(
     "TA3 - rtems_message_queue_receive - woke up with RTEMS_OBJECT_WAS_DELETED"
   );
 
-  puts( "TA3 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA3" );
+  puts( "TA3 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spprivenv01/init.c b/testsuites/sptests/spprivenv01/init.c
index b6b6c14..11d6c20 100644
--- a/testsuites/sptests/spprivenv01/init.c
+++ b/testsuites/sptests/spprivenv01/init.c
@@ -36,7 +36,7 @@ rtems_task task_routine(rtems_task_argument not_used)
 
   sleep( 1 );
 
-  rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Init(
diff --git a/testsuites/sptests/spqreslib/init.c b/testsuites/sptests/spqreslib/init.c
index d00b623..33e638b 100644
--- a/testsuites/sptests/spqreslib/init.c
+++ b/testsuites/sptests/spqreslib/init.c
@@ -215,6 +215,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id, Task_Periodic, 1 );
   directive_failed( status, "rtems_task_start periodic" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spratemon_err01/spratemon_err01.scn b/testsuites/sptests/spratemon_err01/spratemon_err01.scn
index ca2cebd..a484cdc 100644
--- a/testsuites/sptests/spratemon_err01/spratemon_err01.scn
+++ b/testsuites/sptests/spratemon_err01/spratemon_err01.scn
@@ -21,7 +21,7 @@ TA1 - rtems_rate_monotonic_period - 5 ticks - RTEMS_TIMEOUT
 TA1 - yielding to TA4
 TA4 - rtems_rate_monotonic_cancel - RTEMS_NOT_OWNER_OF_RESOURCE
 TA4 - rtems_rate_monotonic_period - RTEMS_NOT_OWNER_OF_RESOURCE
-TA4 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
+TA4 - rtems_task_exit
 TA1 - rtems_rate_monotonic_delete - RTEMS_INVALID_ID
 TA1 - rtems_rate_monotonic_delete - local RTEMS_INVALID_ID
 TA1 - rtems_rate_monotonic_delete - RTEMS_SUCCESSFUL
diff --git a/testsuites/sptests/spratemon_err01/task4.c b/testsuites/sptests/spratemon_err01/task4.c
index 4e8df72..5b719b5 100644
--- a/testsuites/sptests/spratemon_err01/task4.c
+++ b/testsuites/sptests/spratemon_err01/task4.c
@@ -45,7 +45,6 @@ rtems_task Task_4(
   );
   puts( "TA4 - rtems_rate_monotonic_period - RTEMS_NOT_OWNER_OF_RESOURCE" );
 
-  puts( "TA4 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA4" );
+  puts( "TA4 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sprmsched01/init.c b/testsuites/sptests/sprmsched01/init.c
index 5efd9e2..e03c2ee 100644
--- a/testsuites/sptests/sprmsched01/init.c
+++ b/testsuites/sptests/sprmsched01/init.c
@@ -136,8 +136,7 @@ static rtems_task Init(
     status = rtems_task_start( Task_id[ index ], Task, index);
     directive_failed( status, "rtems_task_start loop");
   }
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 #define CONFIGURE_APPLICATION_NEEDS_SIMPLE_CONSOLE_DRIVER
diff --git a/testsuites/sptests/spsem01/init.c b/testsuites/sptests/spsem01/init.c
index a84eead..42ae2a6 100644
--- a/testsuites/sptests/spsem01/init.c
+++ b/testsuites/sptests/spsem01/init.c
@@ -102,8 +102,7 @@ rtems_task Init(rtems_task_argument ignored)
   status = rtems_task_start( Task_id[0], Task01, 0);
   directive_failed( status, "rtems_task_start of TA01");
 
-  status = rtems_task_delete( RTEMS_SELF);
-  directive_failed( status, "rtems_task_delete of INIT");
+  rtems_task_exit();
 }
 
 /* Task01 starts with priority 36 */
diff --git a/testsuites/sptests/spsem02/init.c b/testsuites/sptests/spsem02/init.c
index 99def72..a9c681f 100644
--- a/testsuites/sptests/spsem02/init.c
+++ b/testsuites/sptests/spsem02/init.c
@@ -115,8 +115,7 @@ rtems_task Init(rtems_task_argument ignored)
   status = rtems_task_start( Task_id[0], Task01, 0);
   directive_failed( status, "rtems_task_start of TA01");
 
-  status = rtems_task_delete( RTEMS_SELF);
-  directive_failed( status, "rtems_task_delete of INIT");
+  rtems_task_exit();
 }
 
 /* Task01 starts with priority 36 */
@@ -188,6 +187,5 @@ rtems_task Task03(rtems_task_argument ignored)
   printf("TA03: priority %d\n", getprio());
 
   printf("TA03: exiting\n");
-  status = rtems_task_delete( RTEMS_SELF);
-  directive_failed( status, "rtems_task_delete TA03");
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spsem_err02/task2.c b/testsuites/sptests/spsem_err02/task2.c
index 0a3255f..14feeec 100644
--- a/testsuites/sptests/spsem_err02/task2.c
+++ b/testsuites/sptests/spsem_err02/task2.c
@@ -43,6 +43,5 @@ rtems_task Task_2(
     "TA2 - rtems_semaphore_obtain - woke up with RTEMS_OBJECT_WAS_DELETED"
   );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA2" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spsimplesched01/init.c b/testsuites/sptests/spsimplesched01/init.c
index 90af5c4..f2a0673 100644
--- a/testsuites/sptests/spsimplesched01/init.c
+++ b/testsuites/sptests/spsimplesched01/init.c
@@ -117,8 +117,7 @@ rtems_task Init(
   status = rtems_task_wake_after( RTEMS_YIELD_PROCESSOR );
   directive_failed( status, "yield" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "delete self" );
+  rtems_task_exit();
 }
 
 /* configuration information */
diff --git a/testsuites/sptests/spstdthreads01/init.c b/testsuites/sptests/spstdthreads01/init.c
index 72c4a15..5b4538b 100644
--- a/testsuites/sptests/spstdthreads01/init.c
+++ b/testsuites/sptests/spstdthreads01/init.c
@@ -362,7 +362,7 @@ static void high_task(rtems_task_argument idx)
       val = tss_get(ctx->tss);
       rtems_test_assert(val == &tss_val);
 
-      rtems_task_delete(RTEMS_SELF);
+      rtems_task_exit();
       rtems_test_assert(0);
     }
   }
diff --git a/testsuites/sptests/sptask_err01/sptask_err01.scn b/testsuites/sptests/sptask_err01/sptask_err01.scn
index eccf90f..f1bebd7 100644
--- a/testsuites/sptests/sptask_err01/sptask_err01.scn
+++ b/testsuites/sptests/sptask_err01/sptask_err01.scn
@@ -2,6 +2,6 @@
 TA1 - rtems_task_create - TA2 created - RTEMS_SUCCESSFUL
 TA1 - rtems_task_start - start TA2 - RTEMS_SUCCESSFUL
 TA1 - rtems_task_wake_after - yield processor - RTEMS_SUCCESSFUL
-TA2 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL
+TA2 - rtems_task_exit
 TA1 - rtems_task_delete TA2 - already deleted RTEMS_INVALID_ID
 *** END TEST TASK ERROR 01 ***
diff --git a/testsuites/sptests/sptask_err01/task2.c b/testsuites/sptests/sptask_err01/task2.c
index d5c8724..5294f35 100644
--- a/testsuites/sptests/sptask_err01/task2.c
+++ b/testsuites/sptests/sptask_err01/task2.c
@@ -26,9 +26,6 @@ rtems_task Task_2(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
-  puts( "TA2 - rtems_task_delete - delete self - RTEMS_SUCCESSFUL" );
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of TA2" );
+  puts( "TA2 - rtems_task_exit" );
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/sptask_err04/init.c b/testsuites/sptests/sptask_err04/init.c
index c9af611..197dff7 100644
--- a/testsuites/sptests/sptask_err04/init.c
+++ b/testsuites/sptests/sptask_err04/init.c
@@ -85,6 +85,5 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 1 ], Task_1, 0 );
   directive_failed( status, "rtems_task_start of TA1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );  
+  rtems_task_exit();
 }
diff --git a/testsuites/sptests/spwatchdog/init.c b/testsuites/sptests/spwatchdog/init.c
index 7b844d7..555d52d 100644
--- a/testsuites/sptests/spwatchdog/init.c
+++ b/testsuites/sptests/spwatchdog/init.c
@@ -271,9 +271,6 @@ rtems_task Init(
 
   printf( "INIT - timer 1 has id (0x%" PRIxrtems_id ")\n", Timer_id[ 1 ] );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
-
-
-  rtems_test_exit( 0 );
+  /* Task_1() will end the test */
+  rtems_task_exit();
 }
diff --git a/testsuites/tmtests/tm01/task1.c b/testsuites/tmtests/tm01/task1.c
index 3062eae..c254970 100644
--- a/testsuites/tmtests/tm01/task1.c
+++ b/testsuites/tmtests/tm01/task1.c
@@ -47,9 +47,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
   directive_failed( status, "rtems_task_start of TA1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
-
+  rtems_task_exit();
 }
 
 rtems_task Test_task(
diff --git a/testsuites/tmtests/tm03/task1.c b/testsuites/tmtests/tm03/task1.c
index f54e1f2..63c21c2 100644
--- a/testsuites/tmtests/tm03/task1.c
+++ b/testsuites/tmtests/tm03/task1.c
@@ -77,8 +77,7 @@ rtems_task Init(
   status = rtems_task_start( task_id, test_init, 0 );
   directive_failed( status, "rtems_task_start of test_init" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task test_init(
diff --git a/testsuites/tmtests/tm04/task1.c b/testsuites/tmtests/tm04/task1.c
index 40cca6c..54ac8f2 100644
--- a/testsuites/tmtests/tm04/task1.c
+++ b/testsuites/tmtests/tm04/task1.c
@@ -43,16 +43,13 @@ rtems_task Init(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   Print_Warning();
 
   TEST_BEGIN();
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
@@ -126,9 +123,7 @@ rtems_task Highest_task(
       0
     );
 
-    status = rtems_task_delete( RTEMS_SELF );
-    directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
-
+    rtems_task_exit();
   } else
     (void) rtems_semaphore_obtain(
       Semaphore_id,
diff --git a/testsuites/tmtests/tm05/task1.c b/testsuites/tmtests/tm05/task1.c
index e23d03b..0c23d37 100644
--- a/testsuites/tmtests/tm05/task1.c
+++ b/testsuites/tmtests/tm05/task1.c
@@ -47,8 +47,7 @@ rtems_task Init(
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
diff --git a/testsuites/tmtests/tm06/task1.c b/testsuites/tmtests/tm06/task1.c
index f419c99..af1579e 100644
--- a/testsuites/tmtests/tm06/task1.c
+++ b/testsuites/tmtests/tm06/task1.c
@@ -42,8 +42,7 @@ rtems_task Init(
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init( void )
diff --git a/testsuites/tmtests/tm07/task1.c b/testsuites/tmtests/tm07/task1.c
index eca64db..a66aab5 100644
--- a/testsuites/tmtests/tm07/task1.c
+++ b/testsuites/tmtests/tm07/task1.c
@@ -46,8 +46,7 @@ rtems_task Init(
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
diff --git a/testsuites/tmtests/tm08/task1.c b/testsuites/tmtests/tm08/task1.c
index 389a064..ad38a54 100644
--- a/testsuites/tmtests/tm08/task1.c
+++ b/testsuites/tmtests/tm08/task1.c
@@ -30,16 +30,13 @@ rtems_task Init(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   Print_Warning();
 
   TEST_BEGIN();
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
diff --git a/testsuites/tmtests/tm09/task1.c b/testsuites/tmtests/tm09/task1.c
index ff28ca2..9caf4d9 100644
--- a/testsuites/tmtests/tm09/task1.c
+++ b/testsuites/tmtests/tm09/task1.c
@@ -46,8 +46,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Test_task (
diff --git a/testsuites/tmtests/tm10/task1.c b/testsuites/tmtests/tm10/task1.c
index 884af48..c0a1e4f 100644
--- a/testsuites/tmtests/tm10/task1.c
+++ b/testsuites/tmtests/tm10/task1.c
@@ -47,8 +47,7 @@ rtems_task Init(
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init()
diff --git a/testsuites/tmtests/tm11/task1.c b/testsuites/tmtests/tm11/task1.c
index e6061ce..a83cf48 100644
--- a/testsuites/tmtests/tm11/task1.c
+++ b/testsuites/tmtests/tm11/task1.c
@@ -58,8 +58,7 @@ void Init(
   status = rtems_task_start( id, test_init, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 #define MESSAGE_SIZE (sizeof(long) * 4)
diff --git a/testsuites/tmtests/tm12/task1.c b/testsuites/tmtests/tm12/task1.c
index 1e6064f..1c13de8 100644
--- a/testsuites/tmtests/tm12/task1.c
+++ b/testsuites/tmtests/tm12/task1.c
@@ -60,8 +60,7 @@ rtems_task Init(
   status = rtems_task_start( task_id, test_init, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task test_init(
diff --git a/testsuites/tmtests/tm13/task1.c b/testsuites/tmtests/tm13/task1.c
index 884723a..d61852c 100644
--- a/testsuites/tmtests/tm13/task1.c
+++ b/testsuites/tmtests/tm13/task1.c
@@ -60,8 +60,7 @@ void Init(
   status = rtems_task_start( id, test_init, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task test_init(
diff --git a/testsuites/tmtests/tm14/task1.c b/testsuites/tmtests/tm14/task1.c
index 74de9d4..4b94c57 100644
--- a/testsuites/tmtests/tm14/task1.c
+++ b/testsuites/tmtests/tm14/task1.c
@@ -60,8 +60,7 @@ rtems_task Init(
   status = rtems_task_start( task_id, test_init, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task test_init(
diff --git a/testsuites/tmtests/tm15/task1.c b/testsuites/tmtests/tm15/task1.c
index 6f7ecd5..65b42d2 100644
--- a/testsuites/tmtests/tm15/task1.c
+++ b/testsuites/tmtests/tm15/task1.c
@@ -33,16 +33,13 @@ rtems_task Init(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   Print_Warning();
 
   TEST_BEGIN();
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
diff --git a/testsuites/tmtests/tm16/task1.c b/testsuites/tmtests/tm16/task1.c
index 5910a18..4cd6fab 100644
--- a/testsuites/tmtests/tm16/task1.c
+++ b/testsuites/tmtests/tm16/task1.c
@@ -56,8 +56,7 @@ rtems_task Init(
   status = rtems_task_start( id, test_init, 0 );
   directive_failed( status, "rtems_task_start of test_init" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task test_init(
diff --git a/testsuites/tmtests/tm17/task1.c b/testsuites/tmtests/tm17/task1.c
index b58f8bd..fb49796 100644
--- a/testsuites/tmtests/tm17/task1.c
+++ b/testsuites/tmtests/tm17/task1.c
@@ -69,8 +69,7 @@ rtems_task Init(
   }
 
   Task_count = 1;
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task First_task(
diff --git a/testsuites/tmtests/tm18/task1.c b/testsuites/tmtests/tm18/task1.c
index 5db7c5d..91df7be 100644
--- a/testsuites/tmtests/tm18/task1.c
+++ b/testsuites/tmtests/tm18/task1.c
@@ -38,16 +38,13 @@ rtems_task Init(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   Print_Warning();
 
   TEST_BEGIN();
 
   test_init();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void test_init(void)
@@ -85,14 +82,14 @@ rtems_task First_task(
 {
   benchmark_timer_initialize();
 
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Middle_tasks(
   rtems_task_argument argument
 )
 {
-  (void) rtems_task_delete( RTEMS_SELF );
+  rtems_task_exit();
 }
 
 rtems_task Last_task(
diff --git a/testsuites/tmtests/tm19/task1.c b/testsuites/tmtests/tm19/task1.c
index 093dc21..138cdef 100644
--- a/testsuites/tmtests/tm19/task1.c
+++ b/testsuites/tmtests/tm19/task1.c
@@ -85,8 +85,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 3 ], Task_3, 0 );
   directive_failed( status, "rtems_task_start of TASK3" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_asr Process_asr_for_pass_1(
diff --git a/testsuites/tmtests/tm20/task1.c b/testsuites/tmtests/tm20/task1.c
index cb6077d..d84dbf4 100644
--- a/testsuites/tmtests/tm20/task1.c
+++ b/testsuites/tmtests/tm20/task1.c
@@ -84,8 +84,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 2 ], Task_2, 0 );
   directive_failed( status, "rtems_task_start of TASK2" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task_1(
@@ -442,8 +441,6 @@ rtems_task Task_2(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
-
   end_time = benchmark_timer_read();
 
   put_time(
@@ -471,6 +468,5 @@ rtems_task Task_2(
     0
   );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
diff --git a/testsuites/tmtests/tm21/task1.c b/testsuites/tmtests/tm21/task1.c
index 0b396c0..0b96ddd 100644
--- a/testsuites/tmtests/tm21/task1.c
+++ b/testsuites/tmtests/tm21/task1.c
@@ -47,8 +47,7 @@ rtems_task Init(
   status = rtems_task_start( id, Task_1, 0 );
   directive_failed( status, "rtems_task_start of TASK1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task_1(
diff --git a/testsuites/tmtests/tm22/task1.c b/testsuites/tmtests/tm22/task1.c
index 2757af4..665eaae 100644
--- a/testsuites/tmtests/tm22/task1.c
+++ b/testsuites/tmtests/tm22/task1.c
@@ -79,8 +79,7 @@ rtems_task Init(
   status = rtems_task_start( id, Preempt_task, 0 );
   directive_failed( status, "rtems_task_start RTEMS_PREEMPT" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task High_task(
diff --git a/testsuites/tmtests/tm23/task1.c b/testsuites/tmtests/tm23/task1.c
index c04f539..f8a6f27 100644
--- a/testsuites/tmtests/tm23/task1.c
+++ b/testsuites/tmtests/tm23/task1.c
@@ -84,8 +84,7 @@ rtems_task Init(
     priority++;
   }
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 void null_delay(
diff --git a/testsuites/tmtests/tm24/task1.c b/testsuites/tmtests/tm24/task1.c
index ac132ef..53a4d4e 100644
--- a/testsuites/tmtests/tm24/task1.c
+++ b/testsuites/tmtests/tm24/task1.c
@@ -65,15 +65,13 @@ rtems_task Init(
     status = rtems_task_start( id, Tasks, 0 );
     directive_failed( status, "rtems_task_start LOOP" );
   }
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task High_task(
   rtems_task_argument argument
 )
 {
-  rtems_status_code status;
   uint32_t    index;
 
   benchmark_timer_initialize();
@@ -96,8 +94,7 @@ rtems_task High_task(
 
   Task_count = 0;
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Tasks(
diff --git a/testsuites/tmtests/tm25/task1.c b/testsuites/tmtests/tm25/task1.c
index c8afe71..e5795ce 100644
--- a/testsuites/tmtests/tm25/task1.c
+++ b/testsuites/tmtests/tm25/task1.c
@@ -75,8 +75,7 @@ rtems_task Init(
     directive_failed( status, "rtems_task_start LOOP" );
   }
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task High_tasks(
diff --git a/testsuites/tmtests/tm26/task1.c b/testsuites/tmtests/tm26/task1.c
index 8145c58..483ddbe 100644
--- a/testsuites/tmtests/tm26/task1.c
+++ b/testsuites/tmtests/tm26/task1.c
@@ -252,8 +252,7 @@ rtems_task Init(
     directive_failed( status, "rtems_task_start LOOP" );
   }
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task High_task(
diff --git a/testsuites/tmtests/tm27/task1.c b/testsuites/tmtests/tm27/task1.c
index c89c095..8c728db 100644
--- a/testsuites/tmtests/tm27/task1.c
+++ b/testsuites/tmtests/tm27/task1.c
@@ -103,8 +103,7 @@ rtems_task Init(
   benchmark_timer_initialize();
   timer_overhead = benchmark_timer_read();
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task_1(
diff --git a/testsuites/tmtests/tm28/task1.c b/testsuites/tmtests/tm28/task1.c
index 976cded..2e328be 100644
--- a/testsuites/tmtests/tm28/task1.c
+++ b/testsuites/tmtests/tm28/task1.c
@@ -48,8 +48,7 @@ rtems_task Init(
   status = rtems_task_start( Task_id[ 1 ], Test_task, 0 );
   directive_failed( status, "rtems_task_start" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Test_task (
diff --git a/testsuites/tmtests/tm29/task1.c b/testsuites/tmtests/tm29/task1.c
index e1c9aff..648249e 100644
--- a/testsuites/tmtests/tm29/task1.c
+++ b/testsuites/tmtests/tm29/task1.c
@@ -152,8 +152,7 @@ rtems_task Init(
 
   Task_count = 0;
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Tasks(
diff --git a/testsuites/tmtests/tmck/task1.c b/testsuites/tmtests/tmck/task1.c
index e13181f..e6e9f78 100644
--- a/testsuites/tmtests/tmck/task1.c
+++ b/testsuites/tmtests/tmck/task1.c
@@ -62,8 +62,7 @@ rtems_task Init(
   status = rtems_task_start( id, Task_1, 0 );
   directive_failed( status, "rtems_task_start of TA1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 rtems_task Task_1(
diff --git a/testsuites/tmtests/tmoverhd/testtask.c b/testsuites/tmtests/tmoverhd/testtask.c
index bc73f8b..88f9f0b 100644
--- a/testsuites/tmtests/tmoverhd/testtask.c
+++ b/testsuites/tmtests/tmoverhd/testtask.c
@@ -49,8 +49,7 @@ rtems_task Init(
   status = rtems_task_start( id, Task_1, 0 );
   directive_failed( status, "rtems_task_start of TA1" );
 
-  status = rtems_task_delete( RTEMS_SELF );
-  directive_failed( status, "rtems_task_delete of RTEMS_SELF" );
+  rtems_task_exit();
 }
 
 /* comment out the following include to verify type are correct */




More information about the vc mailing list