From d8e87da898590e174f8fc0d70d2cb32f29d0c546 Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Thu, 7 Nov 2024 13:19:08 +0100 Subject: 🧪 Make pytest notify us about future warnings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In essence, this configures Python to turn any warnings emitted in runtime into errors[[1]]. This is the best practice that allows reacting to future deprecation announcements that are coming from the dependencies (direct, or transitive, or even CPython itself)[[2]]. The typical workflow looks like this: 1. If a dependency is updated an a warning is hit in tests, the deprecated thing should be replaced with newer APIs. 2. If a dependency is transitive or we have no control over it otherwise, the specific warning and a regex matching its message, plus the module reference (where possible) can be added to the list of temporary ignores in `pytest.ini`. 3. The list of temporary ignores should be reevaluated periodically, including when dependency re-pinning in lockfile is happening. [1]: https://docs.python.org/3/using/cmdline.html#cmdoption-W [2]: https://pytest-with-eric.com/configuration/pytest-ignore-warnings/ --- awxkit/test/pytest.ini | 0 awxkit/tox.ini | 4 ++++ 2 files changed, 4 insertions(+) delete mode 100644 awxkit/test/pytest.ini (limited to 'awxkit') diff --git a/awxkit/test/pytest.ini b/awxkit/test/pytest.ini deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/awxkit/tox.ini b/awxkit/tox.ini index 132f72099b..97e7949dc9 100644 --- a/awxkit/tox.ini +++ b/awxkit/tox.ini @@ -44,4 +44,8 @@ max-line-length = 120 [pytest] addopts = -v --tb=native + +filterwarnings = + error + junit_family=xunit2 -- cgit v1.2.3