diff --git a/modules/database/test/std/rec/regressLinkSevr.db b/modules/database/test/std/rec/regressLinkSevr.db index 607049049..387ee7299 100644 --- a/modules/database/test/std/rec/regressLinkSevr.db +++ b/modules/database/test/std/rec/regressLinkSevr.db @@ -15,4 +15,9 @@ record(stringin, "si2") { } record(longin, "li2") { field(INP, "ai.SEVR CA") + field(FLNK, "cnt") +} + +record(calc, "cnt") { + field(CALC, "VAL+1") } diff --git a/modules/database/test/std/rec/regressTest.c b/modules/database/test/std/rec/regressTest.c index 89239b634..95217043d 100644 --- a/modules/database/test/std/rec/regressTest.c +++ b/modules/database/test/std/rec/regressTest.c @@ -171,11 +171,14 @@ void testLongCalc(void) static void testLinkSevr(void) { + testMonitor *mon; dbChannel *chan; startRegressTestIoc("regressLinkSevr.db"); dbCaSync(); /* wait for CA links to connect */ dbCaSync(); /* wait for initial update */ + mon = testMonitorCreate("cnt", DBE_VALUE, 0); + chan = dbChannelCreate("ai.SEVR"); if(!chan) testAbort("Can't create channel for ai.SEVR"); @@ -193,6 +196,8 @@ void testLinkSevr(void) testdbGetFieldEqual("ai.SEVR", DBF_STRING, "INVALID"); testdbPutFieldOk("si1.PROC", DBF_LONG, 1); + testMonitorWait(mon); + dbCaSync(); /* wait for update */ testdbGetFieldEqual("si1", DBF_STRING, "INVALID"); testdbGetFieldEqual("li1", DBF_LONG, INVALID_ALARM); @@ -201,6 +206,8 @@ void testLinkSevr(void) testTodoEnd(); testdbGetFieldEqual("li2", DBF_LONG, INVALID_ALARM); + testMonitorDestroy(mon); + testIocShutdownOk(); testdbCleanup(); }