diff --git a/src/libCom/test/Makefile b/src/libCom/test/Makefile index e9a987150..24e1c40d8 100644 --- a/src/libCom/test/Makefile +++ b/src/libCom/test/Makefile @@ -128,6 +128,7 @@ rtemsTestHarness_SRCS += epicsAlgorithmTest.cpp rtemsTestHarness_SRCS += epicsCalcTest.cpp rtemsTestHarness_SRCS += epicsEventTest.cpp rtemsTestHarness_SRCS += epicsExceptionTest.cpp +rtemsTestHarness_SRCS += epicsExitTest.cpp rtemsTestHarness_SRCS += epicsMathTest.c rtemsTestHarness_SRCS += epicsMessageQueueTest.cpp rtemsTestHarness_SRCS += epicsMutexTest.cpp diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index bd481ec6d..10d2df960 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -13,6 +13,7 @@ */ #include #include +#include void threadTest(int ntasks,int verbose); void epicsTimerTest(); @@ -32,6 +33,7 @@ int epicsTimeTest(void); int macEnvExpandTest(void); void ringPointerTest(); void blockingSockTest (void); +void epicsExitTest(void); void epicsRunLibComTests(void) @@ -114,6 +116,10 @@ epicsRunLibComTests(void) blockingSockTest(); epicsThreadSleep (1.0); - printf("\n****** Tests Completed *****\n"); - epicsThreadSleep (1.0); + /* + * Must come last + */ + printf("\n****** EpicsExit Test *****\n"); + epicsExitTest(); + epicsExit (0); } diff --git a/src/libCom/test/rtemsTestHarness.c b/src/libCom/test/rtemsTestHarness.c index 77b8851d1..e5701feb1 100644 --- a/src/libCom/test/rtemsTestHarness.c +++ b/src/libCom/test/rtemsTestHarness.c @@ -11,7 +11,6 @@ * This is part of the work being done to provide a unified set of automated * tests for EPICS. Many more changes will be forthcoming. */ - */ #include #define CONFIGURE_RTEMS_INIT_TASKS_TABLE @@ -71,7 +70,6 @@ struct rtems_bsdnet_config rtems_bsdnet_config = { #include #include -#include rtems_task Init (rtems_task_argument ignored) @@ -105,5 +103,6 @@ Init (rtems_task_argument ignored) * Run the tests */ epicsRunLibComTests(); - epicsExit (0); + printf("***** Unexpected return from tests!\n"); + rtems_task_delete(RTEMS_SELF); }