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}
Builds
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-O3 |
timestamp |
2024-05-06 06:39:39 UTC (04:12:13 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-static_O3 |
timestamp |
2024-05-06 06:38:03 UTC (04:13:49 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13-ndebug_O3 |
timestamp |
2024-05-06 06:35:51 UTC (04:16:01 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-gcc_13 |
timestamp |
2024-05-06 06:34:18 UTC (04:17:34 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_38-gcc_13-bindist |
timestamp |
2024-05-06 06:30:50 UTC (04:21:02 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_fedora_37-gcc_12.2-bindist |
timestamp |
2024-05-06 05:52:14 UTC (04:59:38 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew-static_O3 |
timestamp |
2024-05-06 04:32:54 UTC (06:18:58 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew-O3 |
timestamp |
2024-05-06 04:32:08 UTC (06:19:44 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-gcc_13_homebrew |
timestamp |
2024-05-06 04:31:28 UTC (06:20:24 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++ |
timestamp |
2024-05-06 02:26:35 UTC (08:25:17 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++-O3 |
timestamp |
2024-05-06 02:25:39 UTC (08:26:13 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0_libc++-static_O3 |
timestamp |
2024-05-06 02:24:24 UTC (08:27:28 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0-static_O3 |
timestamp |
2024-05-06 02:23:17 UTC (08:28:35 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0-O3 |
timestamp |
2024-05-06 02:22:35 UTC (08:29:17 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_16.0 |
timestamp |
2024-05-06 02:19:47 UTC (08:32:05 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6-static_O2 |
timestamp |
2024-05-06 00:34:19 UTC (10:17:33 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6 |
timestamp |
2024-05-06 00:33:28 UTC (10:18:24 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_16.0_llvm_msvc_17.6-O2 |
timestamp |
2024-05-06 00:32:39 UTC (10:19:13 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0-static_O3 |
timestamp |
2024-05-05 23:14:32 UTC (11:37:20 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0-O3 |
timestamp |
2024-05-05 23:13:52 UTC (11:38:00 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_14.0 |
timestamp |
2024-05-05 23:12:37 UTC (11:39:15 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64-O2 |
timestamp |
2024-05-05 23:12:11 UTC (11:39:41 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64 |
timestamp |
2024-05-05 23:05:35 UTC (11:46:17 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-w64-mingw32 |
tgt config |
windows_10-gcc_12.2_mingw_w64-static_O2 |
timestamp |
2024-05-05 23:05:00 UTC (11:46:52 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6-O2 |
timestamp |
2024-05-05 22:56:40 UTC (11:55:12 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6-static_O2 |
timestamp |
2024-05-05 22:55:39 UTC (11:56:13 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.6 |
timestamp |
2024-05-05 22:55:31 UTC (11:56:21 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_15 |
timestamp |
2024-05-05 22:51:20 UTC (12:00:32 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_15_libc++ |
timestamp |
2024-05-05 22:47:13 UTC (12:04:39 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_12-bindist |
timestamp |
2024-05-05 22:41:23 UTC (12:10:29 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0-static_O3 |
timestamp |
2024-05-05 22:30:22 UTC (12:21:30 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0-O3 |
timestamp |
2024-05-05 22:29:44 UTC (12:22:08 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-apple-darwin22.5.0 |
tgt config |
macos_13-clang_15.0 |
timestamp |
2024-05-05 22:29:05 UTC (12:22:47 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_11-gcc_12 |
timestamp |
2024-05-05 22:15:12 UTC (12:36:40 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-ndebug_O3 |
timestamp |
2024-05-05 22:09:24 UTC (12:42:28 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-O3 |
timestamp |
2024-05-05 22:08:26 UTC (12:43:26 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1-static_O3 |
timestamp |
2024-05-05 22:06:13 UTC (12:45:38 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-gcc_13.1 |
timestamp |
2024-05-05 22:04:16 UTC (12:47:36 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0-O3 |
timestamp |
2024-05-05 21:33:15 UTC (13:18:37 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0-static_O3 |
timestamp |
2024-05-05 21:32:35 UTC (13:19:17 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd13.2 |
tgt config |
freebsd_13-clang_14.0 |
timestamp |
2024-05-05 21:32:04 UTC (13:19:48 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-msvc_17.5 |
timestamp |
2024-05-05 21:18:10 UTC (13:33:42 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-microsoft-win32-msvc14.3 |
tgt config |
windows_10-clang_15.0_msvc_msvc_17.6 |
timestamp |
2024-05-05 21:10:25 UTC (13:41:27 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-freebsd12.4 |
tgt config |
freebsd_12-clang_13.0 |
timestamp |
2024-05-05 21:01:35 UTC (13:50:17 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_15.0 |
timestamp |
2024-05-05 20:59:16 UTC (13:52:36 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_12-clang_15.0_libc++ |
timestamp |
2024-05-05 20:58:58 UTC (13:52:54 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
x86_64-linux-gnu |
tgt config |
linux_debian_11-gcc_12.1 |
timestamp |
2024-05-05 20:51:41 UTC (14:00:11 hours ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++-static_O3 |
timestamp |
2024-05-04 00:27:12 UTC (02 10:24:40 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++-O3 |
timestamp |
2024-05-04 00:26:38 UTC (02 10:25:14 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16-static_O3 |
timestamp |
2024-05-04 00:25:31 UTC (02 10:26:21 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16_libc++ |
timestamp |
2024-05-04 00:24:57 UTC (02 10:26:55 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16-O3 |
timestamp |
2024-05-04 00:24:32 UTC (02 10:27:20 days ago) |
result |
success | log | rebuild |
toolchain |
public-0.16.0 |
target |
aarch64-linux-gnu |
tgt config |
linux_debian_12-clang_16 |
timestamp |
2024-05-04 00:20:37 UTC (02 10:31:15 days ago) |
result |
success | log | rebuild |
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)