testCa: Embedded IOCs need Base-3.16.2 or higher

This commit is contained in:
Andrew Johnson
2018-05-27 15:21:54 -05:00
parent 206d080de1
commit 6681bdc4c6
2 changed files with 8 additions and 7 deletions

View File

@@ -12,7 +12,7 @@ TESTPROD_HOST += testCaProvider
testCaProvider_SRCS += testCaProvider.cpp
caTestHarness_SRCS += testCaProvider.cpp
TESTS += testCaProvider
ifdef BASE_3_15
ifdef BASE_3_16
testCaProvider_SRCS += testIoc_registerRecordDeviceDriver.cpp
REGRDDFLAGS = -l
else
@@ -20,8 +20,8 @@ else
export EPICS_HOST_ARCH
endif
ifdef BASE_3_15
# Embedded OSes need dbUnitTest, Base-3.15 and higher only
ifdef BASE_3_16
# Embedded OSes need Base-3.16.2 or higher to pass tests
# The test collection is caTestHarness
caTestHarness_SRCS += pvCaAllTests.c
@@ -41,7 +41,7 @@ TESTSCRIPTS_HOST += $(TESTS:%=%.t)
include $(TOP)/configure/RULES
ifdef BASE_3_15
ifdef BASE_3_16
$(COMMON_DIR)/testIoc.dbd: $(EPICS_BASE)/dbd/softIoc.dbd
$(CP) $< $@
endif

View File

@@ -16,7 +16,7 @@
#include <epicsVersion.h>
#ifdef EPICS_VERSION_INT
#if EPICS_VERSION_INT >= VERSION_INT(3,15,0,1)
#if EPICS_VERSION_INT >= VERSION_INT(3,16,2,0)
#define USE_DBUNITTEST
// USE_TYPED_RSET prevents deprecation warnings
#define USE_TYPED_RSET
@@ -704,8 +704,9 @@ void TestIoc::start()
void TestIoc::run()
{
#ifndef USE_DBUNITTEST
// Base-3.14 doesn't provide the dbUnitTest APIs.
// This code only works on workstation targets, it runs the
// Base-3.14 doesn't provide the dbUnitTest APIs, and the CA
// tests with an embedded IOC fail with a Base before 3.16.2.
// This version only works on workstation targets, it runs the
// softIoc from Base as a separate process, using system().
char * base;
base = getenv("EPICS_BASE");