Our great sponsors
-
-
If you want to throw an exception instead of calling `abort` you can use https://github.com/xlladdins/xll/blob/master/xll/ensure.h When running in a debugger it can break execution when it fails and you can inspect the values of relevant variables.
-
Sonar
Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.
-
See https://github.com/keithalewis/ensure/blob/main/README.md
-
Catch
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch)
Looks good but currently at least REQUIRE (most likely all the other checks too but I didn't test that) fails to correctly evaluate some expressions, due to fundamental problems with macros. One example is described in this issue of the Catch2 repository.