summaryrefslogtreecommitdiff
path: root/dev-python/py
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
committerV3n3RiX <venerix@redcorelinux.org>2021-02-13 21:41:11 +0000
commitc8d60dada2ec8eb48b2d2b290cd6683ccec40e39 (patch)
treec44943ee0563a3fa957716de909fed683117fcb9 /dev-python/py
parent69051588e2f955485fe5d45d45e616bc60a2de57 (diff)
gentoo (valentine's day) resync : 14.02.2021
Diffstat (limited to 'dev-python/py')
-rw-r--r--dev-python/py/Manifest7
-rw-r--r--dev-python/py/files/py-1.5.2-skip-apiwarn-pytest31.patch14
-rw-r--r--dev-python/py/files/py-1.8.0-pytest-4.patch555
-rw-r--r--dev-python/py/files/py-1.9.0-cve-2020-29651.patch31
-rw-r--r--dev-python/py/py-1.10.0.ebuild2
-rw-r--r--dev-python/py/py-1.9.0-r2.ebuild46
6 files changed, 2 insertions, 653 deletions
diff --git a/dev-python/py/Manifest b/dev-python/py/Manifest
index 24f80caadb0c..3c9fc0f073b2 100644
--- a/dev-python/py/Manifest
+++ b/dev-python/py/Manifest
@@ -1,8 +1,3 @@
-AUX py-1.5.2-skip-apiwarn-pytest31.patch 517 BLAKE2B a086d8130c1ead322461e7d89249f07e2dd9a6eee4f7e878bd8c01cf19df695a6a5698ec0cc50770f0514cbedbd2aa88e3fc356a72c78eab4b6bc378b5d1f590 SHA512 01da1bb928fe3b22a69a439481a1ebdac790811da781b7ee497ffa1b7362270628527b33f2d5dc0e83ebc2e57cdaf9fbd2974735f580931222f33e543fd69762
-AUX py-1.8.0-pytest-4.patch 20364 BLAKE2B 8fe8f3b659ef6f586d3de299dcc2e986fec0ede3659c19c08f1c273e3204278620770051603e0c7bffbb47a6b9ecb438f5b7744c0c5894512b0f50877188a6e0 SHA512 ade290d37af218077100f03da5c8ce6e77b93e79317405b9e62059a2c97e14e21e56a11dec7d031f6f2deeff05ce0d6c0c3488535a6d117a02cacc1e18da46e3
-AUX py-1.9.0-cve-2020-29651.patch 1113 BLAKE2B 4a7f69b47ccd27036dcab4e9cd856804ca1d03f57d23c88c7c2577b4e0ac1bf98a3670f2e872e519bd25498dc62dcbc41a60567aef5bbbed11b265e6a70be290 SHA512 cbfc1c1e508fd9326534065ea595679b10f298b5f6084d0d19b95e393a5f49ec5c6e58f635b10ca84c2eca027c1b001db7f01e986f9679530041c763d763b47b
DIST py-1.10.0.tar.gz 206984 BLAKE2B 94abc8f348a0ae1b64a1417fbb5ea1e29929a0a98130a968ed80d92824c242a9614493c8c7f87c3db8294d2baf3bdb35ce0254fe2aac0fb6af2c151b682c5d33 SHA512 7a0eb964067bc01fa4f8ffe70b043abfd4619134fbee2935713e28382085d0b8972c319ed665a643b879b18ce662db8a9bd722937af7cf36c233214eea211dd1
-DIST py-1.9.0.tar.gz 210098 BLAKE2B d7f9b22ebaedd12534198912c1fa0be80f42e97751701442e060e1c244b06ab82239fe78a3cc7119fa4df5d87ecfd97bfb2568744693d3ffe9824ae1d73e59f9 SHA512 965b2adfe1b13177629ccfcdf6d0a13460683ca7a01d585163deb1af15d926fc86680d9e51660f6cbb8569f822a4d54ce281c029e363d244ddf67e33b102ad0a
-EBUILD py-1.10.0.ebuild 815 BLAKE2B c831e30c4cbe891275f1d3c9a8e47fd01a618c94498513d24a740d8588f7261b986a5dff2795af845a09f8ccf8fd796082cb93920c04a276ed51f15ff01b48a6 SHA512 a0046f6b64b928c636a36efd63726e4653598a56045c9973022c373baf10fd47834db2ee2904fc89525f21712d00c03317389cf159ad180d1785faf96f60b4d0
-EBUILD py-1.9.0-r2.ebuild 1413 BLAKE2B 72a8acbf88829b31f0604b9d99c7b9f6e25eef855029413f2f0d26b99734451349c8f042066ce11fa7cc0c010f48b6871aa219f9be31da9d28033f163b153815 SHA512 775aa7a527adac6ca73315eec5558ffb3a75c646ec4e8410cd4be8683542a7517fcf56c4f8d624b01eca6129a5fa987984cd429802c5ef17222e039586561afe
+EBUILD py-1.10.0.ebuild 806 BLAKE2B 47e1ae609ff9b250b49ae29f73c689e0013f660f08ea5f9f17f262c1f9d7cd0106a1b190ad705c016fcf77cc16506670d3b592ba69fdf57173f85d5a83a08aa6 SHA512 577c2771919d2a49eff04c2dd404450c27ec20580d40b7ba6d97bd09dd08ad811c029cd09afc2ff062bc3d2fb69690533b639902e3f47b89da60a7a1c08cf1bf
MISC metadata.xml 340 BLAKE2B 110b7f7cc26818661b98f60f589a782c0a9ed827fb43a89eef8cd7096045b1cc168410d9525641d4a78dee9709679d4d9ee7c38680caef5f37a73f1e726007cd SHA512 ce65db3c076a27acc6af28c1adecf61bfd7d10872612994fd616c72e91264be87460823055182e3b60f6931f22386d3a9f541ddd16c902fd8e02a6a345e65f5c
diff --git a/dev-python/py/files/py-1.5.2-skip-apiwarn-pytest31.patch b/dev-python/py/files/py-1.5.2-skip-apiwarn-pytest31.patch
deleted file mode 100644
index 36727df9366b..000000000000
--- a/dev-python/py/files/py-1.5.2-skip-apiwarn-pytest31.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://github.com/pytest-dev/py/issues/162
-
---- a/testing/log/test_warning.py
-+++ b/testing/log/test_warning.py
-@@ -8,8 +8,7 @@ import py
- mypath = py.path.local(__file__).new(ext=".py")
-
-
--win = sys.platform.startswith('win')
--pytestmark = pytest.mark.skipif(win and LooseVersion(pytest.__version__) >= LooseVersion('3.1'),
-+pytestmark = pytest.mark.skipif(LooseVersion(pytest.__version__) >= LooseVersion('3.1'),
- reason='apiwarn is not compatible with pytest >= 3.1 (#162)')
-
-
diff --git a/dev-python/py/files/py-1.8.0-pytest-4.patch b/dev-python/py/files/py-1.8.0-pytest-4.patch
deleted file mode 100644
index 7d4de73ba776..000000000000
--- a/dev-python/py/files/py-1.8.0-pytest-4.patch
+++ /dev/null
@@ -1,555 +0,0 @@
-From f4ed62ad39f289d09b3efdfed7305f935ce60bfc Mon Sep 17 00:00:00 2001
-From: Stanislav Levin <slev@altlinux.org>
-Date: Tue, 4 Jun 2019 14:33:36 +0300
-Subject: [PATCH] Fix Pytest4.x compatibility errors
-
-This patch should fix such errors/warnings as:
-
-- raises / warns with a string as the second argument
-Deprecated since version 4.1.
-
-- pytest_funcarg__ prefix
-Removed in version 4.0.
-
-- getfuncargvalue
-
-- Metafunc.addcall
-Removed in version 4.0.
-
-Fixes: https://github.com/pytest-dev/py/issues/209
-Signed-off-by: Stanislav Levin <slev@altlinux.org>
----
- doc/faq.txt | 14 -------------
- testing/code/test_assertion.py | 9 +++------
- testing/code/test_code.py | 3 ++-
- testing/code/test_excinfo.py | 12 ++++++-----
- testing/code/test_source.py | 18 ++++++++---------
- testing/io_/test_capture.py | 15 +++++++++-----
- testing/io_/test_terminalwriter.py | 17 ++++++++--------
- testing/io_/test_terminalwriter_linewidth.py | 6 ++++++
- testing/log/test_log.py | 6 ++++--
- testing/path/common.py | 7 ++++---
- testing/path/conftest.py | 16 +++++++--------
- testing/path/test_cacheutil.py | 6 ++++--
- testing/path/test_svnauth.py | 6 ++++--
- testing/path/test_svnurl.py | 21 +++++++++++++-------
- testing/path/test_svnwc.py | 17 ++++++++++------
- testing/root/test_builtin.py | 6 ++++--
- testing/root/test_std.py | 3 ++-
- 17 files changed, 100 insertions(+), 82 deletions(-)
-
-diff --git a/testing/code/test_assertion.py b/testing/code/test_assertion.py
-index e2a7f903..4cb39fe2 100644
---- a/testing/code/test_assertion.py
-+++ b/testing/code/test_assertion.py
-@@ -18,15 +18,12 @@ def test_assert():
-
-
- def test_assert_within_finally():
-- excinfo = py.test.raises(ZeroDivisionError, """
-+ with py.test.raises(ZeroDivisionError,
-+ match=".*division.* by zero"):
- try:
-- 1/0
-+ 1 / 0
- finally:
- i = 42
-- """)
-- s = excinfo.exconly()
-- assert re.search("ZeroDivisionError:.*division", s) is not None
--
-
- def test_assert_multiline_1():
- try:
-diff --git a/testing/code/test_code.py b/testing/code/test_code.py
-index 28ec628b..65328bb7 100644
---- a/testing/code/test_code.py
-+++ b/testing/code/test_code.py
-@@ -18,7 +18,8 @@ def test_code_gives_back_name_for_not_existing_file():
- def test_code_with_class():
- class A:
- pass
-- py.test.raises(TypeError, "py.code.Code(A)")
-+ with py.test.raises(TypeError):
-+ py.code.Code(A)
-
- if True:
- def x():
-diff --git a/testing/code/test_excinfo.py b/testing/code/test_excinfo.py
-index c148ab8c..05ec3d9c 100644
---- a/testing/code/test_excinfo.py
-+++ b/testing/code/test_excinfo.py
-@@ -145,7 +145,8 @@ def test_traceback_cut(self):
-
- def test_traceback_cut_excludepath(self, testdir):
- p = testdir.makepyfile("def f(): raise ValueError")
-- excinfo = py.test.raises(ValueError, "p.pyimport().f()")
-+ with py.test.raises(ValueError) as excinfo:
-+ p.pyimport().f()
- basedir = py.path.local(py.test.__file__).dirpath()
- newtraceback = excinfo.traceback.cut(excludepath=basedir)
- for x in newtraceback:
-@@ -273,8 +274,8 @@ def test_tbentry_reinterpret():
- def test_excinfo_exconly():
- excinfo = py.test.raises(ValueError, h)
- assert excinfo.exconly().startswith('ValueError')
-- excinfo = py.test.raises(ValueError,
-- "raise ValueError('hello\\nworld')")
-+ with py.test.raises(ValueError) as excinfo:
-+ raise ValueError('hello\\nworld')
- msg = excinfo.exconly(tryshort=True)
- assert msg.startswith('ValueError')
- assert msg.endswith("world")
-@@ -350,10 +351,11 @@ def test_codepath_Queue_example():
-
-
- class TestFormattedExcinfo:
-- def pytest_funcarg__importasmod(self, request):
-+ @pytest.fixture
-+ def importasmod(self, request):
- def importasmod(source):
- source = py.code.Source(source)
-- tmpdir = request.getfuncargvalue("tmpdir")
-+ tmpdir = request.getfixturevalue("tmpdir")
- modpath = tmpdir.join("mod.py")
- tmpdir.ensure("__init__.py")
- modpath.write(source)
-diff --git a/testing/code/test_source.py b/testing/code/test_source.py
-index 3492761a..676dcb0a 100644
---- a/testing/code/test_source.py
-+++ b/testing/code/test_source.py
-@@ -272,7 +272,8 @@ def test_compile_and_getsource(self):
- co = self.source.compile()
- py.builtin.exec_(co, globals())
- f(7)
-- excinfo = py.test.raises(AssertionError, "f(6)")
-+ with py.test.raises(AssertionError) as excinfo:
-+ f(6)
- frame = excinfo.traceback[-1].frame
- stmt = frame.code.fullsource.getstatement(frame.lineno)
- #print "block", str(block)
-@@ -326,14 +327,13 @@ def __init__(self, *args):
-
- def test_getline_finally():
- def c(): pass
-- excinfo = py.test.raises(TypeError, """
-- teardown = None
-- try:
-- c(1)
-- finally:
-- if teardown:
-- teardown()
-- """)
-+ with py.test.raises(TypeError) as excinfo:
-+ teardown = None
-+ try:
-+ c(1)
-+ finally:
-+ if teardown:
-+ teardown()
- source = excinfo.traceback[-1].statement
- assert str(source).strip() == 'c(1)'
-
-diff --git a/testing/io_/test_capture.py b/testing/io_/test_capture.py
-index b5fedd0a..652c8b7f 100644
---- a/testing/io_/test_capture.py
-+++ b/testing/io_/test_capture.py
-@@ -1,6 +1,7 @@
- from __future__ import with_statement
-
- import os, sys
-+import pytest
- import py
-
- needsdup = py.test.mark.skipif("not hasattr(os, 'dup')")
-@@ -45,7 +46,8 @@ def test_unicode_and_str_mixture(self):
- f = py.io.TextIO()
- if sys.version_info >= (3,0):
- f.write("\u00f6")
-- py.test.raises(TypeError, "f.write(bytes('hello', 'UTF-8'))")
-+ with py.test.raises(TypeError):
-+ f.write(bytes('hello', 'UTF-8'))
- else:
- f.write(unicode("\u00f6", 'UTF-8'))
- f.write("hello") # bytes
-@@ -56,7 +58,8 @@ def test_unicode_and_str_mixture(self):
- def test_bytes_io():
- f = py.io.BytesIO()
- f.write(tobytes("hello"))
-- py.test.raises(TypeError, "f.write(totext('hello'))")
-+ with py.test.raises(TypeError):
-+ f.write(totext('hello'))
- s = f.getvalue()
- assert s == tobytes("hello")
-
-@@ -70,8 +73,9 @@ def test_dontreadfrominput():
- py.test.raises(ValueError, f.fileno)
- f.close() # just for completeness
-
--def pytest_funcarg__tmpfile(request):
-- testdir = request.getfuncargvalue("testdir")
-+@pytest.fixture
-+def tmpfile(request):
-+ testdir = request.getfixturevalue("testdir")
- f = testdir.makepyfile("").open('wb+')
- request.addfinalizer(f.close)
- return f
-@@ -315,7 +319,8 @@ def test_stdin_nulled_by_default(self):
- print ("XXX which indicates an error in the underlying capturing")
- print ("XXX mechanisms")
- cap = self.getcapture()
-- py.test.raises(IOError, "sys.stdin.read()")
-+ with py.test.raises(IOError):
-+ sys.stdin.read()
- out, err = cap.reset()
-
- def test_suspend_resume(self):
-diff --git a/testing/io_/test_terminalwriter.py b/testing/io_/test_terminalwriter.py
-index 1eef7f7d..2953dfff 100644
---- a/testing/io_/test_terminalwriter.py
-+++ b/testing/io_/test_terminalwriter.py
-@@ -107,14 +107,11 @@ def test_unicode_on_file_with_ascii_encoding(tmpdir, monkeypatch, encoding):
-
- win32 = int(sys.platform == "win32")
- class TestTerminalWriter:
-- def pytest_generate_tests(self, metafunc):
-- if "tw" in metafunc.funcargnames:
-- metafunc.addcall(id="path", param="path")
-- metafunc.addcall(id="stringio", param="stringio")
-- metafunc.addcall(id="callable", param="callable")
-- def pytest_funcarg__tw(self, request):
-+
-+ @pytest.fixture(params=["path", "stringio", "callable"])
-+ def tw(self, request):
- if request.param == "path":
-- tmpdir = request.getfuncargvalue("tmpdir")
-+ tmpdir = request.getfixturevalue("tmpdir")
- p = tmpdir.join("tmpfile")
- f = codecs.open(str(p), 'w+', encoding='utf8')
- tw = py.io.TerminalWriter(f)
-@@ -182,8 +179,10 @@ def test_markup(self, tw):
- for color in ("red", "green"):
- text2 = tw.markup("hello", **{color: True, 'bold': bold})
- assert text2.find("hello") != -1
-- py.test.raises(ValueError, "tw.markup('x', wronkw=3)")
-- py.test.raises(ValueError, "tw.markup('x', wronkw=0)")
-+ with py.test.raises(ValueError):
-+ tw.markup('x', wronkw=3)
-+ with py.test.raises(ValueError):
-+ tw.markup('x', wronkw=0)
-
- def test_line_write_markup(self, tw):
- tw.hasmarkup = True
-diff --git a/testing/io_/test_terminalwriter_linewidth.py b/testing/io_/test_terminalwriter_linewidth.py
-index e6d84fbf..1fe2810e 100644
---- a/testing/io_/test_terminalwriter_linewidth.py
-+++ b/testing/io_/test_terminalwriter_linewidth.py
-@@ -1,6 +1,8 @@
- # coding: utf-8
- from __future__ import unicode_literals
-
-+import pytest
-+
- from py._io.terminalwriter import TerminalWriter
-
-
-@@ -31,6 +33,10 @@ def test_terminal_writer_line_width_update_with_wide_text():
- assert tw.width_of_current_line == 21 # 5*2 + 1 + 5*2
-
-
-+@pytest.mark.skipif(
-+ 'sys.version_info > (3,)',
-+ reason='Bytes are not accepted'
-+ ' https://github.com/pytest-dev/pytest/issues/4861')
- def test_terminal_writer_line_width_update_with_wide_bytes():
- tw = TerminalWriter()
- tw.write('乇乂ㄒ尺卂 ㄒ卄丨匚匚'.encode('utf-8'))
-diff --git a/testing/log/test_log.py b/testing/log/test_log.py
-index 5c706d9b..ebf12705 100644
---- a/testing/log/test_log.py
-+++ b/testing/log/test_log.py
-@@ -89,8 +89,10 @@ def test_simple_consumer_match_2(self):
-
- def test_no_auto_producer(self):
- p = py.log.Producer('x')
-- py.test.raises(AttributeError, "p._x")
-- py.test.raises(AttributeError, "p.x_y")
-+ with py.test.raises(AttributeError):
-+ p._x
-+ with py.test.raises(AttributeError):
-+ p.x_y
-
- def test_setconsumer_with_producer(self):
- l = []
-diff --git a/testing/path/common.py b/testing/path/common.py
-index d69a1c39..14558222 100644
---- a/testing/path/common.py
-+++ b/testing/path/common.py
-@@ -155,8 +155,8 @@ def test_listdir(self, path1):
- l = path1.listdir()
- assert path1.join('sampledir') in l
- assert path1.join('samplefile') in l
-- py.test.raises(py.error.ENOTDIR,
-- "path1.join('samplefile').listdir()")
-+ with py.test.raises(py.error.ENOTDIR):
-+ path1.join('samplefile').listdir()
-
- def test_listdir_fnmatchstring(self, path1):
- l = path1.listdir('s*dir')
-@@ -300,7 +300,8 @@ def test_mtime(self, path1):
- assert url.mtime() > 0
-
- def test_relto_wrong_type(self, path1):
-- py.test.raises(TypeError, "path1.relto(42)")
-+ with py.test.raises(TypeError):
-+ path1.relto(42)
-
- def test_load(self, path1):
- p = path1.join('samplepickle')
-diff --git a/testing/path/conftest.py b/testing/path/conftest.py
-index 84fb5c82..015bd039 100644
---- a/testing/path/conftest.py
-+++ b/testing/path/conftest.py
-@@ -1,20 +1,19 @@
- import py
- import sys
-+import pytest
- from py._path import svnwc as svncommon
-
- svnbin = py.path.local.sysfind('svn')
- repodump = py.path.local(__file__).dirpath('repotest.dump')
- from py.builtin import print_
-
--def pytest_funcarg__repowc1(request):
-+@pytest.fixture
-+def repowc1(request):
- if svnbin is None:
- py.test.skip("svn binary not found")
-
-- tmpdir = request.getfuncargvalue("tmpdir")
-- repo, repourl, wc = request.cached_setup(
-- setup=lambda: getrepowc(tmpdir, "path1repo", "path1wc"),
-- scope="module",
-- )
-+ tmpdir = request.getfixturevalue("tmpdir")
-+ repo, repourl, wc = getrepowc(tmpdir, "path1repo", "path1wc")
- for x in ('test_remove', 'test_move', 'test_status_deleted'):
- if request.function.__name__.startswith(x):
- #print >>sys.stderr, ("saving repo", repo, "for", request.function)
-@@ -22,8 +21,9 @@ def pytest_funcarg__repowc1(request):
- request.addfinalizer(lambda: restore_repowc(_savedrepowc))
- return repo, repourl, wc
-
--def pytest_funcarg__repowc2(request):
-- tmpdir = request.getfuncargvalue("tmpdir")
-+@pytest.fixture
-+def repowc2(request):
-+ tmpdir = request.getfixturevalue("tmpdir")
- name = request.function.__name__
- repo, url, wc = getrepowc(tmpdir, "%s-repo-2" % name, "%s-wc-2" % name)
- return repo, url, wc
-diff --git a/testing/path/test_cacheutil.py b/testing/path/test_cacheutil.py
-index c9fc0746..76023a04 100644
---- a/testing/path/test_cacheutil.py
-+++ b/testing/path/test_cacheutil.py
-@@ -12,12 +12,14 @@ def test_getorbuild(self):
- assert val == 42
-
- def test_cache_get_key_error(self):
-- pytest.raises(KeyError, "self.cache._getentry(-23)")
-+ with pytest.raises(KeyError):
-+ self.cache._getentry(-23)
-
- def test_delentry_non_raising(self):
- self.cache.getorbuild(100, lambda: 100)
- self.cache.delentry(100)
-- pytest.raises(KeyError, "self.cache._getentry(100)")
-+ with pytest.raises(KeyError):
-+ self.cache._getentry(100)
-
- def test_delentry_raising(self):
- self.cache.getorbuild(100, lambda: 100)
-diff --git a/testing/path/test_svnauth.py b/testing/path/test_svnauth.py
-index 654f0332..d24028dd 100644
---- a/testing/path/test_svnauth.py
-+++ b/testing/path/test_svnauth.py
-@@ -2,6 +2,7 @@
- from py.path import SvnAuth
- import time
- import sys
-+import pytest
-
- svnbin = py.path.local.sysfind('svn')
-
-@@ -261,7 +262,8 @@ def test_propget(self):
- u.propget('foo')
- assert '--username="foo" --password="bar"' in u.commands[0]
-
--def pytest_funcarg__setup(request):
-+@pytest.fixture
-+def setup(request):
- return Setup(request)
-
- class Setup:
-@@ -271,7 +273,7 @@ def __init__(self, request):
- if not request.config.option.runslowtests:
- py.test.skip('use --runslowtests to run these tests')
-
-- tmpdir = request.getfuncargvalue("tmpdir")
-+ tmpdir = request.getfixturevalue("tmpdir")
- repodir = tmpdir.join("repo")
- py.process.cmdexec('svnadmin create %s' % repodir)
- if sys.platform == 'win32':
-diff --git a/testing/path/test_svnurl.py b/testing/path/test_svnurl.py
-index 15fbea50..7cea4f2b 100644
---- a/testing/path/test_svnurl.py
-+++ b/testing/path/test_svnurl.py
-@@ -2,10 +2,12 @@
- from py._path.svnurl import InfoSvnCommand
- import datetime
- import time
-+import pytest
- from svntestbase import CommonSvnTests
-
--def pytest_funcarg__path1(request):
-- repo, repourl, wc = request.getfuncargvalue("repowc1")
-+@pytest.fixture
-+def path1(request):
-+ repo, repourl, wc = request.getfixturevalue("repowc1")
- return py.path.svnurl(repourl)
-
- class TestSvnURLCommandPath(CommonSvnTests):
-@@ -20,10 +22,12 @@ def test_visit_ignore(self, path1):
- super(TestSvnURLCommandPath, self).test_visit_ignore(path1)
-
- def test_svnurl_needs_arg(self, path1):
-- py.test.raises(TypeError, "py.path.svnurl()")
-+ with py.test.raises(TypeError):
-+ py.path.svnurl()
-
- def test_svnurl_does_not_accept_None_either(self, path1):
-- py.test.raises(Exception, "py.path.svnurl(None)")
-+ with py.test.raises(Exception):
-+ py.path.svnurl(None)
-
- def test_svnurl_characters_simple(self, path1):
- py.path.svnurl("svn+ssh://hello/world")
-@@ -32,7 +36,8 @@ def test_svnurl_characters_at_user(self, path1):
- py.path.svnurl("http://user@host.com/some/dir")
-
- def test_svnurl_characters_at_path(self, path1):
-- py.test.raises(ValueError, 'py.path.svnurl("http://host.com/foo@bar")')
-+ with py.test.raises(ValueError):
-+ py.path.svnurl("http://host.com/foo@bar")
-
- def test_svnurl_characters_colon_port(self, path1):
- py.path.svnurl("http://host.com:8080/some/dir")
-@@ -45,7 +50,8 @@ def test_svnurl_characters_colon_path(self, path1):
- # colons are allowed on win32, because they're part of the drive
- # part of an absolute path... however, they shouldn't be allowed in
- # other parts, I think
-- py.test.raises(ValueError, 'py.path.svnurl("http://host.com/foo:bar")')
-+ with py.test.raises(ValueError):
-+ py.path.svnurl("http://host.com/foo:bar")
-
- def test_export(self, path1, tmpdir):
- tmpdir = tmpdir.join("empty")
-@@ -92,4 +98,5 @@ def test_svn_1_3_b(self):
- assert info.kind == 'dir'
-
- def test_badchars():
-- py.test.raises(ValueError, "py.path.svnurl('http://host/tmp/@@@:')")
-+ with py.test.raises(ValueError):
-+ py.path.svnurl('http://host/tmp/@@@:')
-diff --git a/testing/path/test_svnwc.py b/testing/path/test_svnwc.py
-index c643d998..25a3650c 100644
---- a/testing/path/test_svnwc.py
-+++ b/testing/path/test_svnwc.py
-@@ -30,8 +30,9 @@ def test_make_repo(path1, tmpdir):
- rev = wc.commit()
- assert rev is None
-
--def pytest_funcarg__path1(request):
-- repo, repourl, wc = request.getfuncargvalue("repowc1")
-+@pytest.fixture
-+def path1(request):
-+ repo, repourl, wc = request.getfixturevalue("repowc1")
- return wc
-
- class TestWCSvnCommandPath(CommonSvnTests):
-@@ -346,7 +347,8 @@ def test_lock_unlock(self, path1):
- somefile = root.join('somefile')
- somefile.ensure(file=True)
- # not yet added to repo
-- py.test.raises(Exception, 'somefile.lock()')
-+ with py.test.raises(Exception):
-+ somefile.lock()
- somefile.write('foo')
- somefile.commit('test')
- assert somefile.check(versioned=True)
-@@ -357,13 +359,15 @@ def test_lock_unlock(self, path1):
- assert locked[0].basename == somefile.basename
- assert locked[0].dirpath().basename == somefile.dirpath().basename
- #assert somefile.locked()
-- py.test.raises(Exception, 'somefile.lock()')
-+ with py.test.raises(Exception):
-+ somefile.lock()
- finally:
- somefile.unlock()
- #assert not somefile.locked()
- locked = root.status().locked
- assert locked == []
-- py.test.raises(Exception, 'somefile,unlock()')
-+ with py.test.raises(Exception):
-+ somefile,unlock()
- somefile.remove()
-
- def test_commit_nonrecursive(self, path1):
-@@ -481,7 +485,8 @@ def test_svn_1_3(self, path1):
-
-
- def test_characters_at():
-- py.test.raises(ValueError, "py.path.svnwc('/tmp/@@@:')")
-+ with py.test.raises(ValueError):
-+ py.path.svnwc('/tmp/@@@:')
-
- def test_characters_tilde():
- py.path.svnwc('/tmp/test~')
-diff --git a/testing/root/test_builtin.py b/testing/root/test_builtin.py
-index 287c60d5..b2881de4 100644
---- a/testing/root/test_builtin.py
-+++ b/testing/root/test_builtin.py
-@@ -56,7 +56,8 @@ def test_frozenset():
-
- def test_print_simple():
- from py.builtin import print_
-- py.test.raises(TypeError, "print_(hello=3)")
-+ with py.test.raises(TypeError):
-+ print_(hello=3)
- f = py.io.TextIO()
- print_("hello", "world", file=f)
- s = f.getvalue()
-@@ -133,7 +134,8 @@ def test_reraise():
- raise Exception()
- except Exception:
- cls, val, tb = sys.exc_info()
-- excinfo = py.test.raises(Exception, "_reraise(cls, val, tb)")
-+ with py.test.raises(Exception):
-+ _reraise(cls, val, tb)
-
- def test_exec():
- l = []
-diff --git a/testing/root/test_std.py b/testing/root/test_std.py
-index 143556a0..dca0c671 100644
---- a/testing/root/test_std.py
-+++ b/testing/root/test_std.py
-@@ -6,7 +6,8 @@ def test_os():
- assert py.std.os is os
-
- def test_import_error_converts_to_attributeerror():
-- py.test.raises(AttributeError, "py.std.xyzalskdj")
-+ with py.test.raises(AttributeError):
-+ py.std.xyzalskdj
-
- def test_std_gets_it():
- for x in py.std.sys.modules:
diff --git a/dev-python/py/files/py-1.9.0-cve-2020-29651.patch b/dev-python/py/files/py-1.9.0-cve-2020-29651.patch
deleted file mode 100644
index af89fb14808c..000000000000
--- a/dev-python/py/files/py-1.9.0-cve-2020-29651.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4a9017dc6199d2a564b6e4b0aa39d6d8870e4144 Mon Sep 17 00:00:00 2001
-From: Ran Benita <ran@unusedvar.com>
-Date: Fri, 4 Sep 2020 13:57:26 +0300
-Subject: [PATCH] svnwc: fix regular expression vulnerable to DoS in blame
- functionality
-
-The subpattern `\d+\s*\S+` is ambiguous which makes the pattern subject
-to catastrophic backtracing given a string like `"1" * 5000`.
-
-SVN blame output seems to always have at least one space between the
-revision number and the user name, so the ambiguity can be fixed by
-changing the `*` to `+`.
-
-Fixes #256.
----
- py/_path/svnwc.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/py/_path/svnwc.py b/py/_path/svnwc.py
-index 3138dd85..b5b9d8d5 100644
---- a/py/_path/svnwc.py
-+++ b/py/_path/svnwc.py
-@@ -396,7 +396,7 @@ def makecmdoptions(self):
- def __str__(self):
- return "<SvnAuth username=%s ...>" %(self.username,)
-
--rex_blame = re.compile(r'\s*(\d+)\s*(\S+) (.*)')
-+rex_blame = re.compile(r'\s*(\d+)\s+(\S+) (.*)')
-
- class SvnWCCommandPath(common.PathBase):
- """ path implementation offering access/modification to svn working copies.
diff --git a/dev-python/py/py-1.10.0.ebuild b/dev-python/py/py-1.10.0.ebuild
index fb13420cf8b1..3635064c547f 100644
--- a/dev-python/py/py-1.10.0.ebuild
+++ b/dev-python/py/py-1.10.0.ebuild
@@ -13,7 +13,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
# This package is unmaintained and keeps being broken periodically.
RESTRICT=test
diff --git a/dev-python/py/py-1.9.0-r2.ebuild b/dev-python/py/py-1.9.0-r2.ebuild
deleted file mode 100644
index 9d314467c500..000000000000
--- a/dev-python/py/py-1.9.0-r2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{7..9} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="library with cross-python path, ini-parsing, io, code, log facilities"
-HOMEPAGE="https://pylib.readthedocs.io/en/latest/ https://pypi.org/project/py/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-# This package is unmaintained and keeps being broken periodically.
-RESTRICT=test
-
-BDEPEND="
- dev-python/setuptools_scm[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.5.2-skip-apiwarn-pytest31.patch
- "${FILESDIR}"/${PN}-1.8.0-pytest-4.patch
- # https://bugs.gentoo.org/759547
- "${FILESDIR}"/${P}-cve-2020-29651.patch
-)
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-src_prepare() {
- # broken on py3.8, don't seem important
- sed -i -e 's:test_syntaxerror_rerepresentation:_&:' \
- -e 's:test_comments:_&:' \
- testing/code/test_source.py || die
- # broken on py3.9, this package is just dead
- sed -i -e 's:test_getfslineno:_&:' \
- testing/code/test_source.py || die
-
- distutils-r1_src_prepare
-
- # broken, and relying on exact assertion strings
- rm testing/code/test_assertion.py || die
-}