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 <tchva...@suse.com>
+
+- 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


Reply via email to