2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 2025 | Index | 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 <2018> 2019 2020 2021 2022 2023 2024 2025 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: New/improved iocsh debug utility functions (dbli) |
From: | Dirk Zimoch <[email protected]> |
To: | <[email protected]> |
Date: | Thu, 8 Mar 2018 14:15:01 +0100 |
Support for info fields is now done: https://code.launchpad.net/~dirk.zimoch/epics-base/+git/epics-base/+ref/info_fields To list info fields it has the shell function dbli [pattern...] You can read info fields with channel access caget record.info caget record.info$ ... or with db methods dbgf record.info ... which automatically allows links field(INP, "record.info") Access is read-only at the momentNow I would like to add tests. Is there already support to compare shell function output with expected output?
Where to put the test? I want to test the shell function as well as channel access.
Dirk On 02.03.2018 17:03, Dirk Zimoch wrote:
I could fix the problem that infos may appear on the alias dbRecordNode, but to allow 'caget alias.info' I needed dbRecordNode.aliasedRecnode which Michael introduced in 3.16(?). Thus it would make sense to implement CA to info fields in 3.16+ only, right? For my tests, I have simple back-ported aliasedRecnode to 3.14.12.7.Dirk On 02.03.2018 11:31, Dirk Zimoch wrote:One thing is a bit confusing at them moment:When a record has infos and aliases, the infos are bound to the previous alias, not to the original record:record (ai, "dz:ai") { alias("alias1") info(my_info_field, "Hello World") alias("alias2") } alias("dz:ai","alias3") epics> dbla alias1 --> dz:ai alias2 --> dz:ai alias3 --> dz:ai epics> dbli alias1.my_info_field "Hello World" $ caget dz:ai.my_info_field Channel connect timed out: 'dz:ai.my_info_field' not found. $ /usr/local/epics/base/bin/SL6-x86_64/caget alias1.my_info_field alias1.my_info_field Hello World $ /usr/local/epics/base/bin/SL6-x86_64/caget alias2.my_info_field Channel connect timed out: 'alias2.my_info_field' not found. $ /usr/local/epics/base/bin/SL6-x86_64/caget alias3.my_info_field Channel connect timed out: 'alias3.my_info_field' not found. Need to fix that...