Re:Show HN: Writing modern C unit tests with Criterion
by Snaipe on Tuesday September 01, 2015 @09:22AM
(#10152091)
Google Test requires you to write your tests in C++ rather than C; so there was times I just could not use it.
[ Parent
| on HN ]
Re:Show HN: Writing modern C unit tests with Criterion
by GFK_of_xmaspast on Tuesday September 01, 2015 @10:15AM
(#10152436)
I'm having a little trouble imagining a situation where unit tests for a C codebase are appropriate that would be stymied by having to write the tests in C++. (Maybe relying on struct layout?)
Re:Show HN: Writing modern C unit tests with Criterion
by Snaipe on Tuesday September 01, 2015 @11:08AM
(#10152818)
Because C hasn't been a subset of C++ since C99, there are plenty of case where trying to do C in C++ is awkward or just not possible with standard C++:
First, you'd have to wrap your header inclusions in `extern "C"` to disable mangling, then you would have to make sure you static_cast all your pointers where normally `void*` conversions would have done its job.
Furthermore, all interfaces relying on designated initializers and compound literals are broken unless you decide to compile in nonstandard GNU C++.
And there are more incompatibilities, such as using `static` or `const` in array parameter declarations or using VLA in macros which are not recognized by C++.
It's all about using the right tool for the right job, ultimately.