8000 Convert unit tests from CppUnit to Catch. by TsudaKageyu · Pull Request #825 · taglib/taglib · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Dismiss alert

Convert unit tests from CppUnit to Catch. #825

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

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

TsudaKageyu
Copy link
Contributor

As I mentioned in #822, CppUnit haven't been able to catch up the latest compilers. It requires a workaround to work with the latest AppleClang. (See 6000a19)
So I'd like to suggest that we change our unit test framework from CppUnit to Catch, one of the up-to-date and well-maintained unit test frameworks.

Catch is a single-header library maintained on GitHub. I find it really handy especially on Windows/MSVC since it doesn't require any preparation like building libs, adding paths and blah blah blah. Of course, it works fine on Linux or OSX without any external dependencies.

@sbooth
Copy link
Contributor
sbooth commented Nov 5, 2017

I'd like to go ahead with this. Are there any major objections?

@scotchi scotchi force-pushed the master branch 2 times, most recently from 2948ed7 to de25bc6 Compare September 12, 2019 05:57
@atimholt
Copy link
atimholt commented Dec 5, 2020

Hey, no biggy, but I was just peeking my head into the taglib repo here and noticed that this pull request seems not to have gone through, but that it looks like it was meant to?

—And maybe this is overthinking things, or bikeshedding, or whatever, but doctest is a similar unit test library to Catch, but much faster (according to their github page, at least). I think it may even be very nearly directly compatible with Catch—I seem to recall it actually originating as a fork of Catch. Maybe I'd try offering a pull request myself, but again, maybe such a thing is too “bikeshed-y”, especially with this pull request apparently not having gone through.

@ufleisch ufleisch added the taglib2 Reconsider when breaking binary compatibility label Jan 12, 2021
@neheb
Copy link
Contributor
neheb commented Nov 27, 2022

gtest might be better. catch2 recently decided to break compatibility while retaining the catch2 name.

@neheb
Copy link
Contributor
neheb commented Aug 5, 2023

@TsudaKageyu can you rebase this?

@neheb
Copy link
Contributor
neheb commented Aug 6, 2023

Alright so CMake doesn't do subprojects which makes using Catch2 difficult. That is, OS provided Catch2. Catch2 itself really shouldn't be included here.

OS wise, Catch2 is all over the place. Older Debian/Ubuntu have only Catch1. Newer have Catch2 v2 and no v3. Others only have v3.

gtest is much better OS wise. But it is more verbose than Catch2.

@neheb neheb mentioned this pull request Aug 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
taglib2 Reconsider when breaking binary compatibility
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants
0