Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package python-pytest-mpi for
openSUSE:Factory checked in at 2021-03-24 16:16:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-mpi (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-mpi.new.2401 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-mpi"
Wed Mar 24 16:16:41 2021 rev:3 rq:880901 version:0.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-mpi/python-pytest-mpi.changes
2021-02-25 18:27:37.842188016 +0100
+++
/work/SRC/openSUSE:Factory/.python-pytest-mpi.new.2401/python-pytest-mpi.changes
2021-03-24 16:17:51.920248331 +0100
@@ -1,0 +2,9 @@
+Mon Mar 15 10:19:55 UTC 2021 - Ben Greiner <[email protected]>
+
+- Update to 0.5
+ * fixes the test suite for pytest 6.2
+- Skip python36 build: With NumPy 1.20, python36-numpy is no
+ longer available in Tumbleweed (NEP 29). Mpi4py depends on NumPy,
+ pytest-mpi us almost useless (and not testable) without mpi4py.
+
+-------------------------------------------------------------------
Old:
----
pytest-mpi-0.4.tar.gz
New:
----
pytest-mpi-0.5.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-mpi.spec ++++++
--- /var/tmp/diff_new_pack.0sFmng/_old 2021-03-24 16:17:52.436248873 +0100
+++ /var/tmp/diff_new_pack.0sFmng/_new 2021-03-24 16:17:52.440248877 +0100
@@ -17,10 +17,11 @@
%define modname pytest_mpi
-# Module supports only python3
%define skip_python2 1
+# mpi4py depends on numpy, which is not available for python36
+%define skip_python36 1
Name: python-pytest-mpi
-Version: 0.4
+Version: 0.5
Release: 0
Summary: MPI plugin for pytest
License: BSD-3-Clause
@@ -30,7 +31,7 @@
BuildRequires: fdupes
BuildRequires: python-rpm-macros
Requires: python-pytest
-Requires: python-sybil
+Recommends: python-mpi4py
BuildArch: noarch
# SECTION test requirements
BuildRequires: %{python_module mpi4py}
@@ -56,10 +57,7 @@
%check
export PATH=${PATH}:%{_libdir}/mpi/gcc/openmpi2/bin
source %{_libdir}/mpi/gcc/openmpi2/bin/mpivars.sh
-# include `-p pytester` as pytester needs to be manually activated (see
https://pytest-mpi.readthedocs.io/en/latest/contributing.html)
-# our pytest version does not like the subclassing of _pytest.Testdir. This
disables almost the entire test suite
-# gh#aragilar/pytest-mpi#17
-%pytest -v -p pytester -k "not (test_fixtures or (test_markers and (with_mpi
or only_mpi or under_mpi)))"
+%pytest -v -p pytester
%files %{python_files}
%doc README.md
++++++ pytest-mpi-0.4.tar.gz -> pytest-mpi-0.5.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/MANIFEST.in
new/pytest-mpi-0.5/MANIFEST.in
--- old/pytest-mpi-0.4/MANIFEST.in 2020-06-20 10:51:23.000000000 +0200
+++ new/pytest-mpi-0.5/MANIFEST.in 2021-03-14 02:02:54.000000000 +0100
@@ -2,7 +2,7 @@
include README.md
include pypi-intro.rst
include LICENSE.txt CONTRIBUTING.md code_of_conduct.md
-include known_broken_constraints.txt
+exclude known_broken_constraints.txt old_pytest.txt
recursive-include docs *
recursive-exclude docs/_build *
include doc-requirements.txt
@@ -15,3 +15,5 @@
prune **/*.pyc
prune **/*.swp
prune **/*.swo
+exclude bors.toml azure-pipelines.yml codecov.yml
+recursive-exclude ci *
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/PKG-INFO new/pytest-mpi-0.5/PKG-INFO
--- old/pytest-mpi-0.4/PKG-INFO 2020-06-20 11:09:12.128557700 +0200
+++ new/pytest-mpi-0.5/PKG-INFO 2021-03-14 02:03:39.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pytest-mpi
-Version: 0.4
+Version: 0.5
Summary: pytest plugin to collect information from tests
Home-page: https://pytest-mpi.readthedocs.io
Author: James Tocknell
@@ -43,3 +43,4 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/README.md new/pytest-mpi-0.5/README.md
--- old/pytest-mpi-0.4/README.md 2019-06-26 14:57:29.000000000 +0200
+++ new/pytest-mpi-0.5/README.md 2021-03-14 02:02:54.000000000 +0100
@@ -1,5 +1,4 @@
[](http://pytest-mpi.readthedocs.org/en/latest/?badge=latest)
-[](https://travis-ci.org/aragilar/pytest-mpi)
[](https://codecov.io/github/aragilar/pytest-mpi?branch=master)
[](https://pypi.python.org/pypi/pytest-mpi/)
[](https://pypi.python.org/pypi/pytest-mpi/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/doc-requirements.txt
new/pytest-mpi-0.5/doc-requirements.txt
--- old/pytest-mpi-0.4/doc-requirements.txt 2020-05-27 11:29:26.000000000
+0200
+++ new/pytest-mpi-0.5/doc-requirements.txt 2021-03-14 02:02:54.000000000
+0100
@@ -1,2 +1,2 @@
sphinx>=1.3
-sphinx_rtd_theme==0.4.3
+sphinx_rtd_theme==0.5.1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/docs/changelog.rst
new/pytest-mpi-0.5/docs/changelog.rst
--- old/pytest-mpi-0.4/docs/changelog.rst 2019-10-19 16:30:05.000000000
+0200
+++ new/pytest-mpi-0.5/docs/changelog.rst 2021-03-14 02:02:54.000000000
+0100
@@ -1,6 +1,20 @@
Changelog
=========
+0.5
+---
+* No codebase changes, only testing/CI changes needed to support pytest 6.
+* We use Azure Pipelines now for CI, rather than Travis
+* Autouploads to PyPI are done via Azure Pipelines
+* We test on both pytest<6 and pytest>=6, due to the need to support both for
+ now.
+
+0.4
+---
+* Added license and contributing details
+* Added fixtures to enable sharing code across files
+* Numerous testing fixes/improvements
+
0.3
---
* Fixed pylint failures
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/docs/contributing.rst
new/pytest-mpi-0.5/docs/contributing.rst
--- old/pytest-mpi-0.4/docs/contributing.rst 2019-10-20 09:26:59.000000000
+0200
+++ new/pytest-mpi-0.5/docs/contributing.rst 2021-03-14 02:02:54.000000000
+0100
@@ -28,6 +28,10 @@
in the top level of the git repository.
+.. note::
+ If you want to run pytest directly, remember to include ``-p pytester``, as
+ pytester needs to be manually activated.
+
.. _tox: https://tox.readthedocs.io/en/latest/
Making a release
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/known_broken_constraints.txt
new/pytest-mpi-0.5/known_broken_constraints.txt
--- old/pytest-mpi-0.4/known_broken_constraints.txt 2020-06-20
10:51:23.000000000 +0200
+++ new/pytest-mpi-0.5/known_broken_constraints.txt 1970-01-01
01:00:00.000000000 +0100
@@ -1 +0,0 @@
-pytest!=5.3.0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/pylintrc new/pytest-mpi-0.5/pylintrc
--- old/pytest-mpi-0.4/pylintrc 2019-10-19 13:37:24.000000000 +0200
+++ new/pytest-mpi-0.5/pylintrc 2021-03-14 02:02:54.000000000 +0100
@@ -61,7 +61,7 @@
# --enable=similarities". If you want to run only the classes checker, but have
# no Warning level messages displayed, use"--disable=all --enable=classes
# --disable=W"
-disable=useless-object-inheritance,no-self-use,import-outside-toplevel,no-member
+disable=useless-object-inheritance,no-self-use,import-outside-toplevel,no-member,invalid-name
[SIMILARITIES]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/setup.py new/pytest-mpi-0.5/setup.py
--- old/pytest-mpi-0.4/setup.py 2020-06-20 10:51:23.000000000 +0200
+++ new/pytest-mpi-0.5/setup.py 2021-03-14 02:02:54.000000000 +0100
@@ -25,7 +25,7 @@
url = "https://pytest-mpi.readthedocs.io",
entry_points = {
'pytest11': [
- 'name_of_plugin = pytest_mpi',
+ 'pytest_mpi = pytest_mpi',
]
},
classifiers=[
@@ -38,6 +38,7 @@
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
+ 'Programming Language :: Python :: 3.9',
],
cmdclass=versioneer.get_cmdclass(),
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/src/pytest_mpi/__init__.py
new/pytest-mpi-0.5/src/pytest_mpi/__init__.py
--- old/pytest-mpi-0.4/src/pytest_mpi/__init__.py 2020-06-20
10:51:23.000000000 +0200
+++ new/pytest-mpi-0.5/src/pytest_mpi/__init__.py 2021-03-14
02:02:54.000000000 +0100
@@ -235,7 +235,7 @@
config.addinivalue_line(
"markers", "mpi_xfail: Tests that fail when run under MPI/mpirun"
)
- config.pluginmanager.register(MPIPlugin(), "pytest_mpi")
+ config.pluginmanager.register(MPIPlugin())
def pytest_addoption(parser):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/src/pytest_mpi/_helpers.py
new/pytest-mpi-0.5/src/pytest_mpi/_helpers.py
--- old/pytest-mpi-0.4/src/pytest_mpi/_helpers.py 1970-01-01
01:00:00.000000000 +0100
+++ new/pytest-mpi-0.5/src/pytest_mpi/_helpers.py 2021-03-14
02:02:54.000000000 +0100
@@ -0,0 +1,16 @@
+"""
+Internal helpers for testing only, do not use in main code
+"""
+import pytest
+
+
+def _fix_plural(**kwargs):
+ """
+ Work around error -> errors change in pytest 6
+ """
+ if int(pytest.__version__[0]) >= 6:
+ return kwargs
+ if "errors" in kwargs:
+ errors = kwargs.pop("errors")
+ kwargs["error"] = errors
+ return kwargs
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/src/pytest_mpi/_version.py
new/pytest-mpi-0.5/src/pytest_mpi/_version.py
--- old/pytest-mpi-0.4/src/pytest_mpi/_version.py 2020-06-20
11:09:12.132557600 +0200
+++ new/pytest-mpi-0.5/src/pytest_mpi/_version.py 2021-03-14
02:03:39.000000000 +0100
@@ -8,11 +8,11 @@
version_json = '''
{
- "date": "2020-05-27T09:36:25+0000",
+ "date": "2021-03-14T00:40:17+0000",
"dirty": false,
"error": null,
- "full-revisionid": "e158729d1f20bb9717b9e937419d9b04639c2ca6",
- "version": "0.4"
+ "full-revisionid": "baf70f4555363fdecdb6590f3b6f9d4bb09bc05f",
+ "version": "0.5"
}
''' # END VERSION_JSON
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/src/pytest_mpi.egg-info/PKG-INFO
new/pytest-mpi-0.5/src/pytest_mpi.egg-info/PKG-INFO
--- old/pytest-mpi-0.4/src/pytest_mpi.egg-info/PKG-INFO 2020-06-20
11:09:11.000000000 +0200
+++ new/pytest-mpi-0.5/src/pytest_mpi.egg-info/PKG-INFO 2021-03-14
02:03:39.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: pytest-mpi
-Version: 0.4
+Version: 0.5
Summary: pytest plugin to collect information from tests
Home-page: https://pytest-mpi.readthedocs.io
Author: James Tocknell
@@ -43,3 +43,4 @@
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/src/pytest_mpi.egg-info/SOURCES.txt
new/pytest-mpi-0.5/src/pytest_mpi.egg-info/SOURCES.txt
--- old/pytest-mpi-0.4/src/pytest_mpi.egg-info/SOURCES.txt 2020-06-20
11:09:11.000000000 +0200
+++ new/pytest-mpi-0.5/src/pytest_mpi.egg-info/SOURCES.txt 2021-03-14
02:03:39.000000000 +0100
@@ -4,7 +4,6 @@
README.md
code_of_conduct.md
doc-requirements.txt
-known_broken_constraints.txt
pylintrc
pypi-intro.rst
setup.cfg
@@ -23,6 +22,7 @@
docs/usage.rst
docs/_static/.empty
src/pytest_mpi/__init__.py
+src/pytest_mpi/_helpers.py
src/pytest_mpi/_version.py
src/pytest_mpi.egg-info/PKG-INFO
src/pytest_mpi.egg-info/SOURCES.txt
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-mpi-0.4/src/pytest_mpi.egg-info/entry_points.txt
new/pytest-mpi-0.5/src/pytest_mpi.egg-info/entry_points.txt
--- old/pytest-mpi-0.4/src/pytest_mpi.egg-info/entry_points.txt 2020-06-20
11:09:11.000000000 +0200
+++ new/pytest-mpi-0.5/src/pytest_mpi.egg-info/entry_points.txt 2021-03-14
02:03:39.000000000 +0100
@@ -1,3 +1,3 @@
[pytest11]
-name_of_plugin = pytest_mpi
+pytest_mpi = pytest_mpi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/tests/conftest.py
new/pytest-mpi-0.5/tests/conftest.py
--- old/pytest-mpi-0.4/tests/conftest.py 2020-06-20 10:51:02.000000000
+0200
+++ new/pytest-mpi-0.5/tests/conftest.py 2021-03-14 02:02:54.000000000
+0100
@@ -1,11 +1,12 @@
from logging import getLogger
+import sys
import py
import pytest
-from _pytest.pytester import Testdir
log = getLogger(__name__)
MPI_ARGS = ("mpirun", "-n")
+PYTEST_ARGS = (sys.executable, "-mpytest")
@pytest.fixture
@@ -17,41 +18,90 @@
return False
-class MPITestdir(Testdir):
- def __init__(self, request, tmpdir_factory):
- super().__init__(request, tmpdir_factory)
- method = self.request.config.getoption("--runpytest")
+def _to_py_path(p):
+ return py.path.local(p)
+
+
+def _to_pathlib(p):
+ from pathlib import Path
+ return Path(p)
+
+
+class MPITestdir(object):
+ def __init__(self, request, config):
+ method = request.config.getoption("--runpytest")
if method == "inprocess":
log.warn("To run the MPI tests, you need to use subprocesses")
+ self._pytester = None
+ self._testdir = None
+ self._setup(request, config)
- def runpytest_subprocess(
- self, *args, timeout=60, mpi_procs=2, max_retries=5
- ):
+ def _setup(self, request, config):
"""
- Based on testdir.runpytest_subprocess
+ This handles the difference between Testdir and PyTester
"""
+ try:
+ self._pytester = request.getfixturevalue("pytester")
+ except:
+ try:
+ self._testdir = request.getfixturevalue("testdir")
+ except:
+ raise RuntimeError(
+ "Unable to load either pytester or testdir fixtures. "
+ "Check if pytester plugin is enabled."
+ )
+
+ def makepyfile(self, *args, **kwargs):
+ if self._pytester is not None:
+ self._pytester.makepyfile(*args, **kwargs)
+ else:
+ self._testdir.makepyfile(*args, **kwargs)
+
+ def runpytest(self, *args, **kwargs):
+ if self._pytester is not None:
+ return self._run_pytester(*args, **kwargs)
+ return self._run_testdir(*args, **kwargs)
+
+ def _run_testdir(self, *args, timeout=60, mpi_procs=2, max_retries=5):
retries = 0
p = py.path.local.make_numbered_dir(
- prefix="runpytest-", keep=None, rootdir=self.tmpdir
+ prefix="runpytest-", keep=None, rootdir=self._testdir.tmpdir
)
args = ("--basetemp=%s" % p,) + args
- plugins = [x for x in self.plugins if isinstance(x, str)]
+ plugins = [x for x in self._testdir.plugins if isinstance(x, str)]
if plugins:
args = ("-p", plugins[0]) + args
- args = MPI_ARGS + (str(mpi_procs),) + self._getpytestargs() + args
+ args = MPI_ARGS + (str(mpi_procs),) + PYTEST_ARGS + args
while retries < max_retries:
try:
- return self.run(*args, timeout=timeout)
- except self.TimeoutExpired as e:
+ return self._testdir.run(*args, timeout=timeout)
+ except self._testdir.TimeoutExpired as e:
retries += 1
if retries >= max_retries:
raise
raise e
- def runpytest(self, *args, **kwargs):
- return self.runpytest_subprocess(*args, **kwargs)
+ def _run_pytester(self, *args, timeout=60, mpi_procs=2, max_retries=5):
+ retries = 0
+ p = _to_pathlib(py.path.local.make_numbered_dir(
+ prefix="runpytest-", keep=None,
+ rootdir=_to_py_path(self._pytester.path)
+ ))
+ args = ("--basetemp=%s" % p,) + args
+ plugins = [x for x in self._pytester.plugins if isinstance(x, str)]
+ if plugins:
+ args = ("-p", plugins[0]) + args
+ args = MPI_ARGS + (str(mpi_procs),) + PYTEST_ARGS + args
+ while retries < max_retries:
+ try:
+ return self._pytester.run(*args, timeout=timeout)
+ except self._pytester.TimeoutExpired as e:
+ retries += 1
+ if retries >= max_retries:
+ raise
+ raise e
@pytest.fixture
-def mpi_testdir(request, tmpdir_factory):
- return MPITestdir(request, tmpdir_factory)
+def mpi_testdir(request, pytestconfig):
+ return MPITestdir(request, pytestconfig)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/tests/test_fixtures.py
new/pytest-mpi-0.5/tests/test_fixtures.py
--- old/pytest-mpi-0.4/tests/test_fixtures.py 2020-06-20 10:51:02.000000000
+0200
+++ new/pytest-mpi-0.5/tests/test_fixtures.py 2021-03-14 02:02:54.000000000
+0100
@@ -1,3 +1,5 @@
+from pytest_mpi._helpers import _fix_plural
+
MPI_FILE_NAME_TEST_CODE = """
import pytest
@@ -56,7 +58,7 @@
if has_mpi4py:
result.assert_outcomes(passed=1)
else:
- result.assert_outcomes(error=1)
+ result.assert_outcomes(**_fix_plural(errors=1))
def test_mpi_tmpdir(mpi_testdir, has_mpi4py):
@@ -67,7 +69,7 @@
if has_mpi4py:
result.assert_outcomes(passed=1)
else:
- result.assert_outcomes(error=1)
+ result.assert_outcomes(**_fix_plural(errors=1))
def test_mpi_tmp_path(mpi_testdir, has_mpi4py):
@@ -78,4 +80,4 @@
if has_mpi4py:
result.assert_outcomes(passed=1)
else:
- result.assert_outcomes(error=1)
+ result.assert_outcomes(**_fix_plural(errors=1))
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/tests/test_markers.py
new/pytest-mpi-0.5/tests/test_markers.py
--- old/pytest-mpi-0.4/tests/test_markers.py 2020-06-20 10:51:02.000000000
+0200
+++ new/pytest-mpi-0.5/tests/test_markers.py 2021-03-14 02:02:54.000000000
+0100
@@ -1,3 +1,5 @@
+from pytest_mpi._helpers import _fix_plural
+
MPI_TEST_CODE = """
import pytest
@@ -67,9 +69,9 @@
result = mpi_testdir.runpytest("--with-mpi")
if has_mpi4py:
- result.assert_outcomes(passed=3, error=1, skipped=1)
+ result.assert_outcomes(**_fix_plural(passed=3, errors=1, skipped=1))
else:
- result.assert_outcomes(passed=1, error=4)
+ result.assert_outcomes(**_fix_plural(passed=1, errors=4))
def test_mpi_only_mpi(mpi_testdir, has_mpi4py):
@@ -78,9 +80,9 @@
result = mpi_testdir.runpytest("--only-mpi")
if has_mpi4py:
- result.assert_outcomes(passed=2, error=1, skipped=2)
+ result.assert_outcomes(**_fix_plural(passed=2, errors=1, skipped=2))
else:
- result.assert_outcomes(error=4, skipped=1)
+ result.assert_outcomes(**_fix_plural(errors=4, skipped=1))
def test_mpi_skip(testdir):
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-mpi-0.4/tox.ini new/pytest-mpi-0.5/tox.ini
--- old/pytest-mpi-0.4/tox.ini 2020-06-20 10:51:23.000000000 +0200
+++ new/pytest-mpi-0.5/tox.ini 2021-03-14 02:02:54.000000000 +0100
@@ -4,7 +4,7 @@
# and then run "tox" from this directory.
[tox]
-envlist = py{35,36,37,38}-{mpi,},flake8,pylint,docs,check-manifest,checkreadme
+envlist =
py{35,36,37,38,39}-{mpi,}-{oldpt,},flake8,pylint,docs,check-manifest,checkreadme
[testenv]
commands = py.test -p pytester --cov={envsitepackagesdir}/pytest_mpi
--runpytest=subprocess {posargs}
@@ -14,11 +14,13 @@
sybil
-c known_broken_constraints.txt
mpi: mpi4py
+ oldpt: -c old_pytest.txt
basepython =
py35: {env:TOXPYTHON:python3.5}
py36: {env:TOXPYTHON:python3.6}
py37: {env:TOXPYTHON:python3.7}
py38: {env:TOXPYTHON:python3.8}
+ py39: {env:TOXPYTHON:python3.9}
flake8: {env:TOXPYTHON:python3}
pylint: {env:TOXPYTHON:python3}
docs: {env:TOXPYTHON:python3}