Python compat updates

This commit is contained in:
layman
2021-07-09 12:20:52 +02:00
parent 55ce612962
commit 9162201a0e
21 changed files with 576 additions and 212 deletions
+5
View File
@@ -0,0 +1,5 @@
AUX psutil-5.7.0-tests.patch 6018 BLAKE2B ac419a11d5caabd4184ece7a1b969e23125c122fe9a52277a7bc4af8006818b2328507e929584b464aa9ff94521c4d882819c45719dc4fb387a24c7171d5caba SHA512 3b8c901c101c56be207b008437fb0aa2f6095986e9dbdfb3f0ca5f3417ec2ee3a120d9b66f091ed9ac697d80bc17e2eb215b57bbde5b093b5b3b64ca4dae4b3b
AUX psutil-5.7.2-tests.patch 4427 BLAKE2B 8b2847eb445eb39080123dc1018ccf8c68c0ceb88538d9abef454724d298225ba3f65f735fd8528d3ed22d4f463e8025677144442ac471aeeea44bbe7c607d55 SHA512 46145825084b5d09e2dfa7f7b765757a8d5ac7ff2379ae66bb628ea30f010daff2fe9d389f7846a1f63f9b03c4b7bd8ac4f4d07a4ed977e06a68b63a4e27231b
DIST psutil-5.8.0.tar.gz 470886 BLAKE2B f3d8d55dcbc2e0821f1ce96b9187692b2389681e13599b04e33b10f11fbe02f768a4dfc0802fe506713c8c3306d4c7011f2ac659c78f6a23a5523c7e36abc318 SHA512 b716bcbf33ceacdc30ddd0d0cf9bca0ab7751225b8f20dea664a82751dc88cb590720b098ae26056c8b3cdabcfe2fa198d618cea24c21465b1368a52ee182818
EBUILD psutil-5.8.0.ebuild 1155 BLAKE2B 13f89c3397dacf75c21c2506e21ea149bab5334cddb7b94f62c30ba2ae6ce6f7f08144d07c9be7983de8913d113f861f6dabf51aca997123cd83e40aadeed500 SHA512 3d29e2ee60cc953a45724904c5c656554f83b3a6c7d8618d5c9863c38d563c2c31fc68d7f422241b7a52b5e33cfe33f8eaf3109b60022953cf031397379a4526
MISC metadata.xml 377 BLAKE2B 0e671ef95025f24d295ceb5c5295544f4d68bf94459537537e229efd273bbac058b385fa94f1fa1191f23785d2572a5960d84a1d3ece41f10316b38101cb26d0 SHA512 a28e7a1e32a0b2750a4f0956d2252c73d20b4aa9817aac2e776365febd7d03de88e88508aabdfc29ae15d8bf7ebf1ed662c000e2ca8c79e3d50a3362ce1c2d2d
@@ -0,0 +1,158 @@
From e910d08976e00bc12b5a516daa9e6a6d42d48354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 19 Feb 2020 07:27:32 +0100
Subject: [PATCH] Skip broken tests on Gentoo
---
psutil/tests/test_linux.py | 8 ++++++++
psutil/tests/test_posix.py | 1 +
psutil/tests/test_process.py | 2 ++
psutil/tests/test_system.py | 1 +
4 files changed, 12 insertions(+)
diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
index e51f8bd5..48527ccb 100755
--- a/psutil/tests/test_linux.py
+++ b/psutil/tests/test_linux.py
@@ -17,6 +17,7 @@ import re
import shutil
import socket
import struct
+import sys
import tempfile
import textwrap
import time
@@ -381,6 +382,8 @@ class TestSystemVirtualMemory(unittest.TestCase):
ret = psutil.virtual_memory()
assert m.called
self.assertEqual(ret.available, 2057400 * 1024 + 4818144 * 1024)
+ if sys.version_info < (3,):
+ return
w = ws[0]
self.assertIn(
"inactive memory stats couldn't be determined", str(w.message))
@@ -411,6 +414,8 @@ class TestSystemVirtualMemory(unittest.TestCase):
ret = psutil.virtual_memory()
self.assertEqual(
ret.available, 2057400 * 1024 + 4818144 * 1024)
+ if sys.version_info < (3,):
+ return
w = ws[0]
self.assertIn(
"inactive memory stats couldn't be determined",
@@ -882,6 +887,7 @@ class TestLoadAvg(unittest.TestCase):
@unittest.skipIf(not LINUX, "LINUX only")
class TestSystemNetIfAddrs(unittest.TestCase):
+ @unittest.skip("broken on Gentoo")
def test_ips(self):
for name, addrs in psutil.net_if_addrs().items():
for addr in addrs:
@@ -1364,6 +1370,7 @@ class TestMisc(unittest.TestCase):
psutil.PROCFS_PATH = "/proc"
os.rmdir(tdir)
+ @unittest.skip("broken on Gentoo")
def test_issue_687(self):
# In case of thread ID:
# - pid_exists() is supposed to return False
@@ -2073,6 +2080,7 @@ class TestProcessAgainstStatus(unittest.TestCase):
value = self.read_status_file("nonvoluntary_ctxt_switches:")
self.assertEqual(self.proc.num_ctx_switches().involuntary, value)
+ @unittest.skip("broken on Gentoo")
def test_cpu_affinity(self):
value = self.read_status_file("Cpus_allowed_list:")
if '-' in str(value):
diff --git a/psutil/tests/test_posix.py b/psutil/tests/test_posix.py
index a96b310f..70199203 100755
--- a/psutil/tests/test_posix.py
+++ b/psutil/tests/test_posix.py
@@ -364,6 +364,7 @@ class TestSystemAPIs(unittest.TestCase):
"couldn't find %s nic in 'ifconfig -a' output\n%s" % (
nic, output))
+ @unittest.skip("broken on Gentoo")
@unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI")
@retry_on_failure()
def test_users(self):
diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
index 987bdf38..cb04f3ef 100755
--- a/psutil/tests/test_process.py
+++ b/psutil/tests/test_process.py
@@ -350,6 +350,7 @@ class TestProcess(unittest.TestCase):
self.assertGreaterEqual(io2[i], 0)
self.assertGreaterEqual(io2[i], 0)
+ @unittest.skip("fails if builder is ioniced already")
@unittest.skipIf(not HAS_IONICE, "not supported")
@unittest.skipIf(not LINUX, "linux only")
def test_ionice_linux(self):
@@ -1495,6 +1496,7 @@ class TestProcess(unittest.TestCase):
d2 = clean_dict(os.environ.copy())
self.assertEqual(d1, d2)
+ @unittest.skip("broken by sandbox")
@unittest.skipIf(not HAS_ENVIRON, "not supported")
@unittest.skipIf(not POSIX, "POSIX only")
def test_weird_environ(self):
diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
index 3834209f..b07b5883 100755
--- a/psutil/tests/test_system.py
+++ b/psutil/tests/test_system.py
@@ -215,6 +215,7 @@ class TestMiscAPIs(unittest.TestCase):
self.assertGreater(bt, 0)
self.assertLess(bt, time.time())
+ @unittest.skip("broken on Gentoo")
@unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI")
def test_users(self):
users = psutil.users()
--
2.25.1
From 026e4b0076a352fcb1e8de71f1393ae0d50ac06d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Tue, 26 May 2020 12:28:59 +0200
Subject: [PATCH] Sort results in test_cpu_affinity_all_combinations
Fix test_cpu_affinity_all_combinations to permit any CPU order
in results. This fixes test failure due to affinity being reported
out of order:
======================================================================
FAIL: psutil.tests.test_process.TestProcess.test_cpu_affinity_all_combinations
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tmp/psutil/psutil/tests/test_process.py", line 940, in test_cpu_affinity_all_combinations
self.assertEqual(p.cpu_affinity(), combo)
AssertionError: Lists differ: [8, 1] != [1, 8]
First differing element 0:
8
1
- [8, 1]
+ [1, 8]
----------------------------------------------------------------------
---
psutil/tests/test_process.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
index a0b21c6e..e3394799 100755
--- a/psutil/tests/test_process.py
+++ b/psutil/tests/test_process.py
@@ -937,7 +937,7 @@ class TestProcess(PsutilTestCase):
for combo in combos:
p.cpu_affinity(combo)
- self.assertEqual(p.cpu_affinity(), combo)
+ self.assertEqual(sorted(p.cpu_affinity()), sorted(combo))
# TODO: #595
@unittest.skipIf(BSD, "broken on BSD")
--
2.26.2
@@ -0,0 +1,112 @@
From e910d08976e00bc12b5a516daa9e6a6d42d48354 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Wed, 19 Feb 2020 07:27:32 +0100
Subject: [PATCH] Skip broken tests on Gentoo
---
psutil/tests/test_linux.py | 8 ++++++++
psutil/tests/test_posix.py | 1 +
psutil/tests/test_process.py | 2 ++
psutil/tests/test_system.py | 1 +
4 files changed, 12 insertions(+)
diff --git a/psutil/tests/test_linux.py b/psutil/tests/test_linux.py
index e51f8bd5..48527ccb 100755
--- a/psutil/tests/test_linux.py
+++ b/psutil/tests/test_linux.py
@@ -17,5 +17,6 @@ import re
import shutil
import socket
import struct
+import sys
import textwrap
import time
@@ -381,6 +382,8 @@ class TestSystemVirtualMemory(unittest.TestCase):
ret = psutil.virtual_memory()
assert m.called
self.assertEqual(ret.available, 2057400 * 1024 + 4818144 * 1024)
+ if sys.version_info < (3,):
+ return
w = ws[0]
self.assertIn(
"inactive memory stats couldn't be determined", str(w.message))
@@ -411,6 +414,8 @@ class TestSystemVirtualMemory(unittest.TestCase):
ret = psutil.virtual_memory()
self.assertEqual(
ret.available, 2057400 * 1024 + 4818144 * 1024)
+ if sys.version_info < (3,):
+ return
w = ws[0]
self.assertIn(
"inactive memory stats couldn't be determined",
@@ -882,6 +887,7 @@ class TestLoadAvg(unittest.TestCase):
@unittest.skipIf(not LINUX, "LINUX only")
class TestSystemNetIfAddrs(unittest.TestCase):
+ @unittest.skip("broken on Gentoo")
def test_ips(self):
for name, addrs in psutil.net_if_addrs().items():
for addr in addrs:
@@ -1364,7 +1370,8 @@ class TestMisc(unittest.TestCase):
psutil.PROCFS_PATH = "/proc"
os.rmdir(tdir)
@retry_on_failure()
+ @unittest.skip("broken on Gentoo")
def test_issue_687(self):
# In case of thread ID:
# - pid_exists() is supposed to return False
@@ -2073,6 +2080,7 @@ class TestProcessAgainstStatus(unittest.TestCase):
value = self.read_status_file("nonvoluntary_ctxt_switches:")
self.assertEqual(self.proc.num_ctx_switches().involuntary, value)
+ @unittest.skip("broken on Gentoo")
def test_cpu_affinity(self):
value = self.read_status_file("Cpus_allowed_list:")
if '-' in str(value):
diff --git a/psutil/tests/test_posix.py b/psutil/tests/test_posix.py
index a96b310f..70199203 100755
--- a/psutil/tests/test_posix.py
+++ b/psutil/tests/test_posix.py
@@ -364,6 +364,7 @@ class TestSystemAPIs(unittest.TestCase):
"couldn't find %s nic in 'ifconfig -a' output\n%s" % (
nic, output))
+ @unittest.skip("broken on Gentoo")
@unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI")
@retry_on_failure()
def test_users(self):
diff --git a/psutil/tests/test_process.py b/psutil/tests/test_process.py
index 987bdf38..cb04f3ef 100755
--- a/psutil/tests/test_process.py
+++ b/psutil/tests/test_process.py
@@ -350,6 +350,7 @@ class TestProcess(unittest.TestCase):
self.assertGreaterEqual(io2[i], 0)
self.assertGreaterEqual(io2[i], 0)
+ @unittest.skip("fails if builder is ioniced already")
@unittest.skipIf(not HAS_IONICE, "not supported")
@unittest.skipIf(not LINUX, "linux only")
def test_ionice_linux(self):
@@ -1495,6 +1496,7 @@ class TestProcess(unittest.TestCase):
d2 = clean_dict(os.environ.copy())
self.assertEqual(d1, d2)
+ @unittest.skip("broken by sandbox")
@unittest.skipIf(not HAS_ENVIRON, "not supported")
@unittest.skipIf(not POSIX, "POSIX only")
def test_weird_environ(self):
diff --git a/psutil/tests/test_system.py b/psutil/tests/test_system.py
index 3834209f..b07b5883 100755
--- a/psutil/tests/test_system.py
+++ b/psutil/tests/test_system.py
@@ -215,6 +215,7 @@ class TestMiscAPIs(unittest.TestCase):
self.assertGreater(bt, 0)
self.assertLess(bt, time.time())
+ @unittest.skip("broken on Gentoo")
@unittest.skipIf(CI_TESTING and not psutil.users(), "unreliable on CI")
def test_users(self):
users = psutil.users()
--
2.25.1
+12
View File
@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">psutil</remote-id>
<remote-id type="github">giampaolo/psutil</remote-id>
</upstream>
</pkgmetadata>
+39
View File
@@ -0,0 +1,39 @@
# Copyright 1999-2021 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
PYTHON_COMPAT=( python3_{7..10} pypy3 )
inherit distutils-r1
DESCRIPTION="Retrieve information on running processes and system utilization"
HOMEPAGE="https://github.com/giampaolo/psutil https://pypi.org/project/psutil/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="test"
RESTRICT="!test? ( test )"
PATCHES=(
"${FILESDIR}/psutil-5.7.2-tests.patch"
)
python_test() {
if [[ ${EPYTHON} == pypy* ]]; then
ewarn "Not running tests on ${EPYTHON} since they are broken"
return 0
fi
# since we are running in an environment a bit similar to CI,
# let's skip the tests that are disable for CI
TRAVIS=1 APPVEYOR=1 "${EPYTHON}" psutil/tests/runner.py ||
die "tests failed with ${EPYTHON}"
}
python_compile() {
# force -j1 to avoid .o linking race conditions
local MAKEOPTS=-j1
distutils-r1_python_compile
}