State of cxxtest -> Google Test transistion?
I'm interested in the state of the transition from cxxtest to Google Test framework.
1. How many % of all tests have been re-written to use Google Test instead of cxxtest? 2. Does make test run Google Test suite or cxxtest or both? 3. Is the Google Test framework software included in the repository or a dependency? If the latter, what package?
I guess what I'm looking for is a wiki page with the general status / how to details on this refactoring effort...
I wouldn't mind spending some time helping on this as a way to learn about Inkscape's source/architecture, and Google Test framework.
Cheers
/Olof
2015-09-01 16:39 GMT+02:00 Olof Bjarnason <olof.bjarnason@...400...>:
I'm interested in the state of the transition from cxxtest to Google Test framework.
- How many % of all tests have been re-written to use Google Test instead
of cxxtest?
In the case of lib2geom, most of them, while on the Inkscape side - none, as far as I can tell. The problem here is that Inkscape is not very modular and because of this all tests need to link a mammoth-sized static library. This could be addressed by building libinkscape.a as a shared library instead. However, this is somewhat tedious when using Autotools.
In lib2geom, the following tests do not use GTest yet: - implicitization-test.cpp - linalg-test.cpp - root-find-test.cpp (this should be merged with polynomial-test.cpp) - rtree-test.cpp (should probably be removed along with the RTree, which has a very poor API) - sbasis-text-test.cpp - timing-test.cpp (should be moved to a separate performance test / benchmark target)
- Does make test run Google Test suite or cxxtest or both?
It runs cxxtest. However, since cxxtest generates only one executable containing all tests due to to the above mentioned problem, and since some of those tests fail, the cxxtest executable is marked XFAIL.
- Is the Google Test framework software included in the repository or a
dependency? If the latter, what package?
It is not included in the repository. The default practice in other projects seems to be to include it as a submodule, but Bazaar does not support them. 2Geom simply contains the monolithic source file (gtest.h and gtest-all.c) in its VCS.
Regards, Krzysztof
participants (2)
-
Krzysztof Kosiński
-
Olof Bjarnason