Jump to content

RobinP

Members
  • Content Count

    7
  • Joined

  • Last visited

Posts posted by RobinP


  1. Make sure you right click on the pch file in the project and select "Use for precompiling".  This is set by default for a new project but won't be if you have an old project that used to be compiled with the classic compiler.

    With that set I usually find moving from Classic to Clang that the build takes around 4 to 5 times longer, which can just about be squeezed down to only twice as long using Twine.

    • Thanks 1

  2. Ok seems to be my mistake, DUnitX is clearly still used for Delphi, but the 10.4 wiki clearly states that it does not work with C++ Builder, and they even suggest using GoogleTest: http://docwiki.embarcadero.com/RADStudio/Sydney/en/DUnitX_Overview

     

    So if I want to migrate to the Clang compilers this leaves 3 options:

    1. Hope somebody updates DUnit or DUnitX to work with Clang (32 and 64 bit).  I could maybe do some testing for this but can't put much time into it.

    2. Move to another already existing C++ framework such as GoogleTest.

    3. Write my own home brew test framework.

     

    At the moment I don't really have any idea which would be easier. 


  3. I agree with all you say about DUnit. I had a quick look into fixing it myself but since we are currently a pure C++ shop (don't even have Delphi installed) I thought it was too much of a learning curve and would probably be easier just to move to a more actively maintained framework, hence my interest in GoogleTest.  I have a feeling there were more issues with DUnit and Clang but can't remember exactly what.


  4. DUnit works fine using the classic C++ compiler, but with Clang some tests wouldn't build due to a missing overload of CheckEquals.  I reported it but they said it was a DUnit issue so nobody is going to fix it.

     

    https://quality.embarcadero.com/browse/RSP-27695

     

    Since DUnit seems to have been a dead project for many years it makes sense to move to something else now as part of our Clang migration.  I know there are spinoffs but I think DUnitX is now deprecated or will not be supported by Embarcadero, and I'm not sure how far DUnit2 got or if it works with C++ and Clang.

×