From cdaf05c7accd7d765be3bb038d64c21ceb2d7094 Mon Sep 17 00:00:00 2001 From: Andrew Johnson Date: Tue, 29 May 2012 16:20:17 -0500 Subject: [PATCH] db/test: Create a test harness for vxWorks & RTEMS --- src/ioc/db/test/Makefile | 13 ++++++++++--- src/ioc/db/test/epicsRunDbTests.c | 27 +++++++++++++++++++++++++++ src/ioc/db/test/rtemsTestHarness.c | 14 ++++++++++++++ 3 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 src/ioc/db/test/epicsRunDbTests.c create mode 100644 src/ioc/db/test/rtemsTestHarness.c diff --git a/src/ioc/db/test/Makefile b/src/ioc/db/test/Makefile index 3ee77ca07..abaff1860 100644 --- a/src/ioc/db/test/Makefile +++ b/src/ioc/db/test/Makefile @@ -10,15 +10,22 @@ TOP=../../../.. include $(TOP)/configure/CONFIG +PROD_vxWorks += dbTestHarness +PROD_RTEMS += dbTestHarness + PROD_LIBS = dbCore ca Com TESTPROD_HOST += callbackTest callbackTest_SRCS += callbackTest.c -PROD_vxWorks += callbackTest +dbTestHarness_SRCS += callbackTest.c TESTS += callbackTest -# When we add more test programs here, this must become a vxTestHarness -TESTSPEC_vxWorks = callbackTest.munch; callbackTest + +dbTestHarness_SRCS += epicsRunDbTests.c +dbTestHarness_SRCS_RTEMS = rtemsTestHarness.c + +TESTSPEC_vxWorks = dbTestHarness.munch; epicsRunDbTests +TESTSPEC_RTEMS = dbTestHarness.boot; epicsRunDbTests TESTSCRIPTS_HOST += $(TESTS:%=%.t) diff --git a/src/ioc/db/test/epicsRunDbTests.c b/src/ioc/db/test/epicsRunDbTests.c new file mode 100644 index 000000000..0a3e00cd0 --- /dev/null +++ b/src/ioc/db/test/epicsRunDbTests.c @@ -0,0 +1,27 @@ +/*************************************************************************\ +* Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne +* National Laboratory. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +/* + * Run Db tests as a batch. + * + * Do not include performance measurements here, they don't prove + * functionality (which is the purpose of this convenience routine). + */ + +#include "epicsUnitTest.h" +#include "epicsExit.h" + +int callbackTest(void); + +void epicsRunDbTests(void) +{ + testHarness(); + + runTest(callbackTest); + + epicsExit(0); /* Trigger test harness */ +} diff --git a/src/ioc/db/test/rtemsTestHarness.c b/src/ioc/db/test/rtemsTestHarness.c new file mode 100644 index 000000000..c9ab2a68c --- /dev/null +++ b/src/ioc/db/test/rtemsTestHarness.c @@ -0,0 +1,14 @@ +/*************************************************************************\ +* Copyright (c) 2011 UChicago Argonne LLC, as Operator of Argonne +* National Laboratory. +* EPICS BASE is distributed subject to a Software License Agreement found +* in file LICENSE that is included with this distribution. +\*************************************************************************/ + +extern void epicsRunDbTests(void); + +int main(int argc, char **argv) +{ + epicsRunDbTests(); /* calls epicsExit(0) */ + return 0; +}