Experimental Physics and Industrial Control System
On 09/20/2017 01:43 AM, [email protected] wrote:
> Hmm. An external linting problem doesn't fit my application very well.
True. I've used this as a step between build (msi expansion) and load.
> How do you validate field assignments in your application, Michael? I need to be able to do something like the following:
So far only link fields (where I usually typo). Field types are known,
so this could be done for other fields. However, it wouldn't give quite
the same assurance as it would be different code (pypdb doesn't depend
on Base). So I'm not sure if this would be good enough for you.
>>>> a = records.ao('TEST')
>>>> a.DRVL = 'wrong'
> AssertionError: Can't write "test" to field DRVL: not a number
>>>> a.DRVL = 123
>>>> a.SCAN = 'wrong'
> AssertionError: Can't write "wrong" to field SCAN: Not a valid menu choice
>>>> a.SCAN = '.1 second'
>>>>
>
>
> From: Michael Davidsaver [mailto:[email protected]]
>> 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, [email protected] 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.
>
>
- References:
- dbVerify removed from EPICS 3.16 michael.abbott
- Re: dbVerify removed from EPICS 3.16 Andrew Johnson
- Re: dbVerify removed from EPICS 3.16 Michael Davidsaver
- RE: dbVerify removed from EPICS 3.16 michael.abbott
- Navigate by Date:
- Prev:
Re: Ideas / Suggestions for the future of VME-CPU Operating Systems Michael Davidsaver
- Next:
Re: PointGrey Firmware Mark Engbretson
- 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>
2018
2019
2020
2021
2022
2023
2024
- Navigate by Thread:
- Prev:
RE: dbVerify removed from EPICS 3.16 michael.abbott
- 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>
2018
2019
2020
2021
2022
2023
2024