EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Support for Google Test in EPICS base / modules?
From: "Johnson, Andrew N. via Core-talk" <[email protected]>
To: "[email protected]" <[email protected]>
Date: Thu, 18 Apr 2019 15:52:45 +0000
Hi Ralph,

On 4/18/19 6:35 AM, Ralph Lange via Core-talk wrote:
>
>     For which components do you intend to use it and how do you picture
>     building/using it?
>
>
> I am using gtest/gmock for a C++ Device Support module.
>
> At this point I am using the Debian binary packages for gtest and a
> manual Windows install on my two main development platforms, but I
> also have a locally compiled version (on Debian) that I can switch to.
>
> The main (and probably only) thing that the tap-listener achieves: I
> can call "make runtests" and the gtest parts work exactly the same as
> the epicsUnitTest parts, so that CI scripts, CI web display of test
> results etc. "just work", even for a mixture of epicsUnitTest and gtest.
> I would include the two small files needed to do that into EPICS Base,
> so that any module that uses/compiles against EPICS Base could use any
> combination of epicsUnitTest and gtest. (It would eventually also
> allow C++ parts of EPICS Base (like the PVA modules) to use gtest, but
> that's another story not currently in my scope.)
> For the time being, I would leave provision of gtest to the platform
> or CI job. Setting GTEST_HOME in CONFIG_SITE.local should be all an
> EPICS module needs to do. A CI job would build gtest (preferably
> cached) and provide the GTEST_HOME setting.

If what you're suggesting just means adding a couple of source files to
libCom I wouldn't have a problem with doing that — we did something
similar for valgrind. Can you create a Merge Request to show us what it
would look like? Maybe with a test program to confirm that it's working
(which would only get built and run when gtest is available)?

The epel repository for RHEL 7 provides gtest 1.6.0; is that version
sufficient for the listener? It looks like the gtest package provides
only .so libraries, I have to install gtest-devel as well to get the
header files (as you might expect, although that seems a little strange
for a test framework aimed at developers). I would expect to see Release
Notes that describe how to configure Base to use an installation, and
how to create a Makefile that only builds and runs tests when gtest is
available. A link to the gtest documentation online would also be good.

Thanks,

- Andrew

-- 
Arguing for surveillance because you have nothing to hide is no
different than making the claim, "I don't care about freedom of
speech because I have nothing to say." -- Edward Snowdon


Replies:
Re: Support for Google Test in EPICS base / modules? Ralph Lange via Core-talk
References:
Re: Support for Google Test in EPICS base / modules? Konrad, Martin via Core-talk
Re: Support for Google Test in EPICS base / modules? Ralph Lange via Core-talk

Navigate by Date:
Prev: Re: Support for Google Test in EPICS base / modules? Konrad, Martin via Core-talk
Next: Re: Support for Google Test in EPICS base / modules? Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Support for Google Test in EPICS base / modules? Ralph Lange via Core-talk
Next: Re: Support for Google Test in EPICS base / modules? Ralph Lange via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  <20192020  2021  2022  2023  2024 
ANJ, 18 Apr 2019 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·