From 4b05477417fec18ed1956cd5a4bd5a50aa2c2f2e Mon Sep 17 00:00:00 2001 From: Michael Davidsaver Date: Sun, 4 Nov 2018 15:48:20 -0800 Subject: [PATCH] Base 3.14 --- .travis.yml | 4 ++-- devsupApp/src/pydevsup.h | 6 ++++-- devsupApp/src/utest.c | 21 ++++++++++++++++++++- 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/.travis.yml b/.travis.yml index d32fd56..58fcdd5 100644 --- a/.travis.yml +++ b/.travis.yml @@ -26,8 +26,8 @@ matrix: - python: "3.6" env: BRBASE=7.0 PROF=deb9 TEST=YES - python: "2.7" - env: BRBASE=3.16 PROF=deb8 + env: BRBASE=3.16 PROF=deb8 TEST=YES - python: "2.7" - env: BRBASE=3.15 PROF=deb8 + env: BRBASE=3.15 PROF=deb8 TEST=YES - python: "2.7" env: BRBASE=3.14 PROF=deb8 diff --git a/devsupApp/src/pydevsup.h b/devsupApp/src/pydevsup.h index 93e75d8..cd5e047 100644 --- a/devsupApp/src/pydevsup.h +++ b/devsupApp/src/pydevsup.h @@ -15,6 +15,8 @@ #endif +struct dbCommon; + initHookState pyInitLastState; PyObject* pyDBD_setup(PyObject *unused); @@ -26,8 +28,8 @@ int pyField_prepare(PyObject *module); int pyRecord_prepare(PyObject *module); -int isPyRecord(dbCommon *); -int canIOScanRecord(dbCommon *); +int isPyRecord(struct dbCommon *); +int canIOScanRecord(struct dbCommon *); extern epicsThreadPrivateId pyDevReasonID; diff --git a/devsupApp/src/utest.c b/devsupApp/src/utest.c index 344c5bb..95eeb1d 100644 --- a/devsupApp/src/utest.c +++ b/devsupApp/src/utest.c @@ -5,14 +5,21 @@ #include -#include +#include #include #include #include +#if EPICS_VERSION>3 || (EPICS_VERSION==3 && EPICS_REVISION>=15) +# include +# define HAVE_DBTEST +#endif + #include "pydevsup.h" +#ifdef HAVE_DBTEST static dbEventCtx testEvtCtx; +#endif typedef struct { PyObject_HEAD @@ -39,6 +46,7 @@ static PyObject* utest_prepare(PyObject *unused) static PyObject* utest_init(PyObject *unused) { +#ifdef HAVE_DBTEST int ret; if(testEvtCtx) return PyErr_Format(PyExc_RuntimeError, "Missing testIocShutdownOk()"); @@ -71,10 +79,14 @@ static PyObject* utest_init(PyObject *unused) return PyErr_Format(PyExc_RuntimeError, "db_start_events fails with %d", ret); } Py_RETURN_NONE; +#else + return PyErr_Format(PyExc_RuntimeError, "Requires Base >=3.15"); +#endif } static PyObject* utest_shutdown(PyObject *unused) { +#ifdef HAVE_DBTEST Py_BEGIN_ALLOW_THREADS { //testIocShutdownOk(); db_close_events(testEvtCtx); @@ -82,15 +94,22 @@ static PyObject* utest_shutdown(PyObject *unused) iocShutdown(); } Py_END_ALLOW_THREADS Py_RETURN_NONE; +#else + return PyErr_Format(PyExc_RuntimeError, "Requires Base >=3.15"); +#endif } static PyObject* utest_cleanup(PyObject *unused) { +#ifdef HAVE_DBTEST Py_BEGIN_ALLOW_THREADS { testdbCleanup(); errlogFlush(); } Py_END_ALLOW_THREADS Py_RETURN_NONE; +#else + return PyErr_Format(PyExc_RuntimeError, "Requires Base >=3.15"); +#endif } static PyMethodDef UTest_methods[] = {