2024-09-17
- Catch2: recognize
FAIL()
calls (#147). - Dropped support for EOL Python 3.7.
- Catch2: add support for catch version 3 (#115).
- Catch2: support exception handling (#117).
- Catch2: Correctly handle test names that contain special characters (#123).
- Added support for Python 3.12.
- Catch2: fix issue with multiple test failures, and support multiple "SECTION" tests. (#112)
- New
cpp_harness_collect
configuration option allows users to add prefix arguments to run C++ test executables, allowing to use additional tools likewine
ofqemu
for a test runners in cross-platform development.
- Fixed a problem while handling errors using
--gtest_filter
. The recommendation is to use pytest's own filtering facilities (like-k
) instead of passing filtering arguments to the underlying framework (#84).
- Dropped support for Python 3.6.
- This plugin now requires pytest >=7.0.
- Fix warnings in pytest 7.0 (#78).
- Fix corner-case issue when no result attribute is found in google test XML output file.
- Added support for
GTEST_SKIP()
skipped message from Google Test1.11
.
-
pytest-cpp
now supports Catch2. Many thanks to @salim-runsafe for the contribution. -
Dropped support for Python 2.7 and 3.5.
- Added support for
GTEST_SKIP()
from Google Test 1.10.
-
New
cpp_verbose
configuration option prints the full output of the C++ test runner as the test finishes. Thanks to @dajose for contributing. -
Now the output of the C++ test run is shown in its own section during test failure, similar to the
captured out
andcaptured err
sections shown by pytest. Thanks to @dajose for contributing.
- New
cpp_harness
configuration option allows users to add prefix arguments when running the C++ test runner, allowing to use tools likevalgrind
. Thanks to @dajose for contributing!
-
Remove
from_parent()
-related warnings in pytest 5.4.2+. -
Masks like
*_test
now work correctly on Windows by automatically appending the expected".exe"
suffix (#45). Thanks @1fabrism for the report.
pytest-cpp
no longer supports Python 3.4.- New
cpp_ignore_py_files
option that makes the plugin ignore*.py
files even if they would otherwise match thecpp_files
option (defaults toTrue
).
- New
cpp_arguments
ini option allows customization of the command-line used to run tests, for example to enable logging and verbosity. Thanks @elkin for the PR.
- Use universal newlines for running Google tests (#33). Thanks @elkin for the PR.
- Properly handle fatal errors in Boost.Test. Thanks @dplucenio for the report.
- Properly handle fixture failures in Boost.Test. Thanks @fj128 for the PR.
- Use XML in CAPS since beginning at Boost 1.61 the parameter value is case sensitive (#29). Thanks @edisongustavo for the PR.
- Proper fix for #25, the fix made in
0.4.1
was incorrect.
- Fix error that may happen during collection when using xdist (#25).
-
Integrated most of the examples found in boost-1.55 for Boost Test into the
pytest-cpp
test suite. This uncovered a problem when Fatal Errors were produced and which would break py.test. -
Integrated all the official Google Test examples into the
pytest-cpp
test suite, ensuring that Google Test is fully covered. -
Fixed #17: supporting Type-Parametrized tests in Google Test. Thanks @joarbe for the report.
-
Now any executable passed explicitly to py.test in the command-line will run as a test, regardless of the
cpp_files
option.
- Now capturing standard error while collecting tests, otherwise
executable files that are not test suites could write into
stderr
, which would mess withpy.test
's output to console.
- Display more than one failure in a
Google
test forEXPECT
calls, instead of only the first one. - Improved code coverage and fixed a number of small issues when internal errors occurred.
cpp_files
option topytest.ini
files.Boost::Test
suites now writes reports to a file, which makes it behave correctly if a test writes instd::cout
orstd::cerr
.
Support for Google Test and Boost Test.