diff --git a/src/ioc/db/test/Makefile b/src/ioc/db/test/Makefile index 9b7a62fca..0664454e7 100644 --- a/src/ioc/db/test/Makefile +++ b/src/ioc/db/test/Makefile @@ -20,30 +20,23 @@ TESTS += callbackTest # When we add more test programs here, this must become a vxTestHarness TESTSPEC_vxWorks = callbackTest.munch; callbackTest -DBDINC += xRecord - TESTPROD_HOST += dbChannelTest -dbChannelTest_SRCS += dbChannelTest.c -dbChannelTest_SRCS += xRecord_registerRecordDeviceDriver.cpp -dbChannelTest_LIBS += dbCore +dbChannelTest_SRCS += dbChannelTest.c xRecord_registerRecordDeviceDriver.cpp OBJS_IOC_vxWorks += dbChannelTest TESTS += dbChannelTest TESTPROD_HOST += chfPluginTest -chfPluginTest_SRCS += chfPluginTest.c -chfPluginTest_LIBS += dbCore +chfPluginTest_SRCS += chfPluginTest.c xRecord_registerRecordDeviceDriver.cpp OBJS_IOC_vxWorks += chfPluginTest TESTS += chfPluginTest TESTPROD_HOST += arrShorthandTest -arrShorthandTest_SRCS += arrShorthandTest.c -arrShorthandTest_LIBS += dbCore +arrShorthandTest_SRCS += arrShorthandTest.c xRecord_registerRecordDeviceDriver.cpp OBJS_IOC_vxWorks += arrShorthandTest TESTS += arrShorthandTest TESTPROD_HOST += dbStateTest dbStateTest_SRCS += dbStateTest.c -dbStateTest_LIBS += dbCore OBJS_IOC_vxWorks += dbStateTest TESTS += dbStateTest @@ -51,3 +44,7 @@ TESTSCRIPTS_HOST += $(TESTS:%=%.t) include $(TOP)/configure/RULES +dbChannelTest$(OBJ): $(COMMON_DIR)/xRecord.h +chfPluginTest$(OBJ): $(COMMON_DIR)/xRecord.h +arrShorthandTest$(OBJ): $(COMMON_DIR)/xRecord.h +dbStateTest$(OBJ): $(COMMON_DIR)/xRecord.h diff --git a/src/ioc/db/test/arrShorthandTest.c b/src/ioc/db/test/arrShorthandTest.c index 307b73766..e64d7801d 100644 --- a/src/ioc/db/test/arrShorthandTest.c +++ b/src/ioc/db/test/arrShorthandTest.c @@ -75,16 +75,21 @@ static void testHead (char* title) { testDiag("--------------------------------------------------------"); } +void xRecord_registerRecordDeviceDriver(struct dbBase *); + MAIN(chfPluginTest) { dbChannel *pch; - testPlan(28); + testPlan(29); db_init_events(); testHead("Set up database"); - testOk1(!dbReadDatabase(&pdbbase, "dbChannelTest.dbx", ".:..", NULL)); + testOk1(!dbReadDatabase(&pdbbase, "xRecord.dbd", ".:..", NULL)); + + xRecord_registerRecordDeviceDriver(pdbbase); + testOk1(!dbReadDatabase(&pdbbase, "dbChannelTest.db", ".:..", NULL)); testOk(!!pdbbase, "pdbbase was set"); testHead("Register plugin"); @@ -123,3 +128,12 @@ MAIN(chfPluginTest) return testDone(); } + +#define GEN_SIZE_OFFSET +#include "xRecord.h" + +#include +#include + +static rset xRSET; +epicsExportAddress(rset,xRSET); diff --git a/src/ioc/db/test/chfPluginTest.c b/src/ioc/db/test/chfPluginTest.c index e3c8604e7..eaaafe226 100644 --- a/src/ioc/db/test/chfPluginTest.c +++ b/src/ioc/db/test/chfPluginTest.c @@ -432,12 +432,14 @@ static void testHead (char* title) { testDiag("--------------------------------------------------------"); } +void xRecord_registerRecordDeviceDriver(struct dbBase *); + MAIN(chfPluginTest) { dbChannel *pch; db_field_log *pfl; - testPlan(1754); + testPlan(1755); db_init_events(); @@ -449,7 +451,10 @@ MAIN(chfPluginTest) testOk(strcmp(chfPluginEnumString(colorEnum, 3, "-"), "-") == 0, "Enum to string: invalid index"); testHead("Set up database"); - testOk1(!dbReadDatabase(&pdbbase, "dbChannelTest.dbx", ".:..", NULL)); + testOk1(!dbReadDatabase(&pdbbase, "xRecord.dbd", ".:..", NULL)); + + xRecord_registerRecordDeviceDriver(pdbbase); + testOk1(!dbReadDatabase(&pdbbase, "dbChannelTest.db", ".:..", NULL)); testOk(!!pdbbase, "pdbbase was set"); testHead("Try to register buggy plugins"); @@ -730,3 +735,12 @@ MAIN(chfPluginTest) return testDone(); } + +#define GEN_SIZE_OFFSET +#include "xRecord.h" + +#include +#include + +static rset xRSET; +epicsExportAddress(rset,xRSET); diff --git a/src/ioc/db/test/dbChannelTest.c b/src/ioc/db/test/dbChannelTest.c index ef37041d1..ad007d812 100644 --- a/src/ioc/db/test/dbChannelTest.c +++ b/src/ioc/db/test/dbChannelTest.c @@ -20,9 +20,6 @@ #include "epicsUnitTest.h" #include "testMain.h" -#define GEN_SIZE_OFFSET -#include "xRecord.h" - /* Expected call bit definitions */ #define e_start 0x00000001 #define e_abort 0x00000002 @@ -150,13 +147,16 @@ chFilterIf testIf = p_string, p_start_map, p_map_key, p_end_map, p_start_array, p_end_array, c_open, c_reg_pre, c_reg_post, c_report, c_close }; +void xRecord_registerRecordDeviceDriver(struct dbBase *); + MAIN(dbChannelTest) { dbChannel *pch; - testPlan(68); + testPlan(69); testOk1(!dbReadDatabase(&pdbbase, "xRecord.dbd", ".:..", NULL)); + xRecord_registerRecordDeviceDriver(pdbbase); testOk1(!dbReadDatabase(&pdbbase, "dbChannelTest.db", ".:..", NULL)); testOk(!!pdbbase, "pdbbase was set"); @@ -250,8 +250,11 @@ MAIN(dbChannelTest) return testDone(); } +#define GEN_SIZE_OFFSET +#include "xRecord.h" + +#include #include -static -rset xRSET; +static rset xRSET; epicsExportAddress(rset,xRSET);