From 59179909081b732f73203aef1e40a24643efb458 Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Mon, 30 Mar 2020 10:31:22 -0700 Subject: [PATCH] dbPutGetTest test plain array field --- modules/database/test/ioc/db/dbPutGetTest.c | 19 ++++++++++++++++++- modules/database/test/ioc/db/dbPutGetTest.db | 5 +++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/modules/database/test/ioc/db/dbPutGetTest.c b/modules/database/test/ioc/db/dbPutGetTest.c index 61b31a785..08e5c6628 100644 --- a/modules/database/test/ioc/db/dbPutGetTest.c +++ b/modules/database/test/ioc/db/dbPutGetTest.c @@ -119,11 +119,26 @@ void testLongField(void) testdbGetArrFieldEqual("lnktest.NAME$", DBR_CHAR, 8, 8, "lnktest"); } +static +void testPutArr(void) +{ + epicsUInt32 buf[10]; + testDiag("testPutArr()"); + + testdbGetArrFieldEqual("arr", DBR_LONG, 1, 0, NULL); + + buf[0] = 1; buf[1] = 2; buf[2] = 3; buf[3] = 0; + testdbPutArrFieldOk("arr", DBF_ULONG, 3, buf); + + buf[3] = 0xdeadbeef; + testdbGetArrFieldEqual("arr", DBR_LONG, 4, 3, buf); +} + void dbTestIoc_registerRecordDeviceDriver(struct dbBase *); MAIN(dbPutGet) { - testPlan(41); + testPlan(44); testdbPrepare(); testdbReadDatabase("dbTestIoc.dbd", NULL, NULL); @@ -142,6 +157,8 @@ MAIN(dbPutGet) testLongAttr(); testLongField(); + testPutArr(); + testIocShutdownOk(); testdbCleanup(); diff --git a/modules/database/test/ioc/db/dbPutGetTest.db b/modules/database/test/ioc/db/dbPutGetTest.db index 793750e6e..816dc73f0 100644 --- a/modules/database/test/ioc/db/dbPutGetTest.db +++ b/modules/database/test/ioc/db/dbPutGetTest.db @@ -39,3 +39,8 @@ record(x, "lnktarget") {} record(x, "lnktest") { field(INP, "lnktarget NPP NMS") } + +record(arr, "arr") { + field(FTVL, "ULONG") + field(NELM, "10") +}