Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017 Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
<== Date ==> <== Thread ==>

Subject: Re: dbVerify removed from EPICS 3.16
From: Michael Davidsaver <mdavidsaver@gmail.com>
To: Andrew Johnson <anj@aps.anl.gov>, tech-talk@aps.anl.gov, Michael Abbott <michael.abbott@diamond.ac.uk>
Date: Tue, 19 Sep 2017 14:04:10 -0500
If you're interested in static validation of db/dbd files, you might
have a look at my 'dbdlint' script.  This can either validate individual
files for basic syntax (--partial), or a full database w/ recordtype
defs (--full).

This includes a handy (to me) feature to detect unintentional "external"
links (aka typos).

> $ cat test.db
> #: external("other.VAL")
> 
> record(longin, "target") {
>     field(INP, "other")
> }
> 
> record(longin, "ok") {
>     field(INP, "targt") # oops
> }
> $ ./dbdlint -F -Wall /path/to/base/dbd/softIoc.dbd test.db
> WARNING test.db:8 ext-link - DB/CA Link to outside PV 'targt.VAL'



https://github.com/epicsdeb/pypdb/blob/master/documentation/dbdlint.rst

https://github.com/epicsdeb/pypdb/blob/master/dbdlint.1.txt

https://github.com/epicsdeb/pypdb


On 09/19/2017 01:00 PM, Andrew Johnson wrote:
> Hi Michael,
> 
> On 09/19/2017 04:34 AM, michael.abbott@diamond.ac.uk wrote:
> 
>> I have just discovered that the dbVerify function has been removed from
>> EPICS 3.16.  I use the functionality provided by this function to
>> validate databases as they are statically constructed (in iocbuilder
>> and epicsdbbuilder).  At present DLS is still using EPICS 3.14, so I am
>> only learning about this from external reports.
> 
> I don't recognize a program named dbVerify; there was a tool called
> dbReadTest which came with 3.14 and matches the functionality you're
> describing. However it relied on the dbStaticHost library, the
> functionality for which was deleted in 3.15 (this was originally
> provided for use by dbExpand and various database design tools, and
> stored all field value data as strings).
> 
>> Has this functionality been replaced by anything equivalent?  The
>> ability to statically validate assignments to database fields is very
>> useful, it substantially increases my confidence that the generated
>> database will actually load!
> 
> We don't provide a replacement for dbReadTest at the moment. The DBD
> file parsing functionality (used at build-time for converting .dbd files
> into .h files) was converted into Perl modules and scripts, but there
> wasn't an urgent need for parsing DB files so Perl scripts for that
> haven't been included (I have some, but IIRC they can't yet parse the
> new JSON field data that was added for Base-3.16.1).
> 
> You should be able to use the 3.14 version of dbReadTest with 3.15.4
> IOCs but in 3.15.5 we changed the promptgroup values, so that doesn't
> work any more now.
> 
> It may be possible to create another program like dbReadTest by
> bastardizing the softMain.c that is part of the softIoc, but it would
> have to dynamically create its own registerRecordDeviceDriver data from
> the IOC's DBD file (that data is normally compiled into the IOC), and
> that won't be trivial to do.
> 
> Evidently I need to finish off my Perl DB parser, but I don't think that
> will make the upcoming EPICS-7 release.
> 
> - Andrew
> 


Replies:
RE: dbVerify removed from EPICS 3.16 michael.abbott
References:
dbVerify removed from EPICS 3.16 michael.abbott
Re: dbVerify removed from EPICS 3.16 Andrew Johnson

Navigate by Date:
Prev: Re: dbVerify removed from EPICS 3.16 Andrew Johnson
Next: RE: dbVerify removed from EPICS 3.16 michael.abbott
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
Navigate by Thread:
Prev: Re: dbVerify removed from EPICS 3.16 Andrew Johnson
Next: RE: dbVerify removed from EPICS 3.16 michael.abbott
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  <2017
ANJ, 20 Sep 2017 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·