-
Notifications
You must be signed in to change notification settings - Fork 357
tests: switch to GTest #1124
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
tests: switch to GTest #1124
Conversation
2f45d86
to
b6f81e3
Compare
Interesting that I cannot reproduce this locally. Even with containers. |
379720a
to
ca8d0ad
Compare
According to google/googletest#3552 (comment), this will probably never be fixed for GCC 11. |
Guess I'll abandon this. Oh well. |
a7a5afe
to
a892b3b
Compare
GTest seems to be better maintained and has more features. Most of this commit was done with sed and clang-format.
Maybe the overall solution is to mandate a more recent version of gtest. Maybe implement as a git subpproject. |
9197b19
to
88deb13
Compare
gtest as of version 1.11 makes GCC exhibit an ADL bug that was only fixed in version 1.14. Use the gtest subproject in such a case. Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
The initial intention was to provide something which "is better maintained and has more features" than CppUnit. However, if I look at the current situation with the incompatibility with GCC 11 and that this will probably not be fixed, I fear that switching from CppUnit to GTest will cause more pain than joy to the users of TagLib. After all, they have successfully set up CppUnit, and it is working quite well. The additional features of GTest, e.g. GMock, may be nice, but I do not see that we need them for TagLib. So I would suggest that we stick with CppUnit for now. |
Catch2 could be an alternative. Although version 3 is completely incompatible with 2. Weird choice by upstream. |
The important thing for version 2.0.0 is to come up with a stable API, so that later versions can remain binary compatible. I there is really a need to replace the unit testing framework, this could be done later (e.g. when nobody is using a combination of compiler and unit testing framework which is not working). So I would suggest that we put our energy in the things which have to be ready with the release of version 2.0.0. What could be helpful is if you could publish your scripts which can migrate the test cases using |
I think I posted the clang-format script once. There was no interest. The sed stuff is very unpolished and still manual. |
GTest seems to be better maintained and has more features.
Most of this commit was done with sed and clang-format.
Replacement for: #825