Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-pytest-xdist for 
openSUSE:Factory checked in at 2021-02-04 20:23:28
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pytest-xdist (Old)
 and      /work/SRC/openSUSE:Factory/.python-pytest-xdist.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pytest-xdist"

Thu Feb  4 20:23:28 2021 rev:17 rq:868934 version:2.2.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pytest-xdist/python-pytest-xdist.changes  
2020-10-29 09:47:55.980147470 +0100
+++ 
/work/SRC/openSUSE:Factory/.python-pytest-xdist.new.28504/python-pytest-xdist.changes
       2021-02-04 20:24:11.670837254 +0100
@@ -1,0 +2,6 @@
+Tue Feb  2 09:53:19 UTC 2021 - Dirk M??ller <dmuel...@suse.com>
+
+- update to 2.2.0:
+  * Internal errors in workers are now propagated to the master node. 
+
+-------------------------------------------------------------------

Old:
----
  pytest-xdist-2.1.0.tar.gz

New:
----
  pytest-xdist-2.2.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pytest-xdist.spec ++++++
--- /var/tmp/diff_new_pack.so4jPG/_old  2021-02-04 20:24:12.178838027 +0100
+++ /var/tmp/diff_new_pack.so4jPG/_new  2021-02-04 20:24:12.178838027 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pytest-xdist
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,7 +19,7 @@
 %{?!python_module:%define python_module() python-%{**} python3-%{**}}
 %define skip_python2 1
 Name:           python-pytest-xdist
-Version:        2.1.0
+Version:        2.2.0
 Release:        0
 Summary:        Distributed testing and loop-on-failing for py.test
 License:        MIT

++++++ pytest-xdist-2.1.0.tar.gz -> pytest-xdist-2.2.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/CHANGELOG.rst 
new/pytest-xdist-2.2.0/CHANGELOG.rst
--- old/pytest-xdist-2.1.0/CHANGELOG.rst        2020-08-25 14:38:13.000000000 
+0200
+++ new/pytest-xdist-2.2.0/CHANGELOG.rst        2020-12-14 13:15:14.000000000 
+0100
@@ -1,3 +1,12 @@
+pytest-xdist 2.2.0 (2020-12-14)
+===============================
+
+Features
+--------
+
+- `#608 <https://github.com/pytest-dev/pytest-xdist/issues/608>`_: Internal 
errors in workers are now propagated to the master node.
+
+
 pytest-xdist 2.1.0 (2020-08-25)
 ===============================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/HOWTORELEASE.rst 
new/pytest-xdist-2.2.0/HOWTORELEASE.rst
--- old/pytest-xdist-2.1.0/HOWTORELEASE.rst     2020-08-25 14:38:13.000000000 
+0200
+++ new/pytest-xdist-2.2.0/HOWTORELEASE.rst     1970-01-01 01:00:00.000000000 
+0100
@@ -1,43 +0,0 @@
-======================
-Releasing pytest-xdist
-======================
-
-This document describes the steps to make a new ``pytest-xdist`` release.
-
-Version
--------
-
-``master`` should always be green and a potential release candidate. 
``pytest-xdist`` follows
-semantic versioning, so given that the current version is ``X.Y.Z``, to find 
the next version number
-one needs to look at the ``changelog`` folder:
-
-- If there is any file named ``*.feature``, then we must make a new **minor** 
release: next
-  release will be ``X.Y+1.0``.
-
-- Otherwise it is just a **bug fix** release: ``X.Y.Z+1``.
-
-
-Steps
------
-
-To publish a new release ``X.Y.Z``, the steps are as follows:
-
-#. Create a new branch named ``release-X.Y.Z`` from the latest ``master``.
-
-#. Install ``tox`` in a virtualenv::
-
-    $ pip install tox
-
-#. Update the necessary files with::
-
-    $ tox -e release -- X.Y.Z
-
-#. Commit and push the branch for review.
-
-#. Once PR is **green** and **approved**, create and push a tag::
-
-    $ export VERSION=X.Y.Z
-    $ git tag v$VERSION release-$VERSION
-    $ git push g...@github.com:pytest-dev/pytest-xdist.git v$VERSION
-
-That will build the package and publish it on ``PyPI`` automatically.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/PKG-INFO 
new/pytest-xdist-2.2.0/PKG-INFO
--- old/pytest-xdist-2.1.0/PKG-INFO     2020-08-25 14:38:29.493108000 +0200
+++ new/pytest-xdist-2.2.0/PKG-INFO     2020-12-14 13:15:19.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pytest-xdist
-Version: 2.1.0
+Version: 2.2.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
@@ -19,13 +19,8 @@
             :alt: Python versions
             :target: https://pypi.python.org/pypi/pytest-xdist
         
-        .. image:: 
https://travis-ci.org/pytest-dev/pytest-xdist.svg?branch=master
-            :alt: Travis CI build status
-            :target: https://travis-ci.org/pytest-dev/pytest-xdist
-        
-        .. image:: 
https://ci.appveyor.com/api/projects/status/56eq1a1avd4sdd7e/branch/master?svg=true
-            :alt: AppVeyor build status
-            :target: https://ci.appveyor.com/project/pytestbot/pytest-xdist
+        .. image:: 
https://github.com/pytest-dev/pytest-xdist/workflows/build/badge.svg
+            :target: https://github.com/pytest-dev/pytest-xdist/actions
         
         .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
             :target: https://github.com/ambv/black
@@ -255,7 +250,7 @@
         
         .. _`xspec syntax`: http://codespeak.net/execnet/basics.html#xspec
         
-        .. _`socketserver.py`: 
http://bitbucket.org/hpk42/execnet/raw/2af991418160/execnet/script/socketserver.py
+        .. _`socketserver.py`: 
https://raw.githubusercontent.com/pytest-dev/execnet/master/execnet/script/socketserver.py
         
         .. _`execnet`: http://codespeak.net/execnet
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/README.rst 
new/pytest-xdist-2.2.0/README.rst
--- old/pytest-xdist-2.1.0/README.rst   2020-08-25 14:38:13.000000000 +0200
+++ new/pytest-xdist-2.2.0/README.rst   2020-12-14 13:15:14.000000000 +0100
@@ -11,13 +11,8 @@
     :alt: Python versions
     :target: https://pypi.python.org/pypi/pytest-xdist
 
-.. image:: https://travis-ci.org/pytest-dev/pytest-xdist.svg?branch=master
-    :alt: Travis CI build status
-    :target: https://travis-ci.org/pytest-dev/pytest-xdist
-
-.. image:: 
https://ci.appveyor.com/api/projects/status/56eq1a1avd4sdd7e/branch/master?svg=true
-    :alt: AppVeyor build status
-    :target: https://ci.appveyor.com/project/pytestbot/pytest-xdist
+.. image:: https://github.com/pytest-dev/pytest-xdist/workflows/build/badge.svg
+    :target: https://github.com/pytest-dev/pytest-xdist/actions
 
 .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
     :target: https://github.com/ambv/black
@@ -247,7 +242,7 @@
 
 .. _`xspec syntax`: http://codespeak.net/execnet/basics.html#xspec
 
-.. _`socketserver.py`: 
http://bitbucket.org/hpk42/execnet/raw/2af991418160/execnet/script/socketserver.py
+.. _`socketserver.py`: 
https://raw.githubusercontent.com/pytest-dev/execnet/master/execnet/script/socketserver.py
 
 .. _`execnet`: http://codespeak.net/execnet
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/RELEASING.rst 
new/pytest-xdist-2.2.0/RELEASING.rst
--- old/pytest-xdist-2.1.0/RELEASING.rst        1970-01-01 01:00:00.000000000 
+0100
+++ new/pytest-xdist-2.2.0/RELEASING.rst        2020-12-14 13:15:14.000000000 
+0100
@@ -0,0 +1,43 @@
+======================
+Releasing pytest-xdist
+======================
+
+This document describes the steps to make a new ``pytest-xdist`` release.
+
+Version
+-------
+
+``master`` should always be green and a potential release candidate. 
``pytest-xdist`` follows
+semantic versioning, so given that the current version is ``X.Y.Z``, to find 
the next version number
+one needs to look at the ``changelog`` folder:
+
+- If there is any file named ``*.feature``, then we must make a new **minor** 
release: next
+  release will be ``X.Y+1.0``.
+
+- Otherwise it is just a **bug fix** release: ``X.Y.Z+1``.
+
+
+Steps
+-----
+
+To publish a new release ``X.Y.Z``, the steps are as follows:
+
+#. Create a new branch named ``release-X.Y.Z`` from the latest ``master``.
+
+#. Install ``tox`` in a virtualenv::
+
+    $ pip install tox
+
+#. Update the necessary files with::
+
+    $ tox -e release -- X.Y.Z
+
+#. Commit and push the branch for review.
+
+#. Once PR is **green** and **approved**, create and push a tag::
+
+    $ export VERSION=X.Y.Z
+    $ git tag v$VERSION release-$VERSION
+    $ git push g...@github.com:pytest-dev/pytest-xdist.git v$VERSION
+
+That will build the package and publish it on ``PyPI`` automatically.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-xdist-2.1.0/src/pytest_xdist.egg-info/PKG-INFO 
new/pytest-xdist-2.2.0/src/pytest_xdist.egg-info/PKG-INFO
--- old/pytest-xdist-2.1.0/src/pytest_xdist.egg-info/PKG-INFO   2020-08-25 
14:38:29.000000000 +0200
+++ new/pytest-xdist-2.2.0/src/pytest_xdist.egg-info/PKG-INFO   2020-12-14 
13:15:19.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 2.1
 Name: pytest-xdist
-Version: 2.1.0
+Version: 2.2.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
@@ -19,13 +19,8 @@
             :alt: Python versions
             :target: https://pypi.python.org/pypi/pytest-xdist
         
-        .. image:: 
https://travis-ci.org/pytest-dev/pytest-xdist.svg?branch=master
-            :alt: Travis CI build status
-            :target: https://travis-ci.org/pytest-dev/pytest-xdist
-        
-        .. image:: 
https://ci.appveyor.com/api/projects/status/56eq1a1avd4sdd7e/branch/master?svg=true
-            :alt: AppVeyor build status
-            :target: https://ci.appveyor.com/project/pytestbot/pytest-xdist
+        .. image:: 
https://github.com/pytest-dev/pytest-xdist/workflows/build/badge.svg
+            :target: https://github.com/pytest-dev/pytest-xdist/actions
         
         .. image:: https://img.shields.io/badge/code%20style-black-000000.svg
             :target: https://github.com/ambv/black
@@ -255,7 +250,7 @@
         
         .. _`xspec syntax`: http://codespeak.net/execnet/basics.html#xspec
         
-        .. _`socketserver.py`: 
http://bitbucket.org/hpk42/execnet/raw/2af991418160/execnet/script/socketserver.py
+        .. _`socketserver.py`: 
https://raw.githubusercontent.com/pytest-dev/execnet/master/execnet/script/socketserver.py
         
         .. _`execnet`: http://codespeak.net/execnet
         
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pytest-xdist-2.1.0/src/pytest_xdist.egg-info/SOURCES.txt 
new/pytest-xdist-2.2.0/src/pytest_xdist.egg-info/SOURCES.txt
--- old/pytest-xdist-2.1.0/src/pytest_xdist.egg-info/SOURCES.txt        
2020-08-25 14:38:29.000000000 +0200
+++ new/pytest-xdist-2.2.0/src/pytest_xdist.egg-info/SOURCES.txt        
2020-12-14 13:15:19.000000000 +0100
@@ -1,9 +1,9 @@
 CHANGELOG.rst
-HOWTORELEASE.rst
 LICENSE
 MANIFEST.in
 OVERVIEW.md
 README.rst
+RELEASING.rst
 pyproject.toml
 setup.cfg
 setup.py
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/src/xdist/_version.py 
new/pytest-xdist-2.2.0/src/xdist/_version.py
--- old/pytest-xdist-2.1.0/src/xdist/_version.py        2020-08-25 
14:38:29.000000000 +0200
+++ new/pytest-xdist-2.2.0/src/xdist/_version.py        2020-12-14 
13:15:19.000000000 +0100
@@ -1,4 +1,5 @@
 # coding: utf-8
 # file generated by setuptools_scm
 # don't change, don't track in version control
-version = '2.1.0'
+version = '2.2.0'
+version_tuple = (2, 2, 0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/src/xdist/dsession.py 
new/pytest-xdist-2.2.0/src/xdist/dsession.py
--- old/pytest-xdist-2.1.0/src/xdist/dsession.py        2020-08-25 
14:38:13.000000000 +0200
+++ new/pytest-xdist-2.2.0/src/xdist/dsession.py        2020-12-14 
13:15:14.000000000 +0100
@@ -174,6 +174,24 @@
             assert not crashitem, (crashitem, node)
         self._active_nodes.remove(node)
 
+    def worker_internal_error(self, node, formatted_error):
+        """
+        pytest_internalerror() was called on the worker.
+
+        pytest_internalerror() arguments are an excinfo and an excrepr, which 
can't
+        be serialized, so we go with a poor man's solution of raising an 
exception
+        here ourselves using the formatted message.
+        """
+        self._active_nodes.remove(node)
+        try:
+            assert False, formatted_error
+        except AssertionError:
+            from _pytest._code import ExceptionInfo
+
+            excinfo = ExceptionInfo.from_current()
+            excrepr = excinfo.getrepr()
+            self.config.hook.pytest_internalerror(excrepr=excrepr, 
excinfo=excinfo)
+
     def worker_errordown(self, node, error):
         """Emitted by the WorkerController when a node dies."""
         self.config.hook.pytest_testnodedown(node=node, error=error)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/src/xdist/remote.py 
new/pytest-xdist-2.2.0/src/xdist/remote.py
--- old/pytest-xdist-2.1.0/src/xdist/remote.py  2020-08-25 14:38:13.000000000 
+0200
+++ new/pytest-xdist-2.2.0/src/xdist/remote.py  2020-12-14 13:15:14.000000000 
+0100
@@ -33,8 +33,10 @@
         self.channel.send((name, kwargs))
 
     def pytest_internalerror(self, excrepr):
-        for line in str(excrepr).split("\n"):
+        formatted_error = str(excrepr)
+        for line in formatted_error.split("\n"):
             self.log("IERROR>", line)
+        interactor.sendevent("internal_error", formatted_error=formatted_error)
 
     def pytest_sessionstart(self, session):
         self.session = session
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/src/xdist/workermanage.py 
new/pytest-xdist-2.2.0/src/xdist/workermanage.py
--- old/pytest-xdist-2.1.0/src/xdist/workermanage.py    2020-08-25 
14:38:13.000000000 +0200
+++ new/pytest-xdist-2.2.0/src/xdist/workermanage.py    2020-12-14 
13:15:14.000000000 +0100
@@ -324,6 +324,8 @@
                 self.log("ignoring {}({})".format(eventname, kwargs))
             elif eventname == "workerready":
                 self.notify_inproc(eventname, node=self, **kwargs)
+            elif eventname == "internal_error":
+                self.notify_inproc(eventname, node=self, **kwargs)
             elif eventname == "workerfinished":
                 self._down = True
                 self.workeroutput = kwargs["workeroutput"]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/testing/acceptance_test.py 
new/pytest-xdist-2.2.0/testing/acceptance_test.py
--- old/pytest-xdist-2.1.0/testing/acceptance_test.py   2020-08-25 
14:38:13.000000000 +0200
+++ new/pytest-xdist-2.2.0/testing/acceptance_test.py   2020-12-14 
13:15:14.000000000 +0100
@@ -772,19 +772,23 @@
 
         testdir.makeconftest(
             """
-            def pytest_warning_captured():
-                assert False, "this hook should not be called in this version"
+            def pytest_warning_captured(warning_message):
+                if warning_message == "my custom worker warning":
+                    assert False, (
+                        "this hook should not be called from workers "
+                        "in this version: {}"
+                    ).format(warning_message)
         """
         )
         testdir.makepyfile(
             """
             import warnings
             def test():
-                warnings.warn("custom warning")
+                warnings.warn("my custom worker warning")
         """
         )
         result = testdir.runpytest("-n1")
-        result.stdout.fnmatch_lines(["* 1 passed in *"])
+        result.stdout.fnmatch_lines(["*1 passed*"])
         result.stdout.no_fnmatch_line("*this hook should not be called in this 
version")
 
     @pytest.mark.parametrize("n", ["-n0", "-n1"])
@@ -1134,6 +1138,18 @@
     assert "INTERNALERROR" not in result.stderr.str()
 
 
+def test_internal_errors_propagate_to_master(testdir):
+    testdir.makeconftest(
+        """
+        def pytest_collection_modifyitems():
+            raise RuntimeError("Some runtime error")
+        """
+    )
+    testdir.makepyfile("def test(): pass")
+    result = testdir.runpytest("-n1")
+    result.stdout.fnmatch_lines(["*RuntimeError: Some runtime error*"])
+
+
 class TestLoadScope:
     def test_by_module(self, testdir):
         test_file = """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pytest-xdist-2.1.0/tox.ini 
new/pytest-xdist-2.2.0/tox.ini
--- old/pytest-xdist-2.1.0/tox.ini      2020-08-25 14:38:13.000000000 +0200
+++ new/pytest-xdist-2.2.0/tox.ini      2020-12-14 13:15:14.000000000 +0100
@@ -24,6 +24,7 @@
 [testenv:linting]
 skip_install = True
 usedevelop = True
+passenv = PRE_COMMIT_HOME
 deps =
   pre-commit
 commands = pre-commit run --all-files --show-diff-on-failure

Reply via email to