Merge branch '7.0' release 7.4.0.1 into PSI-7.0

Conflicts:
	.gitmodules
	modules/database/src/ioc/db/Makefile
	modules/libcom/test/epicsAtomicTest.cpp
	modules/pvAccess
	modules/pvData
	modules/pvDatabase
	modules/pva2pva
This commit is contained in:
2020-06-02 14:55:30 +02:00
868 changed files with 33281 additions and 27367 deletions

View File

@@ -77,6 +77,13 @@ testHarness_SRCS += softTest.c
TESTFILES += ../softTest.db
TESTS += softTest
TESTPROD_HOST += seqTest
seqTest_SRCS += seqTest.c
seqTest_SRCS += recTestIoc_registerRecordDeviceDriver.cpp
testHarness_SRCS += seqTest.c
TESTFILES += ../seqTest.db
TESTS += seqTest
TARGETS += $(COMMON_DIR)/asTestIoc.dbd
DBDDEPENDS_FILES += asTestIoc.dbd$(DEP)
asTestIoc_DBD += base.dbd

View File

@@ -5,7 +5,7 @@
\*************************************************************************/
/* This test includes all public headers from libCom and database modules
* to ensure they are all syntaxtically correct in C and C++
* to ensure they are all syntaxtically correct in both C and C++
*/
#include <aaiRecord.h>
@@ -31,14 +31,12 @@
#include <cantProceed.h>
#include <caProto.h>
#include <caVersion.h>
#include <caVersionNum.h>
#include <chfPlugin.h>
#include <compilerDependencies.h>
#include <compressRecord.h>
#include <cvtFast.h>
#include <cvtTable.h>
#include <databaseVersion.h>
#include <databaseVersionNum.h>
#include <dbAccessDefs.h>
#include <dbAccess.h>
#include <dbAddr.h>
@@ -152,7 +150,6 @@
#endif
#include <libComRegister.h>
#include <libComVersion.h>
#include <libComVersionNum.h>
#include <link.h>
#ifdef __cplusplus
# include <locationException.h>

View File

@@ -36,7 +36,7 @@ void testmbbioFields(const char* rec, unsigned int value)
{
char field[40];
unsigned int i;
testdbGetFieldEqual(rec, DBF_ULONG, value);
for (i=0; i < 32; i++)
{
@@ -50,7 +50,7 @@ void testmbbioRecords(unsigned int count, unsigned int value)
{
char rec[40];
unsigned int i;
for (i = 1; i <= count; i++)
{
sprintf(rec, "do%d", i);
@@ -66,7 +66,7 @@ void putN(const char* pattern, unsigned int count, unsigned int value)
{
char field[40];
unsigned int i;
for (i = 1; i <= count; i++)
{
sprintf(field, pattern, i);
@@ -79,7 +79,7 @@ void testN(const char* pattern, unsigned int count, unsigned int value)
{
char field[40];
unsigned int i;
for (i = 1; i <= count; i++)
{
sprintf(field, pattern, i);
@@ -96,7 +96,7 @@ MAIN(mbbioDirectTest)
unsigned int simvalue = 0;
char macros [40];
const unsigned int N = 2;
testPlan(N*((32+1)*2*4+4+3));
testdbPrepare();

View File

@@ -0,0 +1,55 @@
/*************************************************************************\
* Copyright (c) 2020 Gabriel Fedel
* EPICS BASE is distributed subject to a Software License Agreement found
* in file LICENSE that is included with this distribution.
\*************************************************************************/
#include "dbUnitTest.h"
#include "testMain.h"
#include "errlog.h"
#include "dbAccess.h"
#include <epicsThread.h>
void recTestIoc_registerRecordDeviceDriver(struct dbBase *);
/*
* This test verifies the behavior of seq using Specified for SELM
* The behavior should be the same for all the DOLx
* */
static
void testSeqSpecified(void){
int i;
for (i=0; i < 16; i++) {
testdbPutFieldOk("seq0.SELN", DBR_USHORT, i);
testdbPutFieldOk("ai0", DBR_LONG, 0);
testdbPutFieldOk("seq0.PROC", DBR_USHORT, 1);
testSyncCallback();
testdbGetFieldEqual("ai0", DBR_LONG, i+1);
}
}
MAIN(eventTest) {
testPlan(4*16);
testdbPrepare();
testdbReadDatabase("recTestIoc.dbd", NULL, NULL);
recTestIoc_registerRecordDeviceDriver(pdbbase);
testdbReadDatabase("seqTest.db", NULL, NULL);
eltc(0);
testIocInitOk();
eltc(1);
testSeqSpecified();
testIocShutdownOk();
testdbCleanup();
return testDone();
}

View File

@@ -0,0 +1,39 @@
record(seq, "seq0"){
field(SELM, "Specified")
field(DOL0, "1")
field(DOL1, "2")
field(DOL2, "3")
field(DOL3, "4")
field(DOL4, "5")
field(DOL5, "6")
field(DOL6, "7")
field(DOL7, "8")
field(DOL8, "9")
field(DOL9, "10")
field(DOLA, "11")
field(DOLB, "12")
field(DOLC, "13")
field(DOLD, "14")
field(DOLE, "15")
field(DOLF, "16")
field(LNK0, "ai0")
field(LNK1, "ai0")
field(LNK2, "ai0")
field(LNK3, "ai0")
field(LNK4, "ai0")
field(LNK5, "ai0")
field(LNK6, "ai0")
field(LNK7, "ai0")
field(LNK8, "ai0")
field(LNK9, "ai0")
field(LNKA, "ai0")
field(LNKB, "ai0")
field(LNKC, "ai0")
field(LNKD, "ai0")
field(LNKE, "ai0")
field(LNKF, "ai0")
}
record(ai, "ai0"){
}

View File

@@ -436,8 +436,12 @@ void testSimmDelay(const char *name,
testdbGetFieldEqual(namePACT, DBR_USHORT, 1);
epicsTimeGetCurrent(&now);
epicsThreadSleep(1.75*delay);
if(testImpreciseTiming())
testTodoBegin("imprecise");
testdbGetFieldEqual(namePACT, DBR_USHORT, 0);
testOk(epicsTimeLessThan(&now, mytime), "time stamp taken from second pass processing");
if(testImpreciseTiming())
testTodoEnd();
/* Reset delay */
*psdly = -1.;