From 29c8c694240cb36a9326f1555db33d448a42f48f Mon Sep 17 00:00:00 2001 From: Alessio Bogon Date: Sat, 5 Sep 2020 19:02:05 +0200 Subject: [PATCH] Add compatibility function to assert outcomes --- requirements-testing.txt | 2 +- tests/utils.py | 46 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 tests/utils.py diff --git a/requirements-testing.txt b/requirements-testing.txt index 932a895..748809f 100644 --- a/requirements-testing.txt +++ b/requirements-testing.txt @@ -1 +1 @@ -mock +packaging diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 0000000..2689d32 --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,46 @@ +from __future__ import absolute_import, unicode_literals + +import pytest +from packaging.utils import Version + +PYTEST_VERSION = Version(pytest.__version__) + +_errors_key = "error" if PYTEST_VERSION < Version("6") else "errors" + +if PYTEST_VERSION < Version("6"): + + def assert_outcomes( + result, + passed=0, + skipped=0, + failed=0, + errors=0, + xpassed=0, + xfailed=0, + ): + """Compatibility function for result.assert_outcomes""" + return result.assert_outcomes( + error=errors, # Pytest < 6 uses the singular form + passed=passed, + skipped=skipped, + failed=failed, + xpassed=xpassed, + xfailed=xfailed, + ) + + +else: + + def assert_outcomes( + result, + passed=0, + skipped=0, + failed=0, + errors=0, + xpassed=0, + xfailed=0, + ): + """Compatibility function for result.assert_outcomes""" + return result.assert_outcomes( + errors=errors, passed=passed, skipped=skipped, failed=failed, xpassed=xpassed, xfailed=xfailed + )