Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-unittest-mixins for 
openSUSE:Factory checked in at 2024-06-03 17:42:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-unittest-mixins (Old)
 and      /work/SRC/openSUSE:Factory/.python-unittest-mixins.new.24587 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-unittest-mixins"

Mon Jun  3 17:42:51 2024 rev:3 rq:1178076 version:1.6

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/python-unittest-mixins/python-unittest-mixins.changes
    2021-09-03 21:25:33.974135883 +0200
+++ 
/work/SRC/openSUSE:Factory/.python-unittest-mixins.new.24587/python-unittest-mixins.changes
 2024-06-03 17:43:01.886078944 +0200
@@ -1,0 +2,10 @@
+Sat Jun  1 20:10:03 UTC 2024 - Matej Cepl <mc...@cepl.eu>
+
+- Clean up SPEC file.
+
+-------------------------------------------------------------------
+Thu May 30 08:11:07 UTC 2024 - Markéta Machová <mmach...@suse.com>
+
+- Add drop-old-pythons.patch to get rid of six
+
+-------------------------------------------------------------------

New:
----
  drop-old-pythons.patch

BETA DEBUG BEGIN:
  New:
- Add drop-old-pythons.patch to get rid of six
BETA DEBUG END:

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

Other differences:
------------------
++++++ python-unittest-mixins.spec ++++++
--- /var/tmp/diff_new_pack.EXkPSZ/_old  2024-06-03 17:43:03.234128624 +0200
+++ /var/tmp/diff_new_pack.EXkPSZ/_new  2024-06-03 17:43:03.238128772 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-unittest-mixins
 #
-# Copyright (c) 2021 SUSE LLC
+# Copyright (c) 2024 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,37 +16,35 @@
 #
 
 
-%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-unittest-mixins
 Version:        1.6
 Release:        0
-License:        Apache-2.0
 Summary:        Helpful mixins for unittest classes
-URL:            https://github.com/nedbat/unittest-mixins
+License:        Apache-2.0
 Group:          Development/Languages/Python
+URL:            https://github.com/nedbat/unittest-mixins
 Source:         
https://files.pythonhosted.org/packages/source/u/unittest-mixins/unittest-mixins-%{version}.tar.gz
+# PATCH-FIX-UPSTREAM https://github.com/nedbat/unittest-mixins/pull/4 drop 
python<=3.7 support and use of six module
+Patch0:         drop-old-pythons.patch
+BuildRequires:  %{python_module pip}
 BuildRequires:  %{python_module setuptools}
-BuildRequires:  python-rpm-macros
-# SECTION test requirements
-BuildRequires:  %{python_module six >= 1.4.0}
-# /SECTION
+BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
-Requires:       python-six >= 1.4.0
+BuildRequires:  python-rpm-macros
 BuildArch:      noarch
-
 %python_subpackages
 
 %description
 Helpful mixins for unittest classes.
 
 %prep
-%setup -q -n unittest-mixins-%{version}
+%autosetup -p1 -n unittest-mixins-%{version}
 
 %build
-%python_build
+%pyproject_wheel
 
 %install
-%python_install
+%pyproject_install
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 
 %check
@@ -55,5 +53,6 @@
 %files %{python_files}
 %doc README.rst
 %license LICENSE.txt
-%{python_sitelib}/*
+%{python_sitelib}/unittest_mixins
+%{python_sitelib}/unittest_mixins-%{version}*-info
 

++++++ drop-old-pythons.patch ++++++
>From 99244d2230110568234e3156647ee16d5b4bd0af Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomasz=20K=C5=82oczko?= <kloc...@github.com>
Date: Sat, 9 Mar 2024 12:17:46 +0000
Subject: [PATCH 1/2] drop python<=3.7 support
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Pass all code over `pyupgrade --py38`.

Signed-off-by: Tomasz Kłoczko <kloc...@github.com>
---
 tests/test_mixins.py      |  9 ++++-----
 unittest_mixins/mixins.py | 29 +++++++++++++----------------
 2 files changed, 17 insertions(+), 21 deletions(-)

diff --git a/tests/test_mixins.py b/tests/test_mixins.py
index 2fd7ca0..edebf53 100644
--- a/tests/test_mixins.py
+++ b/tests/test_mixins.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
 # Licensed under the Apache License: http://www.apache.org/licenses/LICENSE-2.0
 # For details: https://github.com/nedbat/unittest-mixins/blob/master/NOTICE.txt
 
@@ -32,7 +31,7 @@
 class ChangeDirTest(unittest.TestCase):
     """Test the change_dir decorator."""
     def setUp(self):
-        super(ChangeDirTest, self).setUp()
+        super().setUp()
         self.root = tempfile.mkdtemp(prefix="change_dir_test")
         self.addCleanup(shutil.rmtree, self.root)
         self.a_dir = os.path.join(self.root, "a_dir")
@@ -132,7 +131,7 @@ class EnvironmentAwareMixinTest(EnvironmentAwareMixin, 
unittest.TestCase):
     """Tests of test_helpers.EnvironmentAwareMixin."""
 
     def setUp(self):
-        super(EnvironmentAwareMixinTest, self).setUp()
+        super().setUp()
 
         # Find a pre-existing environment variable.
         # Not sure what environment variables are available in all of our
@@ -229,7 +228,7 @@ def test_two_delayed_assertions(self):
             - w
             + z
             """))
-        with six.assertRaisesRegex(self, AssertionError, msg):
+        with self.assertRaisesRegex(AssertionError, msg):
             with self.delayed_assertions():
                 self.assertEqual("x", "y")
                 self.assertEqual("w", "z")
@@ -241,7 +240,7 @@ def test_only_one_fails(self):
             - w
             + z
             """))
-        with six.assertRaisesRegex(self, AssertionError, msg):
+        with self.assertRaisesRegex(AssertionError, msg):
             with self.delayed_assertions():
                 self.assertEqual("x", "x")
                 self.assertEqual("w", "z")
diff --git a/unittest_mixins/mixins.py b/unittest_mixins/mixins.py
index d9591ed..36cee46 100644
--- a/unittest_mixins/mixins.py
+++ b/unittest_mixins/mixins.py
@@ -21,7 +21,7 @@
 import six
 
 
-class _Tee(object):
+class _Tee:
     """A file-like that writes to all the file-likes it has."""
 
     def __init__(self, *files):
@@ -101,7 +101,7 @@ def test_foo(self):
     return val
 
 
-class ModuleCleaner(object):
+class ModuleCleaner:
     """Remember the state of sys.modules, and provide a way to restore it."""
 
     def __init__(self):
@@ -122,7 +122,7 @@ class ModuleAwareMixin(unittest.TestCase):
     """A test case mixin that isolates changes to sys.modules."""
 
     def setUp(self):
-        super(ModuleAwareMixin, self).setUp()
+        super().setUp()
 
         self._module_cleaner = ModuleCleaner()
         self.addCleanup(self._module_cleaner.cleanup_modules)
@@ -135,7 +135,7 @@ class SysPathAwareMixin(unittest.TestCase):
     """A test case mixin that isolates changes to sys.path."""
 
     def setUp(self):
-        super(SysPathAwareMixin, self).setUp()
+        super().setUp()
         setup_with_context_manager(self, saved_sys_path())
 
 
@@ -143,7 +143,7 @@ class EnvironmentAwareMixin(unittest.TestCase):
     """A test case mixin that isolates changes to the environment."""
 
     def setUp(self):
-        super(EnvironmentAwareMixin, self).setUp()
+        super().setUp()
 
         # Record environment variables that we changed with set_environ.
         self._environ_undos = {}
@@ -202,7 +202,7 @@ class StdStreamCapturingMixin(unittest.TestCase):
     show_stderr = False
 
     def setUp(self):
-        super(StdStreamCapturingMixin, self).setUp()
+        super().setUp()
 
         # Capture stdout and stderr so we can examine them in tests.
         # nose keeps stdout from littering the screen, so we can safely _Tee
@@ -255,7 +255,7 @@ class DelayedAssertionMixin(unittest.TestCase):
 
     """
     def __init__(self, *args, **kwargs):
-        super(DelayedAssertionMixin, self).__init__(*args, **kwargs)
+        super().__init__(*args, **kwargs)
         # This mixin only works with assert methods that call `self.fail`.  In
         # Python 2.7, `assertEqual` didn't, but we can do what Python 3 does,
         # and use `assertMultiLineEqual` for comparing strings.
@@ -277,7 +277,7 @@ def delayed_assertions(self):
                 self.fail(self._delayed_assertions[0])
             else:
                 self.fail(
-                    "{0} failed assertions:\n{1}".format(
+                    "{} failed assertions:\n{}".format(
                         len(self._delayed_assertions),
                         "\n".join(self._delayed_assertions),
                     )
@@ -310,10 +310,7 @@ def make_file(filename, text="", bytes=b"", newline=None):
         text = textwrap.dedent(text)
         if newline:
             text = text.replace("\n", newline)
-        if six.PY3:
-            data = text.encode('utf8')
-        else:
-            data = text
+        data = text.encode('utf8')
 
     # Make sure the directories are available.
     dirs, _ = os.path.split(filename)
@@ -355,7 +352,7 @@ class TempDirMixin(SysPathAwareMixin, ModuleAwareMixin, 
unittest.TestCase):
     temp_dir_prefix = "test_"
 
     def setUp(self):
-        super(TempDirMixin, self).setUp()
+        super().setUp()
 
         if self.run_in_temp_dir:
             # Create a temporary directory.
@@ -385,7 +382,7 @@ def _check_behavior(self):
     def _make_temp_dir(self):
         """Make a temp directory that is cleaned up when the test is done."""
         slug = re.sub(r"[^\w]+", "_", self.id())
-        name = "{0}{1}_{2:08d}".format(
+        name = "{}{}_{:08d}".format(
             self.temp_dir_prefix,
             slug,
             random.randint(0, 99999999)
@@ -403,7 +400,7 @@ def _delete_temp_dir(self, temp_dir):
     def skipTest(self, reason):
         """Skip this test, and give a reason."""
         self._class_behavior().skipped += 1
-        super(TempDirMixin, self).skipTest(reason)
+        super().skipTest(reason)
 
     def chdir(self, new_dir):
         """Change directory, and change back when the test is done."""
@@ -427,7 +424,7 @@ def make_file(self, filename, text="", bytes=b"", 
newline=None):
     # then report at the end of the process on test classes that were set
     # wrong.
 
-    class _ClassBehavior(object):
+    class _ClassBehavior:
         """A value object to store per-class."""
         def __init__(self):
             self.klass = None

>From b7a7db348acc372c881f0ca72012c49bf0bf5e6a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomasz=20K=C5=82oczko?= <kloc...@github.com>
Date: Sat, 9 Mar 2024 12:18:30 +0000
Subject: [PATCH 2/2] manual changes to remove python<=3.7 support and remove
 use `six module
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Manual changes to remove python<=3.7 support
Remove use `six module and use standard io.
Add entries for python 3.8 and 3.9 in setup.py.

Signed-off-by: Tomasz Kłoczko <kloc...@github.com>
---
 requirements.txt          |  1 -
 setup.py                  | 11 ++---------
 tests/test_mixins.py      |  7 +++----
 unittest_mixins/mixins.py |  8 +++-----
 4 files changed, 8 insertions(+), 19 deletions(-)

diff --git a/requirements.txt b/requirements.txt
index b6e34eb..e69de29 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1 +0,0 @@
-six==1.10.0
diff --git a/setup.py b/setup.py
index a3a5a5b..c902351 100644
--- a/setup.py
+++ b/setup.py
@@ -9,13 +9,9 @@
 Intended Audience :: Developers
 License :: OSI Approved :: Apache Software License
 Operating System :: OS Independent
-Programming Language :: Python :: 2.6
-Programming Language :: Python :: 2.7
-Programming Language :: Python :: 3.3
-Programming Language :: Python :: 3.4
-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 :: Quality Assurance
@@ -31,9 +27,6 @@
     author_email='n...@nedbatchelder.com',
     url='https://github.com/nedbat/unittest-mixins',
     packages=['unittest_mixins'],
-    install_requires=[
-        'six >= 1.4.0',
-    ],
     license='Apache 2.0',
     classifiers=classifiers.splitlines(),
 )
diff --git a/tests/test_mixins.py b/tests/test_mixins.py
index edebf53..50969e9 100644
--- a/tests/test_mixins.py
+++ b/tests/test_mixins.py
@@ -4,6 +4,7 @@
 """Tests that our test infrastructure is really working!"""
 
 import contextlib
+import io
 import os
 import os.path
 import re
@@ -16,8 +17,6 @@
 except ImportError:
     import unittest
 
-import six
-
 from unittest_mixins import (
     change_dir,
     DelayedAssertionMixin,
@@ -323,8 +322,8 @@ def test_stderr(self):
         old_stdout = sys.stdout
         old_stderr = sys.stderr
         self.addCleanup(self._cleanup_streams, old_stdout, old_stderr)
-        sys.stdout = my_stdout = six.StringIO()
-        sys.stderr = my_stderr = six.StringIO()
+        sys.stdout = my_stdout = io.StringIO()
+        sys.stderr = my_stderr = io.StringIO()
 
         results = run_tests_from_class(TheTestsToTest)
         assert_all_passed(results, tests_run=2)
diff --git a/unittest_mixins/mixins.py b/unittest_mixins/mixins.py
index 36cee46..479e9d0 100644
--- a/unittest_mixins/mixins.py
+++ b/unittest_mixins/mixins.py
@@ -6,6 +6,7 @@
 import atexit
 import collections
 import contextlib
+import io
 import os
 import random
 import re
@@ -18,9 +19,6 @@
 except ImportError:
     import unittest
 
-import six
-
-
 class _Tee:
     """A file-like that writes to all the file-likes it has."""
 
@@ -209,11 +207,11 @@ def setUp(self):
         # it, but it doesn't capture stderr, so we don't want to _Tee stderr to
         # the real stderr, since it will interfere with our nice field of dots.
         old_stdout = sys.stdout
-        self.captured_stdout = six.StringIO()
+        self.captured_stdout = io.StringIO()
         sys.stdout = _Tee(sys.stdout, self.captured_stdout)
 
         old_stderr = sys.stderr
-        self.captured_stderr = six.StringIO()
+        self.captured_stderr = io.StringIO()
         if self.show_stderr:
             sys.stderr = _Tee(sys.stderr, self.captured_stderr)
         else:

Reply via email to