Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package python-psutil for openSUSE:Factory checked in at 2021-02-01 13:27:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/python-psutil (Old) and /work/SRC/openSUSE:Factory/.python-psutil.new.28504 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "python-psutil" Mon Feb 1 13:27:11 2021 rev:60 rq:867674 version:5.8.0 Changes: -------- --- /work/SRC/openSUSE:Factory/python-psutil/python-psutil.changes 2020-12-12 20:30:33.933739433 +0100 +++ /work/SRC/openSUSE:Factory/.python-psutil.new.28504/python-psutil.changes 2021-02-01 13:28:46.414156302 +0100 @@ -1,0 +2,48 @@ +Fri Jan 29 08:19:00 UTC 2021 - Antonio Larrosa <alarrosa@suse.com> + +- Do not install tests (and change the way they're run since they + were run from %{buildroot}) + +------------------------------------------------------------------- +Thu Jan 28 16:25:35 UTC 2021 - Antonio Larrosa <alarrosa@suse.com> + +- Add patch to skip tests related to rlimit and zombie processes + that fail when building for python2 on i586: + * skip_rlimit_tests_on_python2.patch + +------------------------------------------------------------------- +Mon Jan 25 16:03:37 UTC 2021 - Antonio Larrosa <alarrosa@suse.com> + +- update to 5.8.0: + * Enhancements: + - 1863: disk_partitions() exposes 2 extra fields: maxfile and + maxpath, which are the maximum file name and path name + length. + - 1872: [Windows] added support for PyPy 2.7. + - 1879: provide pre-compiled wheels for Linux and macOS. + - 1880: get rid of Travis and Cirrus CI services (they are no + longer free). CI testing is now done by GitHub Actions on + Linux, macOS and FreeBSD (yes). AppVeyor is still being used + for Windows CI. + * Bug fixes: + - 1708: [Linux] get rid of sensors_temperatures() duplicates. + (patch by Tim Schlueter). + - 1839: [Windows] always raise AccessDenied when failing to + query 64 processes from 32 bit ones (NtWoW64 APIs). + - 1866: [Windows] process exe(), cmdline(), environ() may raise + "invalid access to memory location" on Python 3.9. + - 1874: [Solaris] wrong swap output given when encrypted column + is present. + - 1875: [Windows] process username() may raise + ERROR_NONE_MAPPED if the SID has no corresponding account + name. In this case AccessDenied is now raised. + - 1877: [Windows] OpenProcess may fail with ERROR_SUCCESS. + Turn it into AccessDenied or NoSuchProcess depending on + whether the PID is alive. + - 1886: [macOS] EIO error may be raised on cmdline() and + environment(). Now it gets translated into AccessDenied. + - 1891: [macOS] get rid of deprecated getpagesize(). +- Rebase patch and skip three other tests that fail on obs + * skip-obs.patch + +------------------------------------------------------------------- Old: ---- psutil-5.7.3.tar.gz New: ---- psutil-5.8.0.tar.gz skip_rlimit_tests_on_python2.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ python-psutil.spec ++++++ --- /var/tmp/diff_new_pack.xg8yqg/_old 2021-02-01 13:28:47.018157242 +0100 +++ /var/tmp/diff_new_pack.xg8yqg/_new 2021-02-01 13:28:47.022157248 +0100 @@ -1,7 +1,7 @@ # # spec file for package python-psutil # -# 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 @@ -24,7 +24,7 @@ %endif %bcond_without python2 Name: python-psutil -Version: 5.7.3 +Version: 5.8.0 Release: 0 Summary: A process utilities module for Python License: BSD-3-Clause @@ -34,6 +34,8 @@ # PATCH-FIX-UPSTREAM skip_failing_tests.patch gh#giampaolo/psutil#1635 mcepl@suse.com # skip tests failing because of incomplete emulation of the environment in osc build Patch2: skip_failing_tests.patch +# PATCH-FIX-SLE skip_rlimit_tests_on_python2.patch alarrosa@suse.com +Patch3: skip_rlimit_tests_on_python2.patch BuildRequires: %{python_module devel} BuildRequires: %{python_module setuptools} BuildRequires: fdupes @@ -75,6 +77,7 @@ %{python_expand mkdir -p %{buildroot}%{_docdir}/%{$python_prefix}-psutil cp -r scripts %{buildroot}%{_docdir}/%{$python_prefix}-psutil/ find %{buildroot}%{_docdir}/%{$python_prefix}-psutil/scripts/ -type f -name "*.py" -exec sed -i "s|#!%{_bindir}/env python.*|#!%{__$python}|" {} \; +rm -rf %{buildroot}%{$python_sitearch}/psutil/tests %fdupes %{buildroot}%{_docdir}/%{$python_prefix}-psutil/ %fdupes %{buildroot}%{$python_sitearch} } @@ -84,9 +87,10 @@ export LANG=en_US.UTF-8 export PSUTIL_TESTING=1 export TRAVIS=1 +march=`python3 -c "import platform ; print(platform.machine())"` # Note test_fetch_all is a bit flaky, occasionally failing -%python_expand PYTHONPATH=%{buildroot}%{$python_sitearch} $python -Wa psutil/tests/runner.py +%python_expand PYTHONPATH=build/lib.linux-${march}-%{$python_version}/ $python -Wa psutil/tests/runner.py %endif %files %{python_files} ++++++ psutil-5.7.3.tar.gz -> psutil-5.8.0.tar.gz ++++++ ++++ 5305 lines of diff (skipped) ++++++ skip-obs.patch ++++++ --- /var/tmp/diff_new_pack.xg8yqg/_old 2021-02-01 13:28:47.154157454 +0100 +++ /var/tmp/diff_new_pack.xg8yqg/_new 2021-02-01 13:28:47.158157460 +0100 @@ -1,8 +1,16 @@ -Index: psutil-5.7.3/psutil/tests/test_misc.py +Index: psutil-5.8.0/psutil/tests/test_misc.py =================================================================== ---- psutil-5.7.3.orig/psutil/tests/test_misc.py -+++ psutil-5.7.3/psutil/tests/test_misc.py -@@ -664,7 +664,7 @@ class TestScripts(PsutilTestCase): +--- psutil-5.8.0.orig/psutil/tests/test_misc.py ++++ psutil-5.8.0/psutil/tests/test_misc.py +@@ -354,6 +354,7 @@ class TestMisc(PsutilTestCase): + check(psutil.disk_usage(os.getcwd())) + check(psutil.users()) + ++ @unittest.skipIf(True, 'does not work on obs') + def test_setup_script(self): + setup_py = os.path.join(ROOT_DIR, 'setup.py') + if CI_TESTING and not os.path.exists(setup_py): +@@ -667,7 +668,7 @@ class TestScripts(PsutilTestCase): src = f.read() ast.parse(src) @@ -11,7 +19,7 @@ # make sure all example scripts have a test method defined meths = dir(self) for name in os.listdir(SCRIPTS_DIR): -@@ -682,7 +682,7 @@ class TestScripts(PsutilTestCase): +@@ -685,7 +686,7 @@ class TestScripts(PsutilTestCase): if not stat.S_IXUSR & os.stat(path)[stat.ST_MODE]: self.fail('%r is not executable' % path) @@ -20,11 +28,11 @@ self.assert_stdout('disk_usage.py') def test_free(self): -Index: psutil-5.7.3/psutil/tests/test_linux.py +Index: psutil-5.8.0/psutil/tests/test_linux.py =================================================================== ---- psutil-5.7.3.orig/psutil/tests/test_linux.py -+++ psutil-5.7.3/psutil/tests/test_linux.py -@@ -682,7 +682,7 @@ class TestSystemCPUCountLogical(PsutilTe +--- psutil-5.8.0.orig/psutil/tests/test_linux.py ++++ psutil-5.8.0/psutil/tests/test_linux.py +@@ -675,7 +675,7 @@ class TestSystemCPUCountLogical(PsutilTe self.assertEqual(psutil.cpu_count(logical=True), num) @unittest.skipIf(not which("lscpu"), "lscpu utility not available") @@ -33,7 +41,7 @@ out = sh("lscpu -p") num = len([x for x in out.split('\n') if not x.startswith('#')]) self.assertEqual(psutil.cpu_count(logical=True), num) -@@ -725,7 +725,7 @@ class TestSystemCPUCountLogical(PsutilTe +@@ -718,7 +718,7 @@ class TestSystemCPUCountLogical(PsutilTe class TestSystemCPUCountPhysical(PsutilTestCase): @unittest.skipIf(not which("lscpu"), "lscpu utility not available") @@ -42,7 +50,7 @@ out = sh("lscpu -p") core_ids = set() for line in out.split('\n'): -@@ -1080,7 +1080,7 @@ class TestSystemDiskPartitions(PsutilTes +@@ -1068,7 +1068,7 @@ class TestSystemDiskPartitions(PsutilTes @unittest.skipIf(not hasattr(os, 'statvfs'), "os.statvfs() not available") @skip_on_not_implemented() @@ -51,7 +59,7 @@ # test psutil.disk_usage() and psutil.disk_partitions() # against "df -a" def df(path): -@@ -1254,7 +1254,7 @@ class TestSystemDiskIoCounters(PsutilTes +@@ -1242,7 +1242,7 @@ class TestSystemDiskIoCounters(PsutilTes self.assertEqual(ret.read_count, 1) self.assertEqual(ret.write_count, 5) @@ -60,29 +68,49 @@ def exists(path): if path == '/proc/diskstats': return False -Index: psutil-5.7.3/psutil/tests/test_posix.py +Index: psutil-5.8.0/psutil/tests/test_posix.py =================================================================== ---- psutil-5.7.3.orig/psutil/tests/test_posix.py -+++ psutil-5.7.3/psutil/tests/test_posix.py -@@ -371,7 +371,7 @@ class TestSystemAPIs(PsutilTestCase): - +--- psutil-5.8.0.orig/psutil/tests/test_posix.py ++++ psutil-5.8.0/psutil/tests/test_posix.py +@@ -376,7 +376,7 @@ class TestSystemAPIs(PsutilTestCase): # AIX can return '-' in df output instead of numbers, e.g. for /proc @unittest.skipIf(AIX, "unreliable on AIX") + @retry_on_failure() - def test_disk_usage(self): + def _test_disk_usage(self): def df(device): out = sh("df -k %s" % device).strip() line = out.split('\n')[1] -Index: psutil-5.7.3/psutil/tests/test_system.py +Index: psutil-5.8.0/psutil/tests/test_system.py =================================================================== ---- psutil-5.7.3.orig/psutil/tests/test_system.py -+++ psutil-5.7.3/psutil/tests/test_system.py -@@ -591,7 +591,7 @@ class TestDiskAPIs(PsutilTestCase): +--- psutil-5.8.0.orig/psutil/tests/test_system.py ++++ psutil-5.8.0/psutil/tests/test_system.py +@@ -200,6 +200,7 @@ class TestMiscAPIs(PsutilTestCase): + self.assertLess(bt, time.time()) + + @unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI") ++ @unittest.skipIf(True, "does not work on obs") + def test_users(self): + users = psutil.users() + self.assertNotEqual(users, []) +@@ -580,7 +581,7 @@ class TestDiskAPIs(PsutilTestCase): def test_disk_usage_bytes(self): psutil.disk_usage(b'.') - def test_disk_partitions(self): + def _test_disk_partitions(self): - # all = False - ls = psutil.disk_partitions(all=False) - # on travis we get: + def check_ntuple(nt): + self.assertIsInstance(nt.device, str) + self.assertIsInstance(nt.mountpoint, str) +Index: psutil-5.8.0/psutil/tests/test_contracts.py +=================================================================== +--- psutil-5.8.0.orig/psutil/tests/test_contracts.py ++++ psutil-5.8.0/psutil/tests/test_contracts.py +@@ -246,6 +246,7 @@ class TestSystemAPITypes(PsutilTestCase) + self.assertIsInstance(k, str) + self.assert_ntuple_of_nums(v, type_=(int, long)) + ++ @unittest.skipIf(True, "does not work on obs") + def test_disk_partitions(self): + # Duplicate of test_system.py. Keep it anyway. + for disk in psutil.disk_partitions(): ++++++ skip_rlimit_tests_on_python2.patch ++++++ Index: psutil-5.8.0/psutil/tests/test_process.py =================================================================== --- psutil-5.8.0.orig/psutil/tests/test_process.py +++ psutil-5.8.0/psutil/tests/test_process.py @@ -416,6 +416,7 @@ class TestProcess(PsutilTestCase): p.ionice(init) @unittest.skipIf(not HAS_RLIMIT, "not supported") + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_rlimit_get(self): import resource p = psutil.Process(os.getpid()) @@ -439,6 +440,7 @@ class TestProcess(PsutilTestCase): self.assertGreaterEqual(ret[1], -1) @unittest.skipIf(not HAS_RLIMIT, "not supported") + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_rlimit_set(self): p = self.spawn_psproc() p.rlimit(psutil.RLIMIT_NOFILE, (5, 5)) @@ -452,6 +454,7 @@ class TestProcess(PsutilTestCase): p.rlimit(psutil.RLIMIT_NOFILE, (5, 5, 5)) @unittest.skipIf(not HAS_RLIMIT, "not supported") + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_rlimit(self): p = psutil.Process() testfn = self.get_testfn() @@ -472,6 +475,7 @@ class TestProcess(PsutilTestCase): self.assertEqual(p.rlimit(psutil.RLIMIT_FSIZE), (soft, hard)) @unittest.skipIf(not HAS_RLIMIT, "not supported") + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_rlimit_infinity(self): # First set a limit, then re-set it by specifying INFINITY # and assume we overridden the previous limit. @@ -487,6 +491,7 @@ class TestProcess(PsutilTestCase): self.assertEqual(p.rlimit(psutil.RLIMIT_FSIZE), (soft, hard)) @unittest.skipIf(not HAS_RLIMIT, "not supported") + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_rlimit_infinity_value(self): # RLIMIT_FSIZE should be RLIM_INFINITY, which will be a really # big number on a platform with large file support. On these @@ -1270,6 +1275,7 @@ class TestProcess(PsutilTestCase): self.assertEqual(normcase(p.exe()), normcase(PYTHON_EXE)) @unittest.skipIf(not POSIX, 'POSIX only') + @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") def test_zombie_process(self): def succeed_or_zombie_p_exc(fun): try: