mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-21 20:55:11 +00:00
Make sure all warnings in pytest get turned into errors (#2838)
* Make sure all warnings in pytest get turned into errors * Suppress DeprecationWarnings in test_int_convert and test_numpy_int_convert * PyLong_AsLong only shouts "Deprecated!" on Python>=3.8 * Fix remaining warnings on PyPy and CPython 3.10-dev
This commit is contained in:
parent
721834b422
commit
fe845878d1
@ -7,11 +7,11 @@ addopts =
|
||||
-rs
|
||||
# capture only Python print and C++ py::print, but not C output (low-level Python errors)
|
||||
--capture=sys
|
||||
# enable all warnings
|
||||
-Wa
|
||||
filterwarnings =
|
||||
# make warnings into errors but ignore certain third-party extension issues
|
||||
error
|
||||
# somehow, some DeprecationWarnings do not get turned into errors
|
||||
always::DeprecationWarning
|
||||
# importing scipy submodules on some version of Python
|
||||
ignore::ImportWarning
|
||||
# bogus numpy ABI warning (see numpy/#432)
|
||||
|
@ -299,7 +299,12 @@ def test_int_convert():
|
||||
assert convert(7) == 7
|
||||
assert noconvert(7) == 7
|
||||
cant_convert(3.14159)
|
||||
assert convert(Int()) == 42
|
||||
# TODO: Avoid DeprecationWarning in `PyLong_AsLong` (and similar)
|
||||
if (3, 8) <= env.PY < (3, 10):
|
||||
with pytest.deprecated_call():
|
||||
assert convert(Int()) == 42
|
||||
else:
|
||||
assert convert(Int()) == 42
|
||||
requires_conversion(Int())
|
||||
cant_convert(NotInt())
|
||||
cant_convert(Float())
|
||||
@ -329,7 +334,12 @@ def test_numpy_int_convert():
|
||||
assert noconvert(np.intc(42)) == 42
|
||||
|
||||
# The implicit conversion from np.float32 is undesirable but currently accepted.
|
||||
assert convert(np.float32(3.14159)) == 3
|
||||
# TODO: Avoid DeprecationWarning in `PyLong_AsLong` (and similar)
|
||||
if (3, 8) <= env.PY < (3, 10):
|
||||
with pytest.deprecated_call():
|
||||
assert convert(np.float32(3.14159)) == 3
|
||||
else:
|
||||
assert convert(np.float32(3.14159)) == 3
|
||||
require_implicit(np.float32(3.14159))
|
||||
|
||||
|
||||
|
@ -434,8 +434,7 @@ TEST_SUBMODULE(class_, m) {
|
||||
struct SamePointer {};
|
||||
static SamePointer samePointer;
|
||||
py::class_<SamePointer, std::unique_ptr<SamePointer, py::nodelete>>(m, "SamePointer")
|
||||
.def(py::init([]() { return &samePointer; }))
|
||||
.def("__del__", [](SamePointer&) { py::print("__del__ called"); });
|
||||
.def(py::init([]() { return &samePointer; }));
|
||||
|
||||
struct Empty {};
|
||||
py::class_<Empty>(m, "Empty")
|
||||
|
Loading…
Reference in New Issue
Block a user