From d36192cd66178ca9f59cf53f53648192d5ca620d32c382a6d73a453760595365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mark=C3=A9ta=20Machov=C3=A1?= Date: Wed, 17 Jul 2024 14:24:09 +0000 Subject: [PATCH] Accepting request 1188186 from home:glaubitz:branches:devel:languages:python - Update to version 6.0.0 * 2109_: ``maxfile`` and ``maxpath`` fields were removed from the namedtuple returned by `disk_partitions()`_. Reason: on network filesystems (NFS) this can potentially take a very long time to complete. * 2366_, [Windows]: log debug message when using slower process APIs. * 2375_, [macOS]: provide arm64 wheels. (patch by Matthieu Darbois) * 2396_: `process_iter()`_ no longer pre-emptively checks whether PIDs have been reused. This makes `process_iter()`_ around 20x times faster. * 2396_: a new ``psutil.process_iter.cache_clear()`` API can be used the clear `process_iter()`_ internal cache. * 2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross) * 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_. The old name is still available, but it's deprecated (triggers a ``DeprecationWarning``) and will be removed in the future. * 2425_: [Linux]: provide aarch64 wheels. (patch by Matthieu Darbois / Ben Raz) * 2250_, [NetBSD]: `Process.cmdline()`_ sometimes fail with EBUSY. It usually happens for long cmdlines with lots of arguments. In this case retry getting the cmdline for up to 50 times, and return an empty list as last resort. * 2254_, [Linux]: offline cpus raise NotImplementedError in cpu_freq() (patch by Shade Gladden) * 2272_: Add pickle support to psutil Exceptions. * 2359_, [Windows], [CRITICAL]: `pid_exists()`_ disagrees with `Process`_ on whether a pid exists when ERROR_ACCESS_DENIED. * 2360_, [macOS]: can't compile on macOS < 10.13. (patch by Ryan Schmidt) * 2362_, [macOS]: can't compile on macOS 10.11. (patch by Ryan Schmidt) * 2365_, [macOS]: can't compile on macOS < 10.9. (patch by Ryan Schmidt) * 2395_, [OpenBSD]: `pid_exists()`_ erroneously return True if the argument is a thread ID (TID) instead of a PID (process ID). * 2412_, [macOS]: can't compile on macOS 10.4 PowerPC due to missing `MNT_` constants. OBS-URL: https://build.opensuse.org/request/show/1188186 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-psutil?expand=0&rev=173 --- psutil-5.9.7.tar.gz | 3 - psutil-6.0.0.tar.gz | 3 + python-psutil.changes | 62 ++++++++++ python-psutil.spec | 4 +- skip_failing_tests.patch | 177 ++++++++++++++++------------- skip_rlimit_tests_on_python2.patch | 56 --------- 6 files changed, 165 insertions(+), 140 deletions(-) delete mode 100644 psutil-5.9.7.tar.gz create mode 100644 psutil-6.0.0.tar.gz delete mode 100644 skip_rlimit_tests_on_python2.patch diff --git a/psutil-5.9.7.tar.gz b/psutil-5.9.7.tar.gz deleted file mode 100644 index a8438e6..0000000 --- a/psutil-5.9.7.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:3f02134e82cfb5d089fddf20bb2e03fd5cd52395321d1c8458a9e58500ff417c -size 498429 diff --git a/psutil-6.0.0.tar.gz b/psutil-6.0.0.tar.gz new file mode 100644 index 0000000..dce2d3c --- /dev/null +++ b/psutil-6.0.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8faae4f310b6d969fa26ca0545338b21f73c6b15db7c4a8d934a5482faa818f2 +size 508067 diff --git a/python-psutil.changes b/python-psutil.changes index 4a13e11..ab4955a 100644 --- a/python-psutil.changes +++ b/python-psutil.changes @@ -1,3 +1,65 @@ +------------------------------------------------------------------- +Wed Jul 17 12:33:03 UTC 2024 - John Paul Adrian Glaubitz + +- Update to version 6.0.0 + * 2109_: ``maxfile`` and ``maxpath`` fields were removed from the namedtuple + returned by `disk_partitions()`_. Reason: on network filesystems (NFS) this + can potentially take a very long time to complete. + * 2366_, [Windows]: log debug message when using slower process APIs. + * 2375_, [macOS]: provide arm64 wheels. (patch by Matthieu Darbois) + * 2396_: `process_iter()`_ no longer pre-emptively checks whether PIDs have + been reused. This makes `process_iter()`_ around 20x times faster. + * 2396_: a new ``psutil.process_iter.cache_clear()`` API can be used the clear + `process_iter()`_ internal cache. + * 2401_, Support building with free-threaded CPython 3.13. (patch by Sam Gross) + * 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_. + The old name is still available, but it's deprecated (triggers a + ``DeprecationWarning``) and will be removed in the future. + * 2425_: [Linux]: provide aarch64 wheels. (patch by Matthieu Darbois / Ben Raz) + * 2250_, [NetBSD]: `Process.cmdline()`_ sometimes fail with EBUSY. It usually + happens for long cmdlines with lots of arguments. In this case retry getting + the cmdline for up to 50 times, and return an empty list as last resort. + * 2254_, [Linux]: offline cpus raise NotImplementedError in cpu_freq() (patch + by Shade Gladden) + * 2272_: Add pickle support to psutil Exceptions. + * 2359_, [Windows], [CRITICAL]: `pid_exists()`_ disagrees with `Process`_ on + whether a pid exists when ERROR_ACCESS_DENIED. + * 2360_, [macOS]: can't compile on macOS < 10.13. (patch by Ryan Schmidt) + * 2362_, [macOS]: can't compile on macOS 10.11. (patch by Ryan Schmidt) + * 2365_, [macOS]: can't compile on macOS < 10.9. (patch by Ryan Schmidt) + * 2395_, [OpenBSD]: `pid_exists()`_ erroneously return True if the argument is + a thread ID (TID) instead of a PID (process ID). + * 2412_, [macOS]: can't compile on macOS 10.4 PowerPC due to missing `MNT_` + constants. + * 2109_: the namedtuple returned by `disk_partitions()`_' no longer has + ``maxfile`` and ``maxpath`` fields. + * 2396_: `process_iter()`_ no longer pre-emptively checks whether PIDs have + been reused. If you want to check for PID reusage you are supposed to use + `Process.is_running()`_ against the yielded `Process`_ instances. That will + also automatically remove reused PIDs from `process_iter()`_ internal cache. + * 2407_: `Process.connections()`_ was renamed to `Process.net_connections()`_. + The old name is still available, but it's deprecated (triggers a + ``DeprecationWarning``) and will be removed in the future. +- from version 5.9.8 + * 2343_, [FreeBSD]: filter `net_connections()`_ returned list in C instead of + Python, and avoid to retrieve unnecessary connection types unless explicitly + asked. E.g., on an IDLE system with few IPv6 connections this will run around + 4 times faster. Before all connection types (TCP, UDP, UNIX) were retrieved + internally, even if only a portion was returned. + * 2342_, [NetBSD]: same as above (#2343) but for NetBSD. + * 2349_: adopted black formatting style. + * 930_, [NetBSD], [critical]: `net_connections()`_ implementation was broken. + It could either leak memory or core dump. + * 2340_, [NetBSD]: if process is terminated, `Process.cwd()`_ will return an + empty string instead of raising `NoSuchProcess`_. + * 2345_, [Linux]: fix compilation on older compiler missing DUPLEX_UNKNOWN. + * 2222_, [macOS]: `cpu_freq()` now returns fixed values for `min` and `max` + frequencies in all Apple Silicon chips. +- Drop obsolete patch to skip tests on Python 2 + * skip_rlimit_tests_on_python2.patch +- Update patch to skip failing tests for new version + * skip_failing_tests.patch + ------------------------------------------------------------------- Fri Mar 22 10:40:19 UTC 2024 - Fabian Vogt diff --git a/python-psutil.spec b/python-psutil.spec index 5d9ee1f..99b7ae6 100644 --- a/python-psutil.spec +++ b/python-psutil.spec @@ -23,7 +23,7 @@ %endif %{?sle15_python_module_pythons} Name: python-psutil -Version: 5.9.7 +Version: 6.0.0 Release: 0 Summary: A process utilities module for Python License: BSD-3-Clause @@ -32,8 +32,6 @@ Source: https://files.pythonhosted.org/packages/source/p/psutil/psutil-% # 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 # PATCH-FIX-SLE adopt change of used memory of procps Patch4: mem-used-bsc1181475.patch BuildRequires: %{python_module devel} diff --git a/skip_failing_tests.patch b/skip_failing_tests.patch index aae6b11..86a190d 100644 --- a/skip_failing_tests.patch +++ b/skip_failing_tests.patch @@ -1,36 +1,18 @@ -Index: psutil-5.9.5/psutil/tests/test_misc.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_misc.py -+++ psutil-5.9.5/psutil/tests/test_misc.py -@@ -251,6 +251,7 @@ class TestMisc(PsutilTestCase): - - # # XXX: https://github.com/pypa/setuptools/pull/2896 - # @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug") -+ # @unittest.skip("Fails in 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): -@@ -847,6 +848,7 @@ class TestScripts(PsutilTestCase): - src = f.read() - ast.parse(src) +diff -Nru psutil-6.0.0.orig/psutil/tests/test_contracts.py psutil-6.0.0/psutil/tests/test_contracts.py +--- psutil-6.0.0.orig/psutil/tests/test_contracts.py 2024-06-18 22:36:40.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_contracts.py 2024-07-17 14:20:15.685789923 +0200 +@@ -249,6 +249,7 @@ + self.assertIsInstance(k, str) + self.assert_ntuple_of_nums(v, type_=(int, long)) + @unittest.skip("Fails in OBS") - def test_coverage(self): - # make sure all example scripts have a test method defined - meths = dir(self) -@@ -866,6 +868,7 @@ class TestScripts(PsutilTestCase): - if not stat.S_IXUSR & os.stat(path)[stat.ST_MODE]: - raise self.fail('%r is not executable' % path) - -+ @unittest.skip("Fails in OBS") - def test_disk_usage(self): - self.assert_stdout('disk_usage.py') - -Index: psutil-5.9.5/psutil/tests/test_linux.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_linux.py -+++ psutil-5.9.5/psutil/tests/test_linux.py -@@ -713,6 +713,7 @@ class TestSystemCPUCountLogical(PsutilTe + def test_disk_partitions(self): + # Duplicate of test_system.py. Keep it anyway. + for disk in psutil.disk_partitions(): +diff -Nru psutil-6.0.0.orig/psutil/tests/test_linux.py psutil-6.0.0/psutil/tests/test_linux.py +--- psutil-6.0.0.orig/psutil/tests/test_linux.py 2024-06-18 23:00:36.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_linux.py 2024-07-17 14:20:15.685789923 +0200 +@@ -756,6 +756,7 @@ self.assertEqual(psutil.cpu_count(logical=True), num) @unittest.skipIf(not which("lscpu"), "lscpu utility not available") @@ -38,31 +20,31 @@ Index: psutil-5.9.5/psutil/tests/test_linux.py def test_against_lscpu(self): out = sh("lscpu -p") num = len([x for x in out.split('\n') if not x.startswith('#')]) -@@ -756,6 +757,7 @@ class TestSystemCPUCountLogical(PsutilTe +@@ -801,6 +802,7 @@ + @unittest.skipIf(not LINUX, "LINUX only") class TestSystemCPUCountCores(PsutilTestCase): - @unittest.skipIf(not which("lscpu"), "lscpu utility not available") + @unittest.skip("Fails in OBS") def test_against_lscpu(self): out = sh("lscpu -p") core_ids = set() -@@ -1134,6 +1136,7 @@ class TestSystemDiskPartitions(PsutilTes - +@@ -1196,6 +1198,7 @@ + class TestSystemDiskPartitions(PsutilTestCase): @unittest.skipIf(not hasattr(os, 'statvfs'), "os.statvfs() not available") @skip_on_not_implemented() + @unittest.skip("Fails in OBS") def test_against_df(self): # test psutil.disk_usage() and psutil.disk_partitions() # against "df -a" -@@ -1308,6 +1311,7 @@ class TestSystemDiskIoCounters(PsutilTes +@@ -1374,6 +1377,7 @@ self.assertEqual(ret.read_count, 1) self.assertEqual(ret.write_count, 5) + @unittest.skip("Fails in OBS") def test_emulate_use_sysfs(self): def exists(path): - if path == '/proc/diskstats': -@@ -1351,6 +1355,7 @@ class TestRootFsDeviceFinder(PsutilTestC + return path == '/proc/diskstats' +@@ -1417,6 +1421,7 @@ finder.ask_sys_class_block() @unittest.skipIf(GITHUB_ACTIONS, "unsupported on GITHUB_ACTIONS") @@ -70,15 +52,15 @@ Index: psutil-5.9.5/psutil/tests/test_linux.py def test_comparisons(self): finder = RootFsDeviceFinder() self.assertIsNotNone(finder.find()) -@@ -1378,6 +1383,7 @@ class TestRootFsDeviceFinder(PsutilTestC +@@ -1445,6 +1450,7 @@ findmnt_value = sh("findmnt -o SOURCE -rn /") self.assertEqual(psutil_value, findmnt_value) + @unittest.skip("Fails in OBS") def test_disk_partitions_mocked(self): with mock.patch( - 'psutil._pslinux.cext.disk_partitions', -@@ -1676,6 +1682,8 @@ class TestSensorsBattery(PsutilTestCase) + 'psutil._pslinux.cext.disk_partitions', +@@ -1728,6 +1734,8 @@ self.assertIsNone(psutil.sensors_battery().power_plugged) assert m.called @@ -87,7 +69,7 @@ Index: psutil-5.9.5/psutil/tests/test_linux.py def test_emulate_energy_full_0(self): # Emulate a case where energy_full files returns 0. with mock_open_content( -@@ -1683,6 +1691,8 @@ class TestSensorsBattery(PsutilTestCase) +@@ -1736,6 +1744,8 @@ self.assertEqual(psutil.sensors_battery().percent, 0) assert m.called @@ -96,7 +78,7 @@ Index: psutil-5.9.5/psutil/tests/test_linux.py def test_emulate_energy_full_not_avail(self): # Emulate a case where energy_full file does not exist. # Expected fallback on /capacity. -@@ -2275,6 +2285,7 @@ class TestProcessAgainstStatus(PsutilTes +@@ -2324,6 +2334,7 @@ value = self.read_status_file("nonvoluntary_ctxt_switches:") self.assertEqual(self.proc.num_ctx_switches().involuntary, value) @@ -104,11 +86,37 @@ Index: psutil-5.9.5/psutil/tests/test_linux.py def test_cpu_affinity(self): value = self.read_status_file("Cpus_allowed_list:") if '-' in str(value): -Index: psutil-5.9.5/psutil/tests/test_posix.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_posix.py -+++ psutil-5.9.5/psutil/tests/test_posix.py -@@ -413,6 +413,7 @@ class TestSystemAPIs(PsutilTestCase): +diff -Nru psutil-6.0.0.orig/psutil/tests/test_misc.py psutil-6.0.0/psutil/tests/test_misc.py +--- psutil-6.0.0.orig/psutil/tests/test_misc.py 2024-06-18 22:36:40.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_misc.py 2024-07-17 14:20:15.682456583 +0200 +@@ -343,6 +343,7 @@ + + # # XXX: https://github.com/pypa/setuptools/pull/2896 + # @unittest.skipIf(APPVEYOR, "temporarily disabled due to setuptools bug") ++ # @unittest.skip("Fails in 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): +@@ -966,6 +967,7 @@ + src = f.read() + ast.parse(src) + ++ @unittest.skip("Fails in OBS") + def test_coverage(self): + # make sure all example scripts have a test method defined + meths = dir(self) +@@ -987,6 +989,7 @@ + if not stat.S_IXUSR & os.stat(path)[stat.ST_MODE]: + raise self.fail('%r is not executable' % path) + ++ @unittest.skip("Fails in OBS") + def test_disk_usage(self): + self.assert_stdout('disk_usage.py') + +diff -Nru psutil-6.0.0.orig/psutil/tests/test_posix.py psutil-6.0.0/psutil/tests/test_posix.py +--- psutil-6.0.0.orig/psutil/tests/test_posix.py 2024-06-18 22:36:40.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_posix.py 2024-07-17 14:20:15.685789923 +0200 +@@ -443,6 +443,7 @@ # AIX can return '-' in df output instead of numbers, e.g. for /proc @unittest.skipIf(AIX, "unreliable on AIX") @retry_on_failure() @@ -116,11 +124,40 @@ Index: psutil-5.9.5/psutil/tests/test_posix.py def test_disk_usage(self): def df(device): try: -Index: psutil-5.9.5/psutil/tests/test_system.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_system.py -+++ psutil-5.9.5/psutil/tests/test_system.py -@@ -201,6 +201,7 @@ class TestMiscAPIs(PsutilTestCase): +diff -Nru psutil-6.0.0.orig/psutil/tests/test_process_all.py psutil-6.0.0/psutil/tests/test_process_all.py +--- psutil-6.0.0.orig/psutil/tests/test_process_all.py 2024-06-18 23:00:36.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_process_all.py 2024-07-17 14:28:46.700089665 +0200 +@@ -15,6 +15,7 @@ + import stat + import time + import traceback ++import unittest + + import psutil + from psutil import AIX +@@ -130,6 +131,7 @@ + ls.append(proc_info(pid)) + return ls + ++ @unittest.skip("Fails in OBS") + def test_all(self): + failures = [] + for info in self.iter_proc_info(): +diff -Nru psutil-6.0.0.orig/psutil/tests/test_process.py psutil-6.0.0/psutil/tests/test_process.py +--- psutil-6.0.0.orig/psutil/tests/test_process.py 2024-06-18 22:36:40.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_process.py 2024-07-17 14:20:15.685789923 +0200 +@@ -360,6 +360,7 @@ + + @unittest.skipIf(not HAS_IONICE, "not supported") + @unittest.skipIf(not LINUX, "linux only") ++ @unittest.skip("Unreliable in OBS") + def test_ionice_linux(self): + def cleanup(init): + ioclass, value = init +diff -Nru psutil-6.0.0.orig/psutil/tests/test_system.py psutil-6.0.0/psutil/tests/test_system.py +--- psutil-6.0.0.orig/psutil/tests/test_system.py 2024-06-18 22:36:40.000000000 +0200 ++++ psutil-6.0.0/psutil/tests/test_system.py 2024-07-17 14:25:27.213045941 +0200 +@@ -243,6 +243,7 @@ self.assertLess(bt, time.time()) @unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI") @@ -128,7 +165,15 @@ Index: psutil-5.9.5/psutil/tests/test_system.py def test_users(self): users = psutil.users() self.assertNotEqual(users, []) -@@ -586,6 +587,7 @@ class TestDiskAPIs(PsutilTestCase): +@@ -591,6 +592,7 @@ + MACOS and platform.machine() == 'arm64', "skipped due to #1892" + ) + @unittest.skipIf(not HAS_CPU_FREQ, "not supported") ++ @unittest.skip("Fails in OBS") + def test_cpu_freq(self): + def check_ls(ls): + for nt in ls: +@@ -662,6 +664,7 @@ def test_disk_usage_bytes(self): psutil.disk_usage(b'.') @@ -136,27 +181,3 @@ Index: psutil-5.9.5/psutil/tests/test_system.py def test_disk_partitions(self): def check_ntuple(nt): self.assertIsInstance(nt.device, str) -Index: psutil-5.9.5/psutil/tests/test_contracts.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_contracts.py -+++ psutil-5.9.5/psutil/tests/test_contracts.py -@@ -251,6 +251,7 @@ class TestSystemAPITypes(PsutilTestCase) - self.assertIsInstance(k, str) - self.assert_ntuple_of_nums(v, type_=(int, long)) - -+ @unittest.skip("Fails in OBS") - def test_disk_partitions(self): - # Duplicate of test_system.py. Keep it anyway. - for disk in psutil.disk_partitions(): -Index: psutil-5.9.5/psutil/tests/test_process.py -=================================================================== ---- psutil-5.9.5.orig/psutil/tests/test_process.py -+++ psutil-5.9.5/psutil/tests/test_process.py -@@ -346,6 +346,7 @@ class TestProcess(PsutilTestCase): - - @unittest.skipIf(not HAS_IONICE, "not supported") - @unittest.skipIf(not LINUX, "linux only") -+ @unittest.skip("Unreliable in OBS") - def test_ionice_linux(self): - p = psutil.Process() - if not CI_TESTING: diff --git a/skip_rlimit_tests_on_python2.patch b/skip_rlimit_tests_on_python2.patch deleted file mode 100644 index a0e32b1..0000000 --- a/skip_rlimit_tests_on_python2.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- - psutil/tests/test_process.py | 6 ++++++ - 1 file changed, 6 insertions(+) - -Index: psutil-5.9.6/psutil/tests/test_process.py -=================================================================== ---- psutil-5.9.6.orig/psutil/tests/test_process.py -+++ psutil-5.9.6/psutil/tests/test_process.py -@@ -419,6 +419,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()) -@@ -442,6 +443,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)) -@@ -455,6 +457,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() -@@ -475,6 +478,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. -@@ -490,6 +494,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 -@@ -1303,6 +1308,7 @@ class TestProcess(PsutilTestCase): - assert_raises_nsp(fun, name) - - @unittest.skipIf(not POSIX, 'POSIX only') -+ @unittest.skipIf(sys.version_info.major == 2, "not supported on python2") - def test_zombie_process(self): - parent, zombie = self.spawn_zombie() - self.assertProcessZombie(zombie)