The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD
Requires (1)
|
c++11 | c++14 | c++17 | c++20 |
Reviews
Builds
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-static_O2 |
| timestamp |
2026-08-18 13:33:26 UTC (16:49:18 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64-O2 |
| timestamp |
2026-08-18 13:32:39 UTC (16:50:04 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-w64-mingw32 |
| tgt config |
windows_10-gcc_15.2_mingw_w64 |
| timestamp |
2026-08-18 13:31:50 UTC (16:50:53 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_26.04-gcc_15-bindist |
| timestamp |
2026-08-18 12:08:40 UTC (18:14:04 hours ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_44-gcc_16-bindist |
| timestamp |
2026-08-14 17:06:24 UTC (04 13:16:20 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-static_O3 |
| timestamp |
2026-08-12 03:44:50 UTC (07 02:37:54 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew-O3 |
| timestamp |
2026-08-12 03:43:20 UTC (07 02:39:23 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-gcc_14_homebrew |
| timestamp |
2026-08-12 03:42:15 UTC (07 02:40:29 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-static_O3 |
| timestamp |
2026-08-12 00:02:18 UTC (07 06:20:26 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
| timestamp |
2026-08-11 23:55:22 UTC (07 06:27:22 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14-O3 |
| timestamp |
2026-08-11 23:54:54 UTC (07 06:27:50 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_14 |
| timestamp |
2026-08-11 23:54:29 UTC (07 06:28:15 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-static_O3 |
| timestamp |
2026-08-11 23:51:02 UTC (07 06:31:41 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0-O3 |
| timestamp |
2026-08-11 23:50:01 UTC (07 06:32:42 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin23.5.0 |
| tgt config |
macos_14-clang_15.0 |
| timestamp |
2026-08-11 23:48:12 UTC (07 06:34:32 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-O3 |
| timestamp |
2026-08-11 23:23:18 UTC (07 06:59:26 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++-static_O3 |
| timestamp |
2026-08-11 23:23:17 UTC (07 06:59:27 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22_libc++ |
| timestamp |
2026-08-11 23:22:29 UTC (07 07:00:14 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
| timestamp |
2026-08-11 21:34:09 UTC (07 08:48:35 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++-O3 |
| timestamp |
2026-08-11 21:33:16 UTC (07 08:49:28 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18_libc++ |
| timestamp |
2026-08-11 21:32:17 UTC (07 08:50:27 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-static_O3 |
| timestamp |
2026-08-11 21:32:05 UTC (07 08:50:39 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18-O3 |
| timestamp |
2026-08-11 21:31:27 UTC (07 08:51:17 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-clang_18 |
| timestamp |
2026-08-11 21:31:18 UTC (07 08:51:25 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-static_O3 |
| timestamp |
2026-08-11 20:24:32 UTC (07 09:58:11 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-O3 |
| timestamp |
2026-08-11 20:24:01 UTC (07 09:58:43 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16-ndebug_O3 |
| timestamp |
2026-08-11 20:23:31 UTC (07 09:59:13 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_16 |
| timestamp |
2026-08-11 20:22:26 UTC (07 10:00:17 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-apple-darwin22.5.0 |
| tgt config |
macos_13-clang_15.0 |
| timestamp |
2026-08-11 19:58:56 UTC (07 10:23:48 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
| timestamp |
2026-08-11 19:09:11 UTC (07 11:13:33 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_14-bindist |
| timestamp |
2026-08-11 19:08:43 UTC (07 11:14:01 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-O3 |
| timestamp |
2026-08-11 18:02:32 UTC (07 12:20:12 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19 |
| timestamp |
2026-08-11 18:01:12 UTC (07 12:21:32 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd15.0 |
| tgt config |
freebsd_15-clang_19-static_O3 |
| timestamp |
2026-08-11 18:01:08 UTC (07 12:21:35 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15-O3 |
| timestamp |
2026-08-11 17:50:56 UTC (07 12:31:47 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-gcc_15 |
| timestamp |
2026-08-11 17:50:10 UTC (07 12:32:33 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21_libc++ |
| timestamp |
2026-08-11 17:49:05 UTC (07 12:33:38 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-freebsd14.1 |
| tgt config |
freebsd_14-clang_18 |
| timestamp |
2026-08-11 17:41:55 UTC (07 12:40:48 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22 |
| timestamp |
2026-08-11 14:48:13 UTC (07 15:34:31 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-O3 |
| timestamp |
2026-08-11 14:47:30 UTC (07 15:35:14 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_22-static_O3 |
| timestamp |
2026-08-11 14:46:42 UTC (07 15:36:01 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
aarch64-linux-gnu |
| tgt config |
linux_debian_12-gcc_13 |
| timestamp |
2026-08-11 13:24:11 UTC (07 16:58:33 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_debian_13-clang_21 |
| timestamp |
2026-08-11 13:11:51 UTC (07 17:10:52 days ago) |
| result |
warning (update) | warning (test-installed) | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-linux-gnu |
| tgt config |
linux_fedora_43-gcc_15-bindist |
| timestamp |
2026-08-09 14:08:45 UTC (09 16:13:59 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-static_O2 |
| timestamp |
2026-08-06 13:11:50 UTC (12 17:10:53 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18-O2 |
| timestamp |
2026-08-06 13:11:39 UTC (12 17:11:05 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-clang_21_msvc_18 |
| timestamp |
2026-08-06 13:11:18 UTC (12 17:11:26 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-static_O2 |
| timestamp |
2026-08-06 10:59:09 UTC (12 19:23:34 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18-O2 |
| timestamp |
2026-08-06 10:58:21 UTC (12 19:24:23 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.5 |
| tgt config |
windows_10-msvc_18 |
| timestamp |
2026-08-06 10:57:29 UTC (12 19:25:15 days ago) |
| result |
success | log | rebuild |
| toolchain |
public-0.18.1 |
| target |
x86_64-microsoft-win32-msvc14.3 |
| tgt config |
windows_10-msvc_17 |
| timestamp |
2026-08-06 10:21:24 UTC (12 20:01:20 days ago) |
| result |
success | log | rebuild |
Changes
Change Log
v2.4.9 (2022-06-18)
Full Changelog
Closed issues:
- Visual Studio's Test Explorer and Resharper C++'s Unit Test Explorer don't see Doctest's tests #661 (KulaGGin)
- How to get detailed information about testcases failing due to thrown exceptions? #660 (NiklasKappel)
- Add clang-tidy integration and fix all warnings #659 (Saalvage)
- Avoid static init problem in insufficient_procs() (MPI) #657 (starintheuniverse)
- Use MPI_Isend in MpiConsoleReporter to avoid deadlock #656 (starintheuniverse)
- Deadlock in MpiConsoleReporter when root rank fails assert #655 (starintheuniverse)
- Cleanup of DOCTEST_DO_BINARY_EXPRESSION_COMPARISON. Fixes #651 #652 (iboB)
- Comparison with implicit cast from non-const value can't be decomposed #651 (iboB)
- Local structured bindings cannot be used in CHECK macros (since 2.4.8) #647 (pragmaxwell)
- Add tests for DOCTEST_CONFIG_USE_STD_HEADERS #643 (Saalvage)
- Stringification amendments #642 (Saalvage)
- Clean up defines a bit; Implement #439 #641 (Saalvage)
- Fix #508 #640 (Saalvage)
- Fix #508 #639 (Saalvage)
- New doctest version gives me an error: reference to local binding '...' declared in enclosing function 'DOCTEST_ANON_FUNC_16' #638 (a4z)
- The tutorial example does not work (linker errors) with clang 10 #637 (sixcy)
- Implementing `DOCTEST_ASSERT_IMPLEMENT_1` as lambda prevents testing structured bindings #636 (ChrisThrasher)
- re-re-remove overly restrictive minimum version of meson #635 (eli-schwartz)
- Fix move-only types failing to decompose correctly #634 (Saalvage)
- Weird compilation error when using CHECK_THROWS/CHECK_THROWS_AS on Visual Studio 2019 with no exceptions #633 (yeputons)
- Error triggered by comparing typeid with new doctest 2.4.8 #632 (JazzSuite)
- Improve Mac PowerPC support #631 (ryandesign)
- issue introduced in 2.4.7 #630 (onqtam)
- Decompose expressions containing the spaceship operator #629 (falbrechtskirchinger)
- added nolint for cert-err58 #628 (serguei-k)
- Fix properties not being passed in doctest_discover_tests #626 (quantumsteve)
- Config no multithreading #625 (Saalvage)
- wasm*-support? #624 (FrozenSource)
- Fix MPI extension to work with no parallel tests #623 (BerengerBerthoul)
- string comparison leads to gotting stuck #622 (laoshaw)
- doctest_discover_tests no longer sets ENVIRONMENT variables for discovered tests. #621 (quantumsteve)
- Add contains option to checks. #620 (MFraters)
- Feature request: CHECK_THROWS_WITH with contains option #619 (MFraters)
- Add alias target for doctest_with_main #617 (jessestricker)
- Allow escaping backslash with backslash in filters (#614) #616 (yeputons)
- Fix operator<< #615 (Saalvage)
- Correct minor typos #613 (utilForever)
- Fix MPI extension to work if launched without mpirun/mpiexec #612 (BerengerBerthoul)
- Fix mpi subcase #611 (BerengerBerthoul)
- compilation error with custom operator== defined in namespace #610 (zvyagin1)
- Regression: Clang-Tidy warnings in 2.4.8 #607 (nlohmann)
- Internal compiler error with GCC 7.5 #606 (foonathan)
- tagging convension has changed? #605 (kloczek)
- Update Doctest in vcpkg to 2.4.8 #604 (gc435)
- Add IsNaN operator! #603 (Saalvage)
- Ignored generated files from CMake, OSX, Xcode, and VS #602 (LeonBrands)
- Move roadmap and wipe it clean #601 (Saalvage)
- removes a duplicate word 'most' in configuration.md #599 (krishnakumarg1984)
- Fix subcase reentry #598 (Saalvage)
- Loop-generated `SUBCASE`s are not run #597 (yeputons)
- Void #596 (Saalvage)
- Add flag that forces custom stringification methods to be provided #595 (Saalvage)
- Fix coverage #594 (Saalvage)
- TEST CODECOV PR BEHAVIOR #593 (Saalvage)
- Ignore CMake and MacOS generated files #592 (LeonBrands)
- Feature request: option to disable fallback "{?}" stringifier #591 (YarikTH)
- Add tests for default stringification result of doctest #590 (YarikTH)
- Feature config ret vals #589 (Saalvage)
- DOCTEST_CONFIG_ASSERT_RETURN_VALUES #588 (Saalvage)
- Support pretty printing of container based on heuristics #587 (YarikTH)
- Refactor stringification #585 (Saalvage)
- Feature: Better NaN #584 (Saalvage)
- Nan check #582 (Saalvage)
- Update roadmap following maintainer change #581 (eyalroz)
- Regression between 2.4.6 and 2.4.7 #571 (YarikTH)
- build failure with gcc-11.2 when using user declared operator<<(ostream, vector) #551 (nlitsme)
- variable maximum is assigned 6206517616395625 instead of the actual return value which is 5.0 #530 (kk723)
- toString can call existing user-defined toString through ADL incorrectly #508 (zeux)
- [Coverity] Concurrent data access violations (MISSING_LOCK) doctest.h: 5838 in doctest::::ConsoleReporter::test_case_start(const doctest::TestCaseData &)() #486 (jiridanek)
- Provide an error message if REQUIRE (or other disabled assertion macros) are used when exceptions are disabled #439 (alexeyr)
- Conflict with templated toString function #420 (TillHeinzel)
- -tc does not work with comma in names #398 (martinus)
- Compile error on MSVC2019 with any macro which involves stringification of std::string (asserts, INFO, etc.) when isn't included #381 (nyanpasu64)
- the dll example doesn't run correctly on Windows with MinGW #375 (GregKon)
- add basic conan recipe #354 (trondhe)
- CHECK_MESSAGE() should accept temporaries #337 (eyalroz)
- stringify of cstring literals doesn't work out of the box with separate test_driver.cpp #329 (teichert)
- warning : function declared 'noreturn' should not return [-Winvalid-noreturn] #307 (Vexthil)
- Test cases containing a comma cannot be run individually #297 (Tradias)
- [bug] Can't compile the tests because of mutex, that is declared in the doctest #242 (BrunaoW)
- The `CHECK` macro conflicts with Boost.Beast (and surely others) #234 (reddwarf69)
- Feature request: check if a `float` or `double` is NaN #105 (iamthad)