Hej Tom,
some answers inline
From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Stainer Tom via Tech-talk <tech-talk at aps.anl.gov>
Reply-To: Stainer Tom <Tom.Stainer at sckcen.be>
Date: Tuesday, 7 September 2021 at 11:13
To: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Subject: Unit testing IOCs and databases
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 ☺. 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?
Not what I am aware of - the "standard way". Each record has it's own specific behaviour....
- 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?
I am doing tests using both simulated and real hardware: Motion controllers and motors.
Some tests need the simulator to simulate failures in HW...
In any sense, there is a common motor driver, a model 3 driver.
The simulator does the same things as the real HW, so we use the same driver in both cases.
- 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?
I am using pytest.
And the whole test-suite is rather a integration test, not a Unit test.
If you, or anybody else, is interested, I can explain & show stuff in a video meeting.
Kind regards,
Tom
- Replies:
- RE: Unit testing IOCs and databases Stainer Tom via Tech-talk
- References:
- Unit testing IOCs and databases Stainer Tom via Tech-talk
- Navigate by Date:
- Prev:
Re: Unit testing IOCs and databases Ralph Lange via Tech-talk
- Next:
RE: Unit testing IOCs and databases Stainer Tom via Tech-talk
- 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: Unit testing IOCs and databases Johnson, Andrew N. via Tech-talk
- Next:
RE: Unit testing IOCs and databases Stainer Tom via Tech-talk
- 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
|