Volodymyr Gotra created THRIFT-4458:
---------------------------------------

             Summary: Selection of the C++ test framework for Thrift Compilers
                 Key: THRIFT-4458
                 URL: https://issues.apache.org/jira/browse/THRIFT-4458
             Project: Thrift
          Issue Type: Brainstorming
          Components: C++ - Compiler
            Reporter: Volodymyr Gotra
            Assignee: James E. King, III


Want to discuss in scope of this brainstorming - what will be the best choice 
of c++ test framework for us.

We have few cases:
- Catch (already reused for .netcore compiler tests)
- Google Test (also powerful test framework)
- Boost Test
- other (your proposal)

I tried to reuse Catch (reused 1st version - and owner already produced 2nd 
version - https://github.com/catchorg/Catch2). 

Catch works well and easy to reuse (you can check samples in tests folder for 
compiler).
Problems: it's hard to integrate it into a lot of different IDEs (also 2nd 
version of Catch removed support of C++98 standard). 
But it's not hard to use it with CMake(CTest), console, etc.

>From other side - Google Test - also powerful framework, has a lot of 
>integration into different IDEs (support of at least VSVC2010, C++98 standard, 
>etc.). 
But I didn't try to integrate it (also it seems that it doesn't "single file 
integration").

Not sure about Boost Test - it looks for me like a something very old and hard 
to reuse sometimes. Better to discuss - "do we need it?"

>From my side - I can say that unit tests for compiler can help a lot (already 
>found some "hidden" problems with generation of C# code (like re-usage of 
>keywords, other) and fixed them).

Can be great to discuss, make a proper selection and later to reuse it 
something like a top priority choice for all contributors. 
It should help current contributors and new contributors to create unit tests 
for their compilers easier and we will not spend a lot of time for integration 
into builds.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to