<div dir="auto">Hi,<div dir="auto"><br></div><div dir="auto">(sorry for top-posting, writing from rubbish mobile gmail) </div><div dir="auto"><br></div><div dir="auto">As initial creator of GEOS tests who introduced TUT, I recommend to not to use TUT. So, Even, good you don't. </div><div dir="auto">It has been added ages ago when there where no decent lightweight testing frameworks alternatives. </div><div dir="auto"><br></div><div dir="auto">I use Boost.Test, Catch and Google Test, all have pros and cons, there's no clear winner regarding features, IMHO. </div><div dir="auto"><br></div><div dir="auto">Regarding Catch, I suggest to use Catch2, not 1.x line. <br><div dir="auto"><br><div data-smartmail="gmail_signature" dir="auto">Mateusz Loskot, <a href="mailto:mateusz@loskot.net">mateusz@loskot.net</a><br>(Sent from mobile) </div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 29 May 2018 7:16 pm, "Even Rouault" <<a href="mailto:even.rouault@spatialys.com">even.rouault@spatialys.com</a>> wrote:<br type="attribution"><blockquote class="quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
I was researching a framework to test my new code (and that could also be used <br>
to test the existing C API if needed). Currently src/gie.c has ad-hoc testing, <br>
but it is really limited feature-wise: no nice error message (returns error <br>
code), no way to make a testcase go on even if a test check fails, etc...<br>
<br>
So a dedicated framework seems a better idea, and I've found catch2 :<br>
<a href="https://github.com/catchorg/Catch2/blob/master/docs/Readme.md" rel="noreferrer noreferrer" target="_blank">https://github.com/catchorg/Catch2/blob/master/docs/Readme.md</a><br>
<br>
One of its main feature it is a header only testing framework, which means we <br>
can embed it easily in proj source tree, which is practical compared to other <br>
frameworks I've considered ( googletest, cppunit, etc... ).<br>
The tut framework used by GDAL and GEOS<br>
( <a href="http://mrzechonek.github.io/tut-framework" rel="noreferrer noreferrer" target="_blank">http://mrzechonek.github.io/tut-framework</a> ) would also enter this category <br>
of header(s) only, but it has not as much as activity than catch2.<br>
There's also Boost.Test, but I was a bit afraid with the boost name in it <br>
(although apparently it has a standalone mode).<br>
<br>
Example of tests I've just written with catch2 (just a minimalistic use of the <br>
testing framework)<br>
<a href="https://github.com/rouault/proj.4/blob/iso19111_ptr/test/cpp/test_crs.cpp" rel="noreferrer noreferrer" target="_blank">https://github.com/rouault/proj.4/blob/iso19111_ptr/test/cpp/test_crs.cpp</a><br>
<br>
I'm not particularly calling for a flame debate on the suject, just wanting to <br>
mention this finding.<div class="signature-text"><br>
<br>
Even<br>
<br>
-- <br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com" rel="noreferrer noreferrer" target="_blank">http://www.spatialys.com</a><br>
_______________________________________________<br>
Proj mailing list<br>
<a href="mailto:Proj@lists.maptools.org" target="_blank" rel="noreferrer">Proj@lists.maptools.org</a><br>
<a href="http://lists.maptools.org/mailman/listinfo/proj" rel="noreferrer noreferrer" target="_blank">http://lists.maptools.org/mailman/listinfo/proj</a><br>
</div></blockquote></div><br></div>