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 | 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 |
<== Date ==> | <== Thread ==> |
---|
Subject: | Unit testing IOCs and databases |
From: | Stainer Tom via Tech-talk <tech-talk at aps.anl.gov> |
To: | "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 7 Sep 2021 09:12:45 +0000 |
Hello EPICS community, I have a question, that is quite broad in its nature (I know these don’t go down well here but thought I’d try anyway), regarding testing in EPICS. Specifically I am interested in how people using EPICS generally test their applications and the logic in IOCs, at a unit testing level.
I am not talking about testing epics-base, of course I trust that your tests provide good coverage
J. What I am interested in is how can I test logic that is in an IOC (db file or via smart database). Essentially this boils down to 4 main questions: - Given a db file what is the standard way to test logic and records inside it in an automated fashion? - Using the V4 smart database, what is the standard way to mock the protocol i.e. PVA, to do more unit testing rather than integration testing?
- How do people mock hardware? Is this done by using the asynPortDriver interface? - Has anyone tried using other libraries, such as google test, Catch2, doctest,… to do unit testing in EPICS? If so, how can I set this up with the EPICS build system? Kind regards, Tom |