Hello community,
here is the log from the commit of package python-pytest-xdist for
openSUSE:Factory checked in at 2020-01-16 18:13:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-xdist (Old)
and /work/SRC/openSUSE:Factory/.python-pytest-xdist.new.26092 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "python-pytest-xdist"
Thu Jan 16 18:13:28 2020 rev:12 rq:761139 version:1.31.0
Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-xdist/python-pytest-xdist.changes
2019-12-02 11:27:08.650676139 +0100
+++
/work/SRC/openSUSE:Factory/.python-pytest-xdist.new.26092/python-pytest-xdist.changes
2020-01-16 18:13:33.496714070 +0100
@@ -1,0 +2,8 @@
+Mon Jan 6 12:50:36 UTC 2020 - Tomáš Chvátal <[email protected]>
+
+- Update to 1.31.0:
+ * #486: Add support for Python 3.8.
+ * #491: Fix regression that caused custom plugin command-line
+ arguments to be discarded when using --tx mode.
+
+-------------------------------------------------------------------
Old:
----
pytest-xdist-1.30.0.tar.gz
New:
----
pytest-xdist-1.31.0.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ python-pytest-xdist.spec ++++++
--- /var/tmp/diff_new_pack.0p8e1Q/_old 2020-01-16 18:13:34.096714409 +0100
+++ /var/tmp/diff_new_pack.0p8e1Q/_new 2020-01-16 18:13:34.096714409 +0100
@@ -1,7 +1,7 @@
#
# spec file for package python-pytest-xdist
#
-# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -18,12 +18,12 @@
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pytest-xdist
-Version: 1.30.0
+Version: 1.31.0
Release: 0
Summary: Distributed testing and loop-on-failing for py.test
License: MIT
Group: Development/Languages/Python
-Url: https://github.com/pytest-dev/pytest-xdist
+URL: https://github.com/pytest-dev/pytest-xdist
Source0:
https://files.pythonhosted.org/packages/source/p/pytest-xdist/pytest-xdist-%{version}.tar.gz
BuildRequires: %{python_module execnet >= 1.1}
BuildRequires: %{python_module filelock}
++++++ pytest-xdist-1.30.0.tar.gz -> pytest-xdist-1.31.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/.appveyor.yml
new/pytest-xdist-1.31.0/.appveyor.yml
--- old/pytest-xdist-1.30.0/.appveyor.yml 1970-01-01 01:00:00.000000000
+0100
+++ new/pytest-xdist-1.31.0/.appveyor.yml 2019-12-20 02:42:42.000000000
+0100
@@ -0,0 +1,23 @@
+environment:
+ matrix:
+ - TOXENV: "py27-pytestlatest"
+ - TOXENV: "py34-pytestlatest"
+ - TOXENV: "py35-pytestlatest"
+ - TOXENV: "py36-pytestlatest"
+ - TOXENV: "py37-pytestlatest"
+ - TOXENV: "py38-pytestlatest"
+ - TOXENV: "py38-pytestmaster"
+ - TOXENV: "py38-pytestfeatures"
+
+install:
+ - C:\Python38\python -m pip install -U pip setuptools virtualenv
+ - C:\Python38\python -m pip install -U tox setuptools_scm
+
+build: false # Not a C# project, build stuff at the test step instead.
+
+test_script:
+ - C:\Python38\python -m tox
+
+# We don't deploy anything on tags with AppVeyor, we use Travis instead, so we
+# might as well save resources
+skip_tags: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/.pre-commit-config.yaml
new/pytest-xdist-1.31.0/.pre-commit-config.yaml
--- old/pytest-xdist-1.30.0/.pre-commit-config.yaml 2019-10-01
17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/.pre-commit-config.yaml 2019-12-20
02:42:42.000000000 +0100
@@ -21,4 +21,4 @@
files: ^(CHANGELOG.rst|HOWTORELEASE.rst|README.rst|changelog/.*)$
language: python
additional_dependencies: [pygments, restructuredtext_lint]
- python_version: python3.7
+ language_version: python3.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/.travis.yml
new/pytest-xdist-1.31.0/.travis.yml
--- old/pytest-xdist-1.30.0/.travis.yml 2019-10-01 17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/.travis.yml 2019-12-20 02:42:42.000000000 +0100
@@ -30,8 +30,8 @@
cache:
directories:
- $HOME/.cache/pre-commit
- - python: '3.7'
- env: TOXENV=py37-pytestlatest
+ - python: '3.8'
+ env: TOXENV=py38-pytestlatest
- python: '2.7'
env: TOXENV=py27-pytestlatest
@@ -43,12 +43,14 @@
- python: "3.6"
env: TOXENV=py36-pytestlatest
- python: "3.7"
- env: TOXENV=py37-pytestmaster
- - python: "3.7"
- env: TOXENV=py37-pytestfeatures
+ env: TOXENV=py37-pytestlatest
+ - python: "3.8"
+ env: TOXENV=py38-pytestmaster
+ - python: "3.8"
+ env: TOXENV=py38-pytestfeatures
- stage: deploy
- python: '3.7'
+ python: '3.8'
env:
install: pip install -U setuptools setuptools_scm
script: skip
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/CHANGELOG.rst
new/pytest-xdist-1.31.0/CHANGELOG.rst
--- old/pytest-xdist-1.30.0/CHANGELOG.rst 2019-10-01 17:36:18.000000000
+0200
+++ new/pytest-xdist-1.31.0/CHANGELOG.rst 2019-12-20 02:42:42.000000000
+0100
@@ -1,3 +1,42 @@
+pytest-xdist 1.31.0 (2019-12-19)
+================================
+
+Features
+--------
+
+- `#486 <https://github.com/pytest-dev/pytest-xdist/issues/486>`_: Add support
for Python 3.8.
+
+
+Bug Fixes
+---------
+
+- `#491 <https://github.com/pytest-dev/pytest-xdist/issues/491>`_: Fix
regression that caused custom plugin command-line arguments to be discarded
when using ``--tx`` mode.
+
+
+
+pytest-xdist 1.30.0 (2019-10-01)
+================================
+
+Features
+--------
+
+- `#448 <https://github.com/pytest-dev/pytest-xdist/issues/448>`_:
Initialization between workers and master nodes is now more consistent, which
fixes a number of
+ long-standing issues related to startup with the ``-c`` option.
+
+ Issues:
+
+ * `#6 <https://github.com/pytest-dev/pytest-xdist/issues/6>`__: Poor
interaction between ``-n#`` and ``-c X.cfg``
+ * `#445 <https://github.com/pytest-dev/pytest-xdist/issues/445>`__:
pytest-xdist is not reporting the same nodeid as pytest does
+
+ This however only works with **pytest 5.1 or later**, as it required changes
in pytest itself.
+
+
+Bug Fixes
+---------
+
+- `#467 <https://github.com/pytest-dev/pytest-xdist/issues/467>`_: Fix crash
issues related to running xdist with the terminal plugin disabled.
+
+
pytest-xdist 1.29.0 (2019-06-14)
================================
@@ -401,39 +440,6 @@
- Added ``HOWTORELEASE`` documentation. (#155)
-..
- You should *NOT* be adding new change log entries to this file, this
- file is managed by towncrier. You *may* edit previous change logs to
- fix problems like typo corrections or such.
- To add a new change log entry, please see
- https://pip.pypa.io/en/latest/development/#adding-a-news-entry
- We named the news folder ``changelog``
-
-.. towncrier release notes start
-
-pytest-xdist 1.30.0 (2019-10-01)
-================================
-
-Features
---------
-
-- `#448 <https://github.com/pytest-dev/pytest-xdist/issues/448>`_:
Initialization between workers and master nodes is now more consistent, which
fixes a number of
- long-standing issues related to startup with the ``-c`` option.
-
- Issues:
-
- * `#6 <https://github.com/pytest-dev/pytest-xdist/issues/6>`__: Poor
interaction between ``-n#`` and ``-c X.cfg``
- * `#445 <https://github.com/pytest-dev/pytest-xdist/issues/445>`__:
pytest-xdist is not reporting the same nodeid as pytest does
-
- This however only works with **pytest 5.1 or later**, as it required changes
in pytest itself.
-
-
-Bug Fixes
----------
-
-- `#467 <https://github.com/pytest-dev/pytest-xdist/issues/467>`_: Fix crash
issues related to running xdist with the terminal plugin disabled.
-
-
1.17.0
------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/PKG-INFO
new/pytest-xdist-1.31.0/PKG-INFO
--- old/pytest-xdist-1.30.0/PKG-INFO 2019-10-01 17:36:34.000000000 +0200
+++ new/pytest-xdist-1.31.0/PKG-INFO 2019-12-20 02:42:57.247453700 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest-xdist
-Version: 1.30.0
+Version: 1.31.0
Summary: pytest xdist plugin for distributed testing and loop-on-failing modes
Home-page: https://github.com/pytest-dev/pytest-xdist
Author: holger krekel and contributors
@@ -103,6 +103,59 @@
in version ``1.21``.
+ Making session-scoped fixtures execute only once
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ ``pytest-xdist`` is designed so that each worker process will perform
its own collection and execute
+ a subset of all tests. This means that tests in different processes
requesting a high-level
+ scoped fixture (for example ``session``) will execute the fixture code
more than once, which
+ breaks expectations and might be undesired in certain situations.
+
+ While ``pytest-xdist`` does not have a builtin support for ensuring a
session-scoped fixture is
+ executed exactly once, this can be achieved by using a lock file for
inter-process communication.
+
+ The example below needs to execute the fixture ``session_data`` only
once (because it is
+ resource intensive, or needs to execute only once to define
configuration options, etc), so it makes
+ use of a `FileLock <https://pypi.org/project/filelock/>`_ to produce
the fixture data only once
+ when the first process requests the fixture, while the other processes
will then read
+ the data from a file.
+
+ Here is the code:
+
+ .. code-block:: python
+
+ import json
+
+ import pytest
+ from filelock import FileLock
+
+
+ @pytest.fixture(scope="session")
+ def session_data(tmp_path_factory, worker_id):
+ if not worker_id:
+ # not executing in with multiple workers, just produce the
data and let
+ # pytest's fixture caching do its job
+ return produce_expensive_data()
+
+ # get the temp directory shared by all workers
+ root_tmp_dir = tmp_path_factory.getbasetemp().parent
+
+ fn = root_tmp_dir / "data.json"
+ with FileLock(str(fn) + ".lock"):
+ if fn.is_file():
+ data = json.loads(fn.read_text())
+ else:
+ data = produce_expensive_data()
+ fn.write_text(json.dumps(data))
+ return data
+
+
+ The example above can also be use in cases a fixture needs to execute
exactly once per test session, like
+ initializing a database service and populating initial tables.
+
+ This technique might not work for every case, but should be a starting
point for many situations
+ where executing a high-scope fixture exactly once is important.
+
Running tests in a Python subprocess
------------------------------------
@@ -303,5 +356,6 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/README.rst
new/pytest-xdist-1.31.0/README.rst
--- old/pytest-xdist-1.30.0/README.rst 2019-10-01 17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/README.rst 2019-12-20 02:42:42.000000000 +0100
@@ -95,6 +95,59 @@
in version ``1.21``.
+Making session-scoped fixtures execute only once
+^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+``pytest-xdist`` is designed so that each worker process will perform its own
collection and execute
+a subset of all tests. This means that tests in different processes requesting
a high-level
+scoped fixture (for example ``session``) will execute the fixture code more
than once, which
+breaks expectations and might be undesired in certain situations.
+
+While ``pytest-xdist`` does not have a builtin support for ensuring a
session-scoped fixture is
+executed exactly once, this can be achieved by using a lock file for
inter-process communication.
+
+The example below needs to execute the fixture ``session_data`` only once
(because it is
+resource intensive, or needs to execute only once to define configuration
options, etc), so it makes
+use of a `FileLock <https://pypi.org/project/filelock/>`_ to produce the
fixture data only once
+when the first process requests the fixture, while the other processes will
then read
+the data from a file.
+
+Here is the code:
+
+.. code-block:: python
+
+ import json
+
+ import pytest
+ from filelock import FileLock
+
+
+ @pytest.fixture(scope="session")
+ def session_data(tmp_path_factory, worker_id):
+ if not worker_id:
+ # not executing in with multiple workers, just produce the data
and let
+ # pytest's fixture caching do its job
+ return produce_expensive_data()
+
+ # get the temp directory shared by all workers
+ root_tmp_dir = tmp_path_factory.getbasetemp().parent
+
+ fn = root_tmp_dir / "data.json"
+ with FileLock(str(fn) + ".lock"):
+ if fn.is_file():
+ data = json.loads(fn.read_text())
+ else:
+ data = produce_expensive_data()
+ fn.write_text(json.dumps(data))
+ return data
+
+
+The example above can also be use in cases a fixture needs to execute exactly
once per test session, like
+initializing a database service and populating initial tables.
+
+This technique might not work for every case, but should be a starting point
for many situations
+where executing a high-scope fixture exactly once is important.
+
Running tests in a Python subprocess
------------------------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/appveyor.yml
new/pytest-xdist-1.31.0/appveyor.yml
--- old/pytest-xdist-1.30.0/appveyor.yml 2019-10-01 17:36:18.000000000
+0200
+++ new/pytest-xdist-1.31.0/appveyor.yml 1970-01-01 01:00:00.000000000
+0100
@@ -1,22 +0,0 @@
-environment:
- matrix:
- - TOXENV: "py27-pytestlatest"
- - TOXENV: "py34-pytestlatest"
- - TOXENV: "py35-pytestlatest"
- - TOXENV: "py36-pytestlatest"
- - TOXENV: "py37-pytestlatest"
- - TOXENV: "py37-pytestmaster"
- - TOXENV: "py37-pytestfeatures"
-
-install:
- - C:\Python37\python -m pip install -U pip setuptools
- - C:\Python37\python -m pip install -U tox setuptools_scm
-
-build: false # Not a C# project, build stuff at the test step instead.
-
-test_script:
- - C:\Python37\python -m tox
-
-# We don't deploy anything on tags with AppVeyor, we use Travis instead, so we
-# might as well save resources
-skip_tags: true
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/setup.py
new/pytest-xdist-1.31.0/setup.py
--- old/pytest-xdist-1.30.0/setup.py 2019-10-01 17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/setup.py 2019-12-20 02:42:42.000000000 +0100
@@ -46,5 +46,6 @@
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
+ "Programming Language :: Python :: 3.8",
],
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-xdist-1.30.0/src/pytest_xdist.egg-info/PKG-INFO
new/pytest-xdist-1.31.0/src/pytest_xdist.egg-info/PKG-INFO
--- old/pytest-xdist-1.30.0/src/pytest_xdist.egg-info/PKG-INFO 2019-10-01
17:36:33.000000000 +0200
+++ new/pytest-xdist-1.31.0/src/pytest_xdist.egg-info/PKG-INFO 2019-12-20
02:42:57.000000000 +0100
@@ -1,6 +1,6 @@
Metadata-Version: 2.1
Name: pytest-xdist
-Version: 1.30.0
+Version: 1.31.0
Summary: pytest xdist plugin for distributed testing and loop-on-failing modes
Home-page: https://github.com/pytest-dev/pytest-xdist
Author: holger krekel and contributors
@@ -103,6 +103,59 @@
in version ``1.21``.
+ Making session-scoped fixtures execute only once
+ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+
+ ``pytest-xdist`` is designed so that each worker process will perform
its own collection and execute
+ a subset of all tests. This means that tests in different processes
requesting a high-level
+ scoped fixture (for example ``session``) will execute the fixture code
more than once, which
+ breaks expectations and might be undesired in certain situations.
+
+ While ``pytest-xdist`` does not have a builtin support for ensuring a
session-scoped fixture is
+ executed exactly once, this can be achieved by using a lock file for
inter-process communication.
+
+ The example below needs to execute the fixture ``session_data`` only
once (because it is
+ resource intensive, or needs to execute only once to define
configuration options, etc), so it makes
+ use of a `FileLock <https://pypi.org/project/filelock/>`_ to produce
the fixture data only once
+ when the first process requests the fixture, while the other processes
will then read
+ the data from a file.
+
+ Here is the code:
+
+ .. code-block:: python
+
+ import json
+
+ import pytest
+ from filelock import FileLock
+
+
+ @pytest.fixture(scope="session")
+ def session_data(tmp_path_factory, worker_id):
+ if not worker_id:
+ # not executing in with multiple workers, just produce the
data and let
+ # pytest's fixture caching do its job
+ return produce_expensive_data()
+
+ # get the temp directory shared by all workers
+ root_tmp_dir = tmp_path_factory.getbasetemp().parent
+
+ fn = root_tmp_dir / "data.json"
+ with FileLock(str(fn) + ".lock"):
+ if fn.is_file():
+ data = json.loads(fn.read_text())
+ else:
+ data = produce_expensive_data()
+ fn.write_text(json.dumps(data))
+ return data
+
+
+ The example above can also be use in cases a fixture needs to execute
exactly once per test session, like
+ initializing a database service and populating initial tables.
+
+ This technique might not work for every case, but should be a starting
point for many situations
+ where executing a high-scope fixture exactly once is important.
+
Running tests in a Python subprocess
------------------------------------
@@ -303,5 +356,6 @@
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
+Classifier: Programming Language :: Python :: 3.8
Requires-Python: >=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*
Provides-Extra: testing
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/pytest-xdist-1.30.0/src/pytest_xdist.egg-info/SOURCES.txt
new/pytest-xdist-1.31.0/src/pytest_xdist.egg-info/SOURCES.txt
--- old/pytest-xdist-1.30.0/src/pytest_xdist.egg-info/SOURCES.txt
2019-10-01 17:36:33.000000000 +0200
+++ new/pytest-xdist-1.31.0/src/pytest_xdist.egg-info/SOURCES.txt
2019-12-20 02:42:57.000000000 +0100
@@ -1,3 +1,4 @@
+.appveyor.yml
.gitignore
.pre-commit-config.yaml
.travis.yml
@@ -7,7 +8,6 @@
LICENSE
OVERVIEW.md
README.rst
-appveyor.yml
pyproject.toml
setup.cfg
setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/src/xdist/_version.py
new/pytest-xdist-1.31.0/src/xdist/_version.py
--- old/pytest-xdist-1.30.0/src/xdist/_version.py 2019-10-01
17:36:33.000000000 +0200
+++ new/pytest-xdist-1.31.0/src/xdist/_version.py 2019-12-20
02:42:57.000000000 +0100
@@ -1,4 +1,4 @@
# coding: utf-8
# file generated by setuptools_scm
# don't change, don't track in version control
-version = '1.30.0'
+version = '1.31.0'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/src/xdist/workermanage.py
new/pytest-xdist-1.31.0/src/xdist/workermanage.py
--- old/pytest-xdist-1.30.0/src/xdist/workermanage.py 2019-10-01
17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/src/xdist/workermanage.py 2019-12-20
02:42:42.000000000 +0100
@@ -190,6 +190,7 @@
parts = arg.split(splitcode)
fspath = py.path.local(parts[0])
if not fspath.exists():
+ result.append(arg)
continue
for root in roots:
x = fspath.relto(root)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/testing/acceptance_test.py
new/pytest-xdist-1.31.0/testing/acceptance_test.py
--- old/pytest-xdist-1.30.0/testing/acceptance_test.py 2019-10-01
17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/testing/acceptance_test.py 2019-12-20
02:42:42.000000000 +0100
@@ -186,16 +186,46 @@
)
assert result.ret == 1
- def test_distribution_rsyncdirs_example(self, testdir):
+ def test_distribution_rsyncdirs_example(self, testdir, monkeypatch):
+ # use a custom plugin that has a custom command-line option to ensure
+ # this is propagated to workers (see #491)
+ testdir.makepyfile(
+ **{
+ "myplugin/src/foobarplugin.py": """
+ from __future__ import print_function
+
+ import os
+ import sys
+ import pytest
+
+ def pytest_addoption(parser):
+ parser.addoption("--foobar", action="store", dest="foobar_opt")
+
+ @pytest.mark.tryfirst
+ def pytest_load_initial_conftests(early_config):
+ opt = early_config.known_args_namespace.foobar_opt
+ print("--foobar=%s active! [%s]" % (opt, os.getpid()),
file=sys.stderr)
+ """
+ }
+ )
+ assert (testdir.tmpdir / "myplugin/src/foobarplugin.py").check(file=1)
+ monkeypatch.setenv(
+ "PYTHONPATH", str(testdir.tmpdir / "myplugin/src"),
prepend=os.pathsep
+ )
+
source = testdir.mkdir("source")
dest = testdir.mkdir("dest")
subdir = source.mkdir("example_pkg")
subdir.ensure("__init__.py")
p = subdir.join("test_one.py")
p.write("def test_5():\n assert not __file__.startswith(%r)" % str(p))
- result = testdir.runpytest(
+ result = testdir.runpytest_subprocess(
"-v",
"-d",
+ "-s",
+ "-pfoobarplugin",
+ "--foobar=123",
+ "--dist=load",
"--rsyncdir=%(subdir)s" % locals(),
"--tx=popen//chdir=%(dest)s" % locals(),
p,
@@ -209,6 +239,7 @@
"*1 passed*",
]
)
+ result.stderr.fnmatch_lines(["--foobar=123 active! *"])
assert dest.join(subdir.basename).check(dir=1)
def test_backward_compatibility_worker_terminology(self, testdir):
@@ -784,7 +815,7 @@
)
)
result = testdir.runpytest(n)
- result.stdout.fnmatch_lines(["*this is a warning*", "*1 passed, 1
warnings*"])
+ result.stdout.fnmatch_lines(["*this is a warning*", "*1 passed, 1
warning*"])
@pytest.mark.parametrize("n", ["-n0", "-n1"])
def test_custom_subclass(self, testdir, n):
@@ -808,7 +839,7 @@
)
testdir.syspathinsert()
result = testdir.runpytest(n)
- result.stdout.fnmatch_lines(["*MyWarning*", "*1 passed, 1 warnings*"])
+ result.stdout.fnmatch_lines(["*MyWarning*", "*1 passed, 1 warning*"])
@pytest.mark.parametrize("n", ["-n0", "-n1"])
def test_unserializable_arguments(self, testdir, n):
@@ -825,7 +856,7 @@
)
testdir.syspathinsert()
result = testdir.runpytest(n)
- result.stdout.fnmatch_lines(["*UserWarning*foo.txt*", "*1 passed, 1
warnings*"])
+ result.stdout.fnmatch_lines(["*UserWarning*foo.txt*", "*1 passed, 1
warning*"])
@pytest.mark.parametrize("n", ["-n0", "-n1"])
def test_unserializable_warning_details(self, testdir, n):
@@ -857,7 +888,7 @@
testdir.syspathinsert()
result = testdir.runpytest(n)
result.stdout.fnmatch_lines(
- ["*ResourceWarning*unclosed*", "*1 passed, 1 warnings*"]
+ ["*ResourceWarning*unclosed*", "*1 passed, 1 warning*"]
)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/pytest-xdist-1.30.0/tox.ini
new/pytest-xdist-1.31.0/tox.ini
--- old/pytest-xdist-1.30.0/tox.ini 2019-10-01 17:36:18.000000000 +0200
+++ new/pytest-xdist-1.31.0/tox.ini 2019-12-20 02:42:42.000000000 +0100
@@ -1,8 +1,8 @@
[tox]
envlist=
linting
- py{27,34,35,36,37}-pytestlatest
- py37-pytest{master,features}
+ py{27,34,35,36,37,38}-pytestlatest
+ py38-pytest{master,features}
[testenv]
passenv = USER USERNAME