Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-xcffib for openSUSE:Factory 
checked in at 2021-07-16 22:12:46
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-xcffib (Old)
 and      /work/SRC/openSUSE:Factory/.python-xcffib.new.2632 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-xcffib"

Fri Jul 16 22:12:46 2021 rev:10 rq:906657 version:0.11.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-xcffib/python-xcffib.changes      
2020-10-29 09:22:16.462685920 +0100
+++ /work/SRC/openSUSE:Factory/.python-xcffib.new.2632/python-xcffib.changes    
2021-07-16 22:13:19.378583950 +0200
@@ -1,0 +2,15 @@
+Fri Jul 16 11:27:23 UTC 2021 - Matej Cepl <mc...@suse.com>
+
+- Replace use of nose2 by pytest. There is no need to do anything
+  else.
+
+-------------------------------------------------------------------
+Thu Jul  8 13:19:04 UTC 2021 - Mark??ta Machov?? <mmach...@suse.com>
+
+- Update to 0.11.1
+  * connection: don't automatically disconnect() on connection error
+  * drop support for python 3.5
+  * tests: switch to nose2
+  * travis: test python 3.9
+
+-------------------------------------------------------------------

Old:
----
  xcffib-0.10.1.tar.gz

New:
----
  xcffib-0.11.1.tar.gz

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

Other differences:
------------------
++++++ python-xcffib.spec ++++++
--- /var/tmp/diff_new_pack.8rrrC4/_old  2021-07-16 22:13:19.858580558 +0200
+++ /var/tmp/diff_new_pack.8rrrC4/_new  2021-07-16 22:13:19.862580530 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-xcffib
 #
-# 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-xcffib
-Version:        0.10.1
+Version:        0.11.1
 Release:        0
 Summary:        A drop in replacement for xpyb, an XCB python binding
 License:        Apache-2.0
@@ -27,7 +27,7 @@
 URL:            https://github.com/tych0/xcffib
 Source:         
https://files.pythonhosted.org/packages/source/x/xcffib/xcffib-%{version}.tar.gz
 BuildRequires:  %{python_module cffi >= 1.1.0}
-BuildRequires:  %{python_module nose}
+BuildRequires:  %{python_module pytest}
 BuildRequires:  %{python_module setuptools}
 BuildRequires:  %{python_module six}
 BuildRequires:  fdupes
@@ -55,7 +55,7 @@
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
-%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} xvfb-run 
nosetests-%{$python_bin_suffix} -v
+%python_expand PYTHONPATH=%{buildroot}%{$python_sitelib} xvfb-run 
pytest-%{$python_bin_suffix} -v
 
 %files %{python_files}
 %license LICENSE

++++++ xcffib-0.10.1.tar.gz -> xcffib-0.11.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/PKG-INFO new/xcffib-0.11.1/PKG-INFO
--- old/xcffib-0.10.1/PKG-INFO  2020-07-22 04:06:39.721261300 +0200
+++ new/xcffib-0.11.1/PKG-INFO  2020-11-29 16:55:27.120034700 +0100
@@ -1,23 +1,21 @@
 Metadata-Version: 1.1
 Name: xcffib
-Version: 0.10.1
+Version: 0.11.1
 Summary: A drop in replacement for xpyb, an XCB python binding
 Home-page: http://github.com/tych0/xcffib
 Author: Tycho Andersen
-Author-email: ty...@tycho.ws
+Author-email: tycho@tycho.pizza
 License: Apache License 2.0
 Description: UNKNOWN
 Keywords: xcb xpyb cffi x11 x windows
 Platform: UNKNOWN
-Classifier: Development Status :: 4 - Beta
+Classifier: Development Status :: 5 - Production/Stable
 Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/README.md new/xcffib-0.11.1/README.md
--- old/xcffib-0.10.1/README.md 2020-05-25 06:43:26.000000000 +0200
+++ new/xcffib-0.11.1/README.md 2020-11-18 03:22:53.000000000 +0100
@@ -1,4 +1,4 @@
-# xcffib [![Build 
Status](https://travis-ci.org/tych0/xcffib.svg?branch=master)](https://travis-ci.org/tych0/xcffib)
+# xcffib [![Build 
Status](https://github.com/tych0/xcffib/workflows/ci/badge.svg?branch=master)](https://github.com/tych0/xcffib/actions)
 
 `xcffib` is intended to be a (mostly) drop-in replacement for `xpyb`. `xpyb`
 has an inactive upstream, several memory leaks, is python2 only and doesn't
@@ -19,9 +19,9 @@
 
 ## Development dependencies
 
-You should be able to install all the language deps from hackage or pip. The
-[.travis.yaml](https://github.com/tych0/xcffib/blob/master/.travis.yml) has an
-example of how to install the dependencies on Ubuntu flavors.
+You should be able to install all the language deps from hackage or pip.
+[.github/workflows/ci.yaml](https://github.com/tych0/xcffib/blob/master/.github/workflows/ci.yaml)
+has an example of how to install the dependencies on Ubuntu flavors.
 
 ## Hacking
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/setup.py new/xcffib-0.11.1/setup.py
--- old/xcffib-0.10.1/setup.py  2020-07-22 04:06:39.000000000 +0200
+++ new/xcffib-0.11.1/setup.py  2020-11-29 16:55:26.000000000 +0100
@@ -50,17 +50,11 @@
 else:
     requires_cffi = "cffi>=1.1.0"
 
-# PyPy < 2.6 hack, can be dropped when PyPy3 2.6 is released
-if requires_cffi.startswith("cffi==0."):
-    cffi_args = dict(
-        ext_package="xcffib"
-    )
-else:
-    cffi_args = dict(
-        cffi_modules=["xcffib/ffi_build.py:ffi"]
-    )
+cffi_args = dict(
+    cffi_modules=["xcffib/ffi_build.py:ffi"]
+)
 
-version = "0.10.1"
+version = "0.11.1"
 dependencies = ['six', requires_cffi]
 
 setup(
@@ -71,7 +65,7 @@
     license="Apache License 2.0",
     url="http://github.com/tych0/xcffib";,
     author="Tycho Andersen",
-    author_email="ty...@tycho.ws",
+    author_email="tycho@tycho.pizza",
     install_requires=dependencies,
     setup_requires=dependencies,
     packages=['xcffib'],
@@ -82,15 +76,13 @@
         'install': binding_install
     },
     classifiers=[
-        'Development Status :: 4 - Beta',
+        'Development Status :: 5 - Production/Stable',
         'License :: OSI Approved :: Apache Software License',
-        'Programming Language :: Python :: 2',
-        'Programming Language :: Python :: 2.7',
         'Programming Language :: Python :: 3',
-        'Programming Language :: Python :: 3.5',
         'Programming Language :: Python :: 3.6',
         'Programming Language :: Python :: 3.7',
         'Programming Language :: Python :: 3.8',
+        'Programming Language :: Python :: 3.9',
         'Programming Language :: Python :: Implementation :: CPython',
         'Programming Language :: Python :: Implementation :: PyPy',
         'Topic :: Software Development :: Libraries'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/test/test_connection.py 
new/xcffib-0.11.1/test/test_connection.py
--- old/xcffib-0.10.1/test/test_connection.py   2019-12-29 01:30:22.000000000 
+0100
+++ new/xcffib-0.11.1/test/test_connection.py   2020-11-18 03:07:13.000000000 
+0100
@@ -22,9 +22,6 @@
 from xcffib.testing import XvfbTest
 from .testing import XcffibTest
 
-from nose.tools import raises
-from nose import SkipTest
-
 import struct
 
 class TestConnection(XcffibTest):
@@ -37,10 +34,14 @@
         self.xproto = None
         XvfbTest.tearDown(self)
 
-    @raises(xcffib.ConnectionException)
     def test_invalid_display(self):
-        self.conn = xcffib.Connection('notvalid')
-        self.conn.invalid()
+        try:
+            self.conn = xcffib.Connection('notvalid')
+            self.conn.invalid()
+        except xcffib.ConnectionException:
+            pass
+        else:
+            raise Exception("no connection exception!")
 
     def test_get_setup(self):
         setup = self.conn.get_setup()
@@ -58,31 +59,12 @@
         assert screen.height_in_pixels == self.height
         assert screen.root_depth == self.depth
 
-    def test_seq_increases(self):
-        # If this test starts failing because the sequence numbers don't mach,
-        # that's probably because you added a new test that imports a new X
-        # extension. When that happens, every new connection automatically does
-        # a QueryExtention for each new ext that has been imported, so the
-        # squence numbers go up by one.
-        #
-        # i.e:
-        # xproto setup query = seqno 0
-        # xtest setup query = seqno 1
-        raise SkipTest
-        assert self.xproto.GetInputFocus().sequence == 2
-        assert self.xproto.GetInputFocus().sequence == 3
-
     def test_discard_sequence(self):
         cookie = self.xproto.GetInputFocus()
         cookie.discard_reply()
         # this hangs if you leave it in, because the reply really was discarded
         # assert cookie.reply()
 
-    @raises(xcffib.ConnectionException)
-    def test_invalid(self):
-        conn = xcffib.Connection('notadisplay')
-        conn.invalid()
-
     def test_list_extensions(self):
         reply = self.conn.core.ListExtensions().reply()
         exts = [ext.name.to_string() for ext in reply.names]
@@ -100,9 +82,13 @@
         assert reply.width == 1
         assert reply.height == 1
 
-    @raises(xcffib.XcffibException)
     def test_wait_for_nonexistent_request(self):
-        self.conn.wait_for_reply(10)
+        try:
+            self.conn.wait_for_reply(10)
+        except xcffib.XcffibException:
+            pass
+        else:
+            raise Exception("xcffib exception expected")
 
     def test_no_windows(self):
         # Make sure there aren't any windows in the root window. This mostly
@@ -120,18 +106,26 @@
         assert len(reply.children) == 1
         assert reply.children[0] == wid
 
-    @raises(AssertionError)
     def test_checking_unchecked_fails(self):
-        wid = self.conn.generate_id()
-        self.create_window(wid)
-        self.xproto.QueryTreeUnchecked(self.default_screen.root).check()
+        try:
+            wid = self.conn.generate_id()
+            self.create_window(wid)
+            self.xproto.QueryTreeUnchecked(self.default_screen.root).check()
+        except AssertionError:
+            pass
+        else:
+            raise Exception("expected assertion error")
 
-    @raises(AssertionError)
     def test_checking_default_checked_fails(self):
-        wid = self.conn.generate_id()
-        self.create_window(wid)
-        cookie = self.xproto.QueryTree(self.default_screen.root)
-        cookie.check()
+        try:
+            wid = self.conn.generate_id()
+            self.create_window(wid)
+            cookie = self.xproto.QueryTree(self.default_screen.root)
+            cookie.check()
+        except AssertionError:
+            pass
+        else:
+            raise Exception("expected assertion error")
 
     def test_checking_foreced_checked_succeeds(self):
         wid = self.conn.generate_id()
@@ -145,10 +139,14 @@
         e = self.conn.wait_for_event()
         assert isinstance(e, xcffib.xproto.CreateNotifyEvent)
 
-    @raises(xcffib.xproto.WindowError)
     def test_query_invalid_wid_generates_error(self):
-        # query a bad WINDOW
-        self.xproto.QueryTree(0xf00).reply()
+        try:
+            # query a bad WINDOW
+            self.xproto.QueryTree(0xf00).reply()
+        except xcffib.xproto.WindowError:
+            pass
+        else:
+            raise Exception("expected WindowError")
 
     def test_OpenFont(self):
         fid = self.conn.generate_id()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/xcffib/__init__.py 
new/xcffib-0.11.1/xcffib/__init__.py
--- old/xcffib-0.10.1/xcffib/__init__.py        2020-07-22 04:06:39.000000000 
+0200
+++ new/xcffib-0.11.1/xcffib/__init__.py        2020-11-29 16:55:26.000000000 
+0100
@@ -38,7 +38,7 @@
 lib = ffi.dlopen(soname)
 
 __xcb_proto_version__ = "1.14"
-__version__ = "0.10.1"
+__version__ = "0.11.1"
 
 X_PROTOCOL = lib.X_PROTOCOL
 X_PROTOCOL_REVISION = lib.X_PROTOCOL_REVISION
@@ -637,8 +637,9 @@
         return lib.xcb_generate_id(self._conn)
 
     def disconnect(self):
-        self.invalid()
-        return lib.xcb_disconnect(self._conn)
+        if self._conn is not None:
+            lib.xcb_disconnect(self._conn)
+            self._conn = None
 
     def _process_error(self, c_error):
         self.invalid()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/xcffib/wrappers.py 
new/xcffib-0.11.1/xcffib/wrappers.py
--- old/xcffib-0.10.1/xcffib/wrappers.py        1970-01-01 01:00:00.000000000 
+0100
+++ new/xcffib-0.11.1/xcffib/wrappers.py        2020-11-29 16:55:26.000000000 
+0100
@@ -0,0 +1,37 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+
+def IDWrapper(freer):
+    """
+    Classes create with IDWrapper return an ID and then free it upon exit of 
the
+    context.
+    """
+    class Wrapper:
+        def __init__(self, conn):
+            self.conn = conn
+            self.id = None
+
+        def __enter__(self):
+            self.id = self.conn.generate_id()
+            return self.id
+
+        def __exit__(self, exception_type, exception_value, traceback):
+            getattr(self.conn.core, freer)(self.id)
+
+    return Wrapper
+
+
+PixmapID = IDWrapper("FreePixmap")
+GContextID = IDWrapper("FreeGC")
+ColormapID = IDWrapper("FreeColormap")
+CursorID = IDWrapper("FreeCursor")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/xcffib.egg-info/PKG-INFO 
new/xcffib-0.11.1/xcffib.egg-info/PKG-INFO
--- old/xcffib-0.10.1/xcffib.egg-info/PKG-INFO  2020-07-22 04:06:39.000000000 
+0200
+++ new/xcffib-0.11.1/xcffib.egg-info/PKG-INFO  2020-11-29 16:55:27.000000000 
+0100
@@ -1,23 +1,21 @@
 Metadata-Version: 1.1
 Name: xcffib
-Version: 0.10.1
+Version: 0.11.1
 Summary: A drop in replacement for xpyb, an XCB python binding
 Home-page: http://github.com/tych0/xcffib
 Author: Tycho Andersen
-Author-email: ty...@tycho.ws
+Author-email: tycho@tycho.pizza
 License: Apache License 2.0
 Description: UNKNOWN
 Keywords: xcb xpyb cffi x11 x windows
 Platform: UNKNOWN
-Classifier: Development Status :: 4 - Beta
+Classifier: Development Status :: 5 - Production/Stable
 Classifier: License :: OSI Approved :: Apache Software License
-Classifier: Programming Language :: Python :: 2
-Classifier: Programming Language :: Python :: 2.7
 Classifier: Programming Language :: Python :: 3
-Classifier: Programming Language :: Python :: 3.5
 Classifier: Programming Language :: Python :: 3.6
 Classifier: Programming Language :: Python :: 3.7
 Classifier: Programming Language :: Python :: 3.8
+Classifier: Programming Language :: Python :: 3.9
 Classifier: Programming Language :: Python :: Implementation :: CPython
 Classifier: Programming Language :: Python :: Implementation :: PyPy
 Classifier: Topic :: Software Development :: Libraries
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/xcffib-0.10.1/xcffib.egg-info/SOURCES.txt 
new/xcffib-0.11.1/xcffib.egg-info/SOURCES.txt
--- old/xcffib-0.10.1/xcffib.egg-info/SOURCES.txt       2020-07-22 
04:06:39.000000000 +0200
+++ new/xcffib-0.11.1/xcffib.egg-info/SOURCES.txt       2020-11-29 
16:55:27.000000000 +0100
@@ -29,6 +29,7 @@
 xcffib/shm.py
 xcffib/sync.py
 xcffib/testing.py
+xcffib/wrappers.py
 xcffib/xc_misc.py
 xcffib/xevie.py
 xcffib/xf86dri.py

Reply via email to