Uploaded image for project: 'Thrift'
  1. Thrift
  2. THRIFT-4458

Selection of the C++ test framework for Thrift Compilers

    XMLWordPrintableJSON

    Details

    • Type: Brainstorming
    • Status: Closed
    • Priority: Major
    • Resolution: Information Provided
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: C++ - Compiler, Test Suite
    • Labels:
      None

      Description

      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.

        Attachments

          Activity

            People

            • Assignee:
              jking3 James E. King III
              Reporter:
              vgotra Volodymyr Gotra
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: