The fastest feature-rich C++11/14/17/20 single-header testing framework for unit tests and TDD
Usage
Make sure to add the stable cppget.org
repositories to your project's repositories.manifest
to be able to fetch the packages.
:
role: prerequisite
location: https://pkg.cppget.org/1/stable
# trust: ...
Add the respective dependency in your project's manifest
file to make the package available for import.
depends: doctest ^ 2.4.10
The header-only C++ library to use doctest as your unit testing framework can be imported by the following declaration in a buildfile
.
import doctest = doctest%lib{doctest}
Reviews
Builds
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_40-gcc_14-bindist |
timestamp |
2024-12-10 06:07:37 UTC (01 00:06:30 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-O3 |
timestamp |
2024-12-10 05:32:13 UTC (01 00:41:54 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
timestamp |
2024-12-10 05:29:03 UTC (01 00:45:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++ |
timestamp |
2024-12-10 05:27:19 UTC (01 00:46:48 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18-O3 |
timestamp |
2024-12-10 05:26:47 UTC (01 00:47:20 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18-static_O3 |
timestamp |
2024-12-10 05:26:27 UTC (01 00:47:40 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_39-gcc_13-bindist |
timestamp |
2024-12-10 05:25:31 UTC (01 00:48:36 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_18 |
timestamp |
2024-12-10 05:25:18 UTC (01 00:48:49 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-static_O3 |
timestamp |
2024-12-10 05:02:58 UTC (01 01:11:09 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++-O3 |
timestamp |
2024-12-10 05:02:26 UTC (01 01:11:41 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18-O3 |
timestamp |
2024-12-10 05:01:53 UTC (01 01:12:14 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18_libc++ |
timestamp |
2024-12-10 05:01:32 UTC (01 01:12:35 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18-static_O3 |
timestamp |
2024-12-10 05:01:13 UTC (01 01:12:54 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_18 |
timestamp |
2024-12-10 05:00:22 UTC (01 01:13:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10-static_O2 |
timestamp |
2024-12-10 04:39:22 UTC (01 01:34:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64-static_O2 |
timestamp |
2024-12-10 04:38:43 UTC (01 01:35:24 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10-static_O2 |
timestamp |
2024-12-10 04:38:24 UTC (01 01:35:43 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8-static_O2 |
timestamp |
2024-12-10 04:37:40 UTC (01 01:36:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10-O2 |
timestamp |
2024-12-10 04:37:32 UTC (01 01:36:35 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10-O2 |
timestamp |
2024-12-10 04:37:17 UTC (01 01:36:50 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64-O2 |
timestamp |
2024-12-10 04:37:10 UTC (01 01:36:57 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.10 |
timestamp |
2024-12-10 04:36:30 UTC (01 01:37:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_18_llvm_msvc_17.10 |
timestamp |
2024-12-10 04:35:52 UTC (01 01:38:15 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0 |
timestamp |
2024-12-10 04:35:48 UTC (01 01:38:19 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8-O2 |
timestamp |
2024-12-10 04:35:26 UTC (01 01:38:41 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.8 |
timestamp |
2024-12-10 04:35:05 UTC (01 01:39:02 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_13.2_mingw_w64 |
timestamp |
2024-12-10 04:34:41 UTC (01 01:39:26 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_17_msvc_msvc_17.10 |
timestamp |
2024-12-10 04:34:24 UTC (01 01:39:43 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-static_O3 |
timestamp |
2024-12-10 04:31:01 UTC (01 01:43:06 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
timestamp |
2024-12-10 04:30:05 UTC (01 01:44:02 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-O3 |
timestamp |
2024-12-10 04:29:44 UTC (01 01:44:23 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_14 |
timestamp |
2024-12-10 04:29:23 UTC (01 01:44:44 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_ubuntu_24.04-gcc_13-bindist |
timestamp |
2024-12-10 04:23:11 UTC (01 01:50:56 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_12-bindist |
timestamp |
2024-12-10 04:22:59 UTC (01 01:51:08 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18-static_O3 |
timestamp |
2024-12-10 04:22:40 UTC (01 01:51:27 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd13.3 |
tgt config |
freebsd_13-clang_17 |
timestamp |
2024-12-10 04:22:27 UTC (01 01:51:40 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18-O3 |
timestamp |
2024-12-10 04:22:03 UTC (01 01:52:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_17_libc++ |
timestamp |
2024-12-10 04:20:15 UTC (01 01:53:52 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1 |
timestamp |
2024-12-10 04:19:47 UTC (01 01:54:20 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_17 |
timestamp |
2024-12-10 04:18:57 UTC (01 01:55:10 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-freebsd14.1 |
tgt config |
freebsd_14-clang_18 |
timestamp |
2024-12-10 04:17:06 UTC (01 01:57:01 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-static_O3 |
timestamp |
2024-12-10 00:57:03 UTC (01 05:17:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-O3 |
timestamp |
2024-12-10 00:56:32 UTC (01 05:17:35 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14-ndebug_O3 |
timestamp |
2024-12-10 00:56:30 UTC (01 05:17:37 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_14 |
timestamp |
2024-12-10 00:55:59 UTC (01 05:18:08 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13 |
timestamp |
2024-12-09 21:02:04 UTC (01 09:12:03 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_17_libc++ |
timestamp |
2024-12-09 20:45:24 UTC (01 09:28:43 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_17 |
timestamp |
2024-12-09 20:41:03 UTC (01 09:33:04 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew-static_O3 |
timestamp |
2024-12-09 03:03:22 UTC (02 03:10:45 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew-O3 |
timestamp |
2024-12-09 03:02:28 UTC (02 03:11:39 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-gcc_14_homebrew |
timestamp |
2024-12-09 03:01:32 UTC (02 03:12:35 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0-O3 |
result |
unbuilt |
toolchain |
public-0.17.0 |
target |
x86_64-apple-darwin23.5.0 |
tgt config |
macos_14-clang_15.0-static_O3 |
result |
unbuilt |
Changes
Change Log
Full Changelog
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)