From 002bafdf07c7efe33d8dbb1eea45c5fc91de62e9 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Fri, 17 Jul 2015 18:06:58 -0500 Subject: [PATCH] Add testHarnessDone --- src/libCom/misc/epicsUnitTest.c | 4 ++-- src/libCom/misc/epicsUnitTest.h | 2 ++ src/libCom/test/epicsRunLibComTests.c | 7 ++++++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/src/libCom/misc/epicsUnitTest.c b/src/libCom/misc/epicsUnitTest.c index 9feb59195..730bde7a2 100644 --- a/src/libCom/misc/epicsUnitTest.c +++ b/src/libCom/misc/epicsUnitTest.c @@ -210,7 +210,7 @@ int testDone(void) { /* Our test harness, for RTEMS and vxWorks */ -static void harnessExit(void *dummy) { +void testHarnessExit(void *dummy) { epicsTimeStamp ended; int Faulty; @@ -247,7 +247,7 @@ static void harnessExit(void *dummy) { void testHarness(void) { epicsThreadOnce(&onceFlag, testOnce, NULL); - epicsAtExit(harnessExit, NULL); + epicsAtExit(testHarnessExit, NULL); Harness = 1; Programs = 0; Tests = 0; diff --git a/src/libCom/misc/epicsUnitTest.h b/src/libCom/misc/epicsUnitTest.h index c1f0a5939..47f5cf53a 100644 --- a/src/libCom/misc/epicsUnitTest.h +++ b/src/libCom/misc/epicsUnitTest.h @@ -40,9 +40,11 @@ epicsShareFunc int testDone(void); typedef int (*TESTFUNC)(void); epicsShareFunc void testHarness(void); +epicsShareFunc void testHarnessExit(void *dummy); epicsShareFunc void runTestFunc(const char *name, TESTFUNC func); #define runTest(func) runTestFunc(#func, func) +#define testHarnessDone() testHarnessExit(0) #ifdef __cplusplus } diff --git a/src/libCom/test/epicsRunLibComTests.c b/src/libCom/test/epicsRunLibComTests.c index e49c10166..aa62465ff 100644 --- a/src/libCom/test/epicsRunLibComTests.c +++ b/src/libCom/test/epicsRunLibComTests.c @@ -104,7 +104,12 @@ void epicsRunLibComTests(void) runTest(taskwdTest); /* - * Exit must come last as it never returns + * Report now in case epicsExitTest dies + */ + testHarnessDone(); + + /* + * epicsExitTest must come last as it never returns */ runTest(epicsExitTest); }