Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ce39c93201 | |||
| 5170c2230d | |||
| 3ed88f2559 | |||
| 2c533d79ab | |||
| a72bc31a44 |
@@ -1,7 +1,7 @@
|
||||
# Module (source) version
|
||||
EPICS_QSRV_MAJOR_VERSION = 1
|
||||
EPICS_QSRV_MINOR_VERSION = 2
|
||||
EPICS_QSRV_MAINTENANCE_VERSION = 0
|
||||
EPICS_QSRV_MAINTENANCE_VERSION = 1
|
||||
EPICS_QSRV_DEVELOPMENT_FLAG = 0
|
||||
|
||||
# ABI version
|
||||
|
||||
@@ -38,7 +38,7 @@ PROJECT_NAME = pva2pva
|
||||
# could be handy for archiving the generated documentation or if some version
|
||||
# control system is used.
|
||||
|
||||
PROJECT_NUMBER = 1.0.1-DEV
|
||||
PROJECT_NUMBER = 1.2.1
|
||||
|
||||
# Using the PROJECT_BRIEF tag one can provide an optional one line description
|
||||
# for a project that appears at the top of each page and should give viewer a
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
|
||||
@page release_notes Release Notes
|
||||
|
||||
Release 1.2.1 (July 2019)
|
||||
=========================
|
||||
|
||||
- Fixes
|
||||
- Fix unittest: testpvalink. No functional change.
|
||||
|
||||
Release 1.2.0 (Mar 2019)
|
||||
========================
|
||||
|
||||
|
||||
@@ -145,7 +145,7 @@ void PDBSinglePV::addMonitor(PDBSingleMonitor* mon)
|
||||
db_post_single_event(evt_VALUE.subscript);
|
||||
db_post_single_event(evt_PROPERTY.subscript);
|
||||
|
||||
} if(hadevent_VALUE && hadevent_PROPERTY) {
|
||||
} else if(hadevent_VALUE && hadevent_PROPERTY) {
|
||||
// new subscriber and already had initial update
|
||||
mon->post(G);
|
||||
} // else new subscriber, but no initial update. so just wait
|
||||
|
||||
+23
-23
@@ -1,8 +1,8 @@
|
||||
|
||||
#include <dbUnitTest.h>
|
||||
#include <testMain.h>
|
||||
#include <longinRecord.h>
|
||||
#include <longoutRecord.h>
|
||||
#include <int64inRecord.h>
|
||||
#include <int64outRecord.h>
|
||||
|
||||
#include <pv/qsrv.h>
|
||||
#include "utilities.h"
|
||||
@@ -15,50 +15,50 @@ void testGet()
|
||||
{
|
||||
testDiag("==== testGet ====");
|
||||
|
||||
longinRecord *li1 = (longinRecord*)testdbRecordPtr("src:i1");
|
||||
int64inRecord *i1 = (int64inRecord*)testdbRecordPtr("src:i1");
|
||||
|
||||
while(!dbIsLinkConnected(&li1->inp))
|
||||
testqsrvWaitForLinkEvent(&li1->inp);
|
||||
while(!dbIsLinkConnected(&i1->inp))
|
||||
testqsrvWaitForLinkEvent(&i1->inp);
|
||||
|
||||
testdbGetFieldEqual("target:i.VAL", DBF_INT64, 42);
|
||||
testdbGetFieldEqual("target:i.VAL", DBF_INT64, 42LL);
|
||||
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 0); // value before first process
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 0LL); // value before first process
|
||||
|
||||
testdbGetFieldEqual("src:i1.INP", DBF_STRING, "{\"pva\":\"target:i\"}");
|
||||
|
||||
testdbPutFieldOk("src:i1.PROC", DBF_INT64, 1);
|
||||
testdbPutFieldOk("src:i1.PROC", DBF_INT64, 1LL);
|
||||
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 42);
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 42LL);
|
||||
|
||||
testdbPutFieldOk("src:i1.INP", DBF_STRING, "{\"pva\":\"target:ai\"}");
|
||||
|
||||
while(!dbIsLinkConnected(&li1->inp))
|
||||
testqsrvWaitForLinkEvent(&li1->inp);
|
||||
while(!dbIsLinkConnected(&i1->inp))
|
||||
testqsrvWaitForLinkEvent(&i1->inp);
|
||||
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 42); // changing link doesn't automatically process
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 42LL); // changing link doesn't automatically process
|
||||
|
||||
testdbPutFieldOk("src:i1.PROC", DBF_INT64, 1);
|
||||
testdbPutFieldOk("src:i1.PROC", DBF_INT64, 1LL);
|
||||
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 4); // now it's changed
|
||||
testdbGetFieldEqual("src:i1.VAL", DBF_INT64, 4LL); // now it's changed
|
||||
}
|
||||
|
||||
void testPut()
|
||||
{
|
||||
testDiag("==== testPut ====");
|
||||
|
||||
longoutRecord *lo2 = (longoutRecord*)testdbRecordPtr("src:lo2");
|
||||
int64outRecord *o2 = (int64outRecord*)testdbRecordPtr("src:o2");
|
||||
|
||||
while(!dbIsLinkConnected(&lo2->out))
|
||||
testqsrvWaitForLinkEvent(&lo2->out);
|
||||
while(!dbIsLinkConnected(&o2->out))
|
||||
testqsrvWaitForLinkEvent(&o2->out);
|
||||
|
||||
testdbGetFieldEqual("target:i2.VAL", DBF_INT64, 43);
|
||||
testdbGetFieldEqual("src:lo2.VAL", DBF_INT64, 0);
|
||||
testdbGetFieldEqual("src:lo2.OUT", DBF_STRING, "{\"pva\":\"target:i2\"}");
|
||||
testdbGetFieldEqual("target:i2.VAL", DBF_INT64, 43LL);
|
||||
testdbGetFieldEqual("src:o2.VAL", DBF_INT64, 0LL);
|
||||
testdbGetFieldEqual("src:o2.OUT", DBF_STRING, "{\"pva\":\"target:i2\"}");
|
||||
|
||||
testdbPutFieldOk("src:lo2.VAL", DBF_INT64, 14);
|
||||
testdbPutFieldOk("src:o2.VAL", DBF_INT64, 14LL);
|
||||
|
||||
testdbGetFieldEqual("target:i2.VAL", DBF_INT64, 14);
|
||||
testdbGetFieldEqual("src:lo2.VAL", DBF_INT64, 14);
|
||||
testdbGetFieldEqual("target:i2.VAL", DBF_INT64, 14LL);
|
||||
testdbGetFieldEqual("src:o2.VAL", DBF_INT64, 14LL);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
@@ -16,6 +16,6 @@ record(int64in, "target:i2") {
|
||||
field(VAL, "43")
|
||||
}
|
||||
|
||||
record(int64out, "src:lo2") {
|
||||
record(int64out, "src:o2") {
|
||||
field(OUT, {pva:"target:i2"})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user