RPRO/PUTF also handle self link case

This commit is contained in:
Michael Davidsaver
2019-02-02 15:34:59 -08:00
parent e860617389
commit 62c11c22c9
3 changed files with 27 additions and 3 deletions
+17 -1
View File
@@ -40,7 +40,7 @@ void asyncproctest_registerRecordDeviceDriver(struct dbBase *);
MAIN(asyncproctest)
{
testPlan(25);
testPlan(27);
done = epicsEventMustCreate(epicsEventEmpty);
@@ -125,6 +125,22 @@ MAIN(asyncproctest)
testdbGetFieldEqual("chain4_lim", DBF_SHORT, 1);
}
testDiag("===== Chain 5 ======");
{
dbCommon *dummy=testdbRecordPtr("chain4_dummy");
testdbPutFieldOk("chain5_cnt.PROC", DBF_LONG, 0);
/* sync once queue to wait for any queued RPRO */
scanOnceCallback(dummy, dummydone, NULL);
if (epicsEventWaitWithTimeout(done, 10.0) != epicsEventOK)
testAbort("Processing timed out");
testdbGetFieldEqual("chain5_cnt", DBF_SHORT, 1);
}
testIocShutdownOk();
testdbCleanup();
@@ -80,3 +80,11 @@ record(calc,"chain4_lim") {
record(bo, "chain4_dummy") {
field(TPRO, "$(TPRO=)")
}
# loop breaking regression part 2
# selft link should _not_ RPRO
record(calcout,"chain5_cnt") {
field(CALC, "E:=E+1;E")
field(OUT,"chain5_cnt.A PP")
field(TPRO, "$(TPRO=)")
}