[dpdk-dev] [RFC 0/4] Use Google Test as DPDK unit test framework

Neil Horman nhorman at tuxdriver.com
Wed Aug 3 13:31:55 CEST 2016


On Tue, Aug 02, 2016 at 11:52:24PM +0200, Thomas Monjalon wrote:
> 2016-08-02 21:37, Declan Doherty:
> > I've been trying out using google test as a possible replacement for our unit
> > test framework and have put to together this series of patches with help from
> > Anatoly as RFC to get peoples thoughts on migrating to google test.
> 
> Thanks for exploring new possibilities.
> 
> > To facilitate google test this rfc patch set contains build system changes to
> > allow C++ to built within the DPDK framework, this intended for unit test code
> > only, and to support google test which is a C++ framework. Don't worry, I'm not
> > advocating making DPDK a C++ project :) 
> 
> You are not advocating but the unit test must be written in C++.
> I don't think it is a good idea to force people to write and maintain the tests
> in a different language than the code it tests.
> 

I agree, there are lots of xunit based integration tests that are available as
pure C frameworks.  Jenkins might also be a good candidate here.

> > Some of the major advantages of google test that I see over continuing to use the
> > current test include giving a consist feel to all tests, a powerful test
> > execution framework which allow individual test suites or tests to be specified
> > from the command line, support for a standard xunit output which can be integrated
> > into a continuous build systems, and a very powerful mocking library
> > which allows much more control over testing failure conditions.
> 
> It would be interesting to better describe in details what is missing currently
> and what such a framework can bring.
> (I agree there is a huge room for improvements on unit tests)
> 

I agree that a test framework gives a consistent look and feel to all tests, but
it seems to me that would be the case with any framework worth its salt.  While
I'm not opposed to google test per-se, the fact that it requires C++ to build
makes me wonder if there isn't a better option available.

Neil



More information about the dev mailing list