testCa: Run IOC using dbUnitTest API where possible

Essential for VxWorks and RTEMS which don't support system().
Build embedded IOC tests only against Base-3.15 and later.
This commit is contained in:
Andrew Johnson
2018-05-27 00:31:32 -04:00
parent 3e0748d488
commit 872004f75f
2 changed files with 72 additions and 18 deletions
+27 -16
View File
@@ -3,34 +3,45 @@
TOP = ..
include $(TOP)/configure/CONFIG
# Need access to caProviderPvt.h
USR_CPPFLAGS += -I$(TOP)/src/ca
CAPROVIDER_TEST = $(TOP)/testCa
PROD_LIBS += pvAccess pvAccessCA pvData ca Com
PROD_LIBS += pvAccess pvAccessCA pvData $(EPICS_BASE_IOC_LIBS)
TESTPROD_HOST += testCaProvider
testCaProvider_SRCS += testCaProvider.cpp
testHarness_SRCS += testCaProvider.cpp
caTestHarness_SRCS += testCaProvider.cpp
TESTS += testCaProvider
testHarness_SRCS += pvCaAllTests.c
ifdef BASE_3_15
testCaProvider_SRCS += testIoc_registerRecordDeviceDriver.cpp
REGRDDFLAGS = -l
else
# testCaProvider needs EPICS_HOST_ARCH set in the environment
export EPICS_HOST_ARCH
endif
# testCaProvider needs EPICS_HOST_ARCH set in the environment
export EPICS_HOST_ARCH
ifdef BASE_3_15
# Embedded OSes need dbUnitTest, Base-3.15 and higher only
# Name the application caTestHarness
caTestHarness_SRCS = $(testHarness_SRCS)
# The test collection is caTestHarness
caTestHarness_SRCS += pvCaAllTests.c
# Build for vxWorks
PROD_vxWorks = caTestHarness
TESTSPEC_vxWorks = caTestHarness.$(MUNCH_SUFFIX); pvCaAllTests
# Build for vxWorks
PROD_vxWorks = caTestHarness
TESTSPEC_vxWorks = caTestHarness.$(MUNCH_SUFFIX); pvCaAllTests
# Build for RTEMS, with harness code & configuration
PROD_RTEMS += caTestHarness
caTestHarness_SRCS_RTEMS += rtemsTestHarness.c
TESTSPEC_RTEMS = caTestHarness.$(MUNCH_SUFFIX); pvCaAllTests
# Build for RTEMS, with harness code & configuration
PROD_RTEMS += caTestHarness
caTestHarness_SRCS_RTEMS += rtemsTestHarness.c
TESTSPEC_RTEMS = caTestHarness.$(MUNCH_SUFFIX); pvCaAllTests
endif
# Build test scripts for hosts
TESTSCRIPTS_HOST += $(TESTS:%=%.t)
include $(TOP)/configure/RULES
ifdef BASE_3_15
$(COMMON_DIR)/testIoc.dbd: $(EPICS_BASE)/dbd/softIoc.dbd
$(CP) $< $@
endif