public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2015-11-20 11:29 Justin Lecher
  0 siblings, 0 replies; 16+ messages in thread
From: Justin Lecher @ 2015-11-20 11:29 UTC (permalink / raw
  To: gentoo-commits

commit:     a4b6f280123ceb0df064e80c7b007f65bfae1b52
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 20 11:21:34 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Fri Nov 20 11:29:21 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a4b6f280

dev-python/pytest: Version Bump

Fixes test problems with pypy3

Gentoo-Bug: https://bugs.gentoo.org/show_bug.cgi?id=564764

Package-Manager: portage-2.2.25
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 dev-python/pytest/Manifest                         |  1 +
 .../files/pytest-2.8.3-skip-test-on-pypy.patch     | 96 ++++++++++++++++++++++
 dev-python/pytest/pytest-2.8.2.ebuild              |  2 +
 .../{pytest-2.8.2.ebuild => pytest-2.8.3.ebuild}   |  7 +-
 4 files changed, 105 insertions(+), 1 deletion(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 761f698..88e523a 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -3,3 +3,4 @@ DIST pytest-2.7.3.tar.gz 548235 SHA256 d5a9c3db3515ab95902ba08c09d1e941a21a440dc
 DIST pytest-2.8.0.zip 8189680 SHA256 29ed6fdb7b287f5353620494e950aba652c593c40556aece95a4d23d403ae2cb SHA512 98f7131c3396848ef7dbcf67e21e0329f8a3b771b3f8b832c1894758b34a2f852209f809001da856cfe8ea3773b257405ae2d5f8a04152242b8692e1511289ed WHIRLPOOL 3fd7f6ec73f11f29fd9b67bbb0c28dd73605604053160111212bd43d2c85c0b6cec5a25a979fecabb83a097c5621d5460747df5cb08796866349b7ba71b12005
 DIST pytest-2.8.1.tar.gz 580991 SHA256 2b58662d356ee953bc40f7a73857d05f0bd07f0a8507c929de3006dd6b14c918 SHA512 b73237810b69ecd504c2bdeeee51af62d7ed23091b7bcc74cd1fcc8683dc582cadfd68b9eaed3259165bac6ddca5fb960b8dc295e82cfb9120f4b732d07843fe WHIRLPOOL 16b27620bd0edde16d28dc247352c0a1b6042ac79bcb7a76b67fc4917ef6a42462767343a5e86acfe6880ba0372a124fb11491e670abde6ffdb48e03963243db
 DIST pytest-2.8.2.tar.gz 563955 SHA256 da2fc57320dd11f621d166634c52b989aa2291af1296c32a27a11777aa4128b9 SHA512 0df6e0421d1575e1efc0bb0550c5993f802777cb616ab1514bf12ed11eb5ec35a142dd837ff65659989268c36e441e18108369991cd3d458d357aac6ba433991 WHIRLPOOL ea917f4aaec444d6edc830b4ec66f7adb305031f11328e47d12a609ec92368a5c56e9cf8e24bd1a9a4a6a0746b43133f0d9821cf27d74c15ed2a83a705ee6030
+DIST pytest-2.8.3.tar.gz 880441 SHA256 37d950e93c1fd7e04d816a3ca4a5226ea2531c6d531c8284ad9b88848417e720 SHA512 04dd9041729d83b98a15cef22aac65dfb95cd3bf6b71a580ff91e8738f9a1ad5ee46fae45c950342e4a0162e38c875299a46fc69ec74702f36a1e36ef76dc0d6 WHIRLPOOL 78149cdcc25dc478ae004b0a54b333edcad0268ce5e66efe9878b0bcaff0e33d227513f84040f3aa53967afa5ffc51ecef0e6003814c09925fdf9e6a4921d88a

diff --git a/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch
new file mode 100644
index 0000000..81a7573
--- /dev/null
+++ b/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch
@@ -0,0 +1,96 @@
+ testing/acceptance_test.py | 2 ++
+ testing/python/collect.py  | 1 +
+ testing/python/fixture.py  | 1 +
+ testing/python/metafunc.py | 1 +
+ testing/test_capture.py    | 3 ++-
+ testing/test_collection.py | 1 +
+ testing/test_junitxml.py   | 1 +
+ 7 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
+index b9a3fa3..9db5017 100644
+--- a/testing/acceptance_test.py
++++ b/testing/acceptance_test.py
+@@ -209,6 +209,8 @@ class TestGeneralUsage:
+         result = testdir.runpython(p)
+         assert not result.ret
+ 
++    # https://github.com/pytest-dev/pytest/issues/1162
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue109_sibling_conftests_not_loaded(self, testdir):
+         sub1 = testdir.tmpdir.mkdir("sub1")
+         sub2 = testdir.tmpdir.mkdir("sub2")
+diff --git a/testing/python/collect.py b/testing/python/collect.py
+index 636f959..da9a291 100644
+--- a/testing/python/collect.py
++++ b/testing/python/collect.py
+@@ -659,6 +659,7 @@ class TestConftestCustomization:
+         l = modcol.collect()
+         assert '_hello' not in l
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_only_available_in_subdir(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/python/fixture.py b/testing/python/fixture.py
+index 2031764..f52cf85 100644
+--- a/testing/python/fixture.py
++++ b/testing/python/fixture.py
+@@ -83,6 +83,7 @@ class TestFillFixtures:
+             "*1 passed*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
+index 111ca61..bc489fa 100644
+--- a/testing/python/metafunc.py
++++ b/testing/python/metafunc.py
+@@ -835,6 +835,7 @@ class TestMetafuncFunctional:
+         reprec = testdir.runpytest()
+         reprec.assert_outcomes(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_generate_tests_only_done_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_capture.py b/testing/test_capture.py
+index 5393335..d7448e1 100644
+--- a/testing/test_capture.py
++++ b/testing/test_capture.py
+@@ -478,7 +478,8 @@ class TestCaptureFixture:
+         result = testdir.runpytest_subprocess(p)
+         assert 'closed' not in result.stderr.str()
+ 
+-
++# https://github.com/pytest-dev/pytest/issues/1162
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_failure_does_not_kill_capturing(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub1.join("conftest.py").write(py.code.Source("""
+diff --git a/testing/test_collection.py b/testing/test_collection.py
+index 749c5b7..65370a6 100644
+--- a/testing/test_collection.py
++++ b/testing/test_collection.py
+@@ -287,6 +287,7 @@ class TestCustomConftests:
+             "*test_x*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_pytest_collect_file_from_sister_dir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
+index b25b6c7..3afd6f2 100644
+--- a/testing/test_junitxml.py
++++ b/testing/test_junitxml.py
+@@ -120,6 +120,7 @@ class TestPython:
+             classname="test_classname_instance.TestClass",
+             name="test_method")
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_classname_nested_dir(self, testdir):
+         p = testdir.tmpdir.ensure("sub", "test_hello.py")
+         p.write("def test_func(): 0/0")

diff --git a/dev-python/pytest/pytest-2.8.2.ebuild b/dev-python/pytest/pytest-2.8.2.ebuild
index b821c7a..7888429 100644
--- a/dev-python/pytest/pytest-2.8.2.ebuild
+++ b/dev-python/pytest/pytest-2.8.2.ebuild
@@ -36,6 +36,8 @@ DEPEND="${RDEPEND}
 		dev-python/regendoc[${PYTHON_USEDEP}]
 	)"
 
+PATCHES=( "${FILESDIR}"/${PN}-2.8.3-skip-test-on-pypy.patch )
+
 python_prepare_all() {
 	chmod o-w *egg*/* || die
 	# Disable versioning of py.test script to avoid collision with

diff --git a/dev-python/pytest/pytest-2.8.2.ebuild b/dev-python/pytest/pytest-2.8.3.ebuild
similarity index 86%
copy from dev-python/pytest/pytest-2.8.2.ebuild
copy to dev-python/pytest/pytest-2.8.3.ebuild
index b821c7a..2237c97 100644
--- a/dev-python/pytest/pytest-2.8.2.ebuild
+++ b/dev-python/pytest/pytest-2.8.3.ebuild
@@ -14,7 +14,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 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
 IUSE="doc test"
 
 # When bumping, please check setup.py for the proper py version
@@ -36,6 +36,8 @@ DEPEND="${RDEPEND}
 		dev-python/regendoc[${PYTHON_USEDEP}]
 	)"
 
+PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
+
 python_prepare_all() {
 	chmod o-w *egg*/* || die
 	# Disable versioning of py.test script to avoid collision with
@@ -52,6 +54,9 @@ python_prepare_all() {
 		-e 's:test_logging_initialized_in_test:_&:g' \
 		-i testing/test_capture.py || die
 
+	find \( -name __pycache__ -o -name "*.pyc" -o -name "*.pyo" \) \
+		-exec rm -rvf '{}' + || die
+
 	distutils-r1_python_prepare_all
 }
 


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2015-12-13 14:05 Justin Lecher
  0 siblings, 0 replies; 16+ messages in thread
From: Justin Lecher @ 2015-12-13 14:05 UTC (permalink / raw
  To: gentoo-commits

commit:     f7c066df223925257890f297bed04abdfb510b4c
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 13 14:04:39 2015 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Sun Dec 13 14:05:28 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f7c066df

dev-python/pytest: Version Bump

Package-Manager: portage-2.2.26
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 dev-python/pytest/Manifest                         |   1 +
 .../files/pytest-2.8.5-skip-test-on-pypy.patch     | 602 +++++++++++++++++++++
 dev-python/pytest/pytest-2.8.5.ebuild              |  82 +++
 3 files changed, 685 insertions(+)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 63619ee..3ef5574 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -2,3 +2,4 @@ DIST pytest-2.7.2.tar.gz 532836 SHA256 b30457f735420d0000d10a44bbd478cf03f8bf20e
 DIST pytest-2.8.2.tar.gz 563955 SHA256 da2fc57320dd11f621d166634c52b989aa2291af1296c32a27a11777aa4128b9 SHA512 0df6e0421d1575e1efc0bb0550c5993f802777cb616ab1514bf12ed11eb5ec35a142dd837ff65659989268c36e441e18108369991cd3d458d357aac6ba433991 WHIRLPOOL ea917f4aaec444d6edc830b4ec66f7adb305031f11328e47d12a609ec92368a5c56e9cf8e24bd1a9a4a6a0746b43133f0d9821cf27d74c15ed2a83a705ee6030
 DIST pytest-2.8.3.tar.gz 880441 SHA256 37d950e93c1fd7e04d816a3ca4a5226ea2531c6d531c8284ad9b88848417e720 SHA512 04dd9041729d83b98a15cef22aac65dfb95cd3bf6b71a580ff91e8738f9a1ad5ee46fae45c950342e4a0162e38c875299a46fc69ec74702f36a1e36ef76dc0d6 WHIRLPOOL 78149cdcc25dc478ae004b0a54b333edcad0268ce5e66efe9878b0bcaff0e33d227513f84040f3aa53967afa5ffc51ecef0e6003814c09925fdf9e6a4921d88a
 DIST pytest-2.8.4.tar.gz 568888 SHA256 ca8afa5e216acfba6df7f26f2ef8a45baedf6a952e6b2f033ab55ec7e0a679eb SHA512 42e2949b66184cf2cecb7c803871639c1a3c887a48fc43580fe87f432507b9457c3a7c0b3bb620060e3eeb2db2178dfc35aba19022812497a917fdfa2ce5fd45 WHIRLPOOL 7ee539c61216463ccdaf5e09581cc1de82ffc6f6fb99dba04fa7d4eefb628c457c828ce9f8307477b5f95b997a4fd917f4818262ef4e1867cf0c10f9d2467bc2
+DIST pytest-2.8.5.zip 664063 SHA256 44bb32fb3925b5a284ceee1af55e0a63d25436ec415232089403eed3a347667e SHA512 6489225732aa3b2130d5e533f9e013fc7cfeb820d43c341e0adefa2b397713366787d68461805b368a7c04dfeb421b5195ff96a44a9d10377b1da8b9760bdc8f WHIRLPOOL cd264e72db332163570641d7b7c5def59d0f3357697168a3418c50f0eb5461d5abdb17a7164bcd35c285a1221e4f51619029253c4eea18b327c45d2213ebcaad

diff --git a/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch
new file mode 100644
index 0000000..ecf7935
--- /dev/null
+++ b/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch
@@ -0,0 +1,602 @@
+ testing/acceptance_test.py    |  5 +++++
+ testing/python/collect.py     |  3 +++
+ testing/python/fixture.py     | 14 ++++++++++++++
+ testing/python/integration.py |  1 +
+ testing/python/metafunc.py    |  3 +++
+ testing/test_assertion.py     |  5 +++++
+ testing/test_assertrewrite.py |  3 +++
+ testing/test_capture.py       |  6 ++++++
+ testing/test_collection.py    |  1 +
+ testing/test_config.py        |  3 +++
+ testing/test_conftest.py      |  3 +++
+ testing/test_doctest.py       |  7 ++++++-
+ testing/test_helpconfig.py    |  1 +
+ testing/test_junitxml.py      |  1 +
+ testing/test_mark.py          |  1 +
+ testing/test_monkeypatch.py   |  1 +
+ testing/test_skipping.py      |  3 +++
+ testing/test_terminal.py      |  2 ++
+ testing/test_unittest.py      |  3 +++
+ 19 files changed, 65 insertions(+), 1 deletion(-)
+
+diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
+index c9e8fbf..0815a01 100644
+--- a/testing/acceptance_test.py
++++ b/testing/acceptance_test.py
+@@ -127,6 +127,7 @@ class TestGeneralUsage:
+             "*ERROR: not found:*%s" %(p2.basename,)
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue486_better_reporting_on_conftest_load_failure(self, testdir):
+         testdir.makepyfile("")
+         testdir.makeconftest("import qwerty")
+@@ -209,6 +210,8 @@ class TestGeneralUsage:
+         result = testdir.runpython(p)
+         assert not result.ret
+ 
++    # https://github.com/pytest-dev/pytest/issues/1162
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue109_sibling_conftests_not_loaded(self, testdir):
+         sub1 = testdir.tmpdir.mkdir("sub1")
+         sub2 = testdir.tmpdir.mkdir("sub2")
+@@ -350,6 +353,7 @@ class TestGeneralUsage:
+         res = testdir.runpytest(p.basename)
+         assert res.ret == 0
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_unknown_option(self, testdir):
+         result = testdir.runpytest("--qwlkej")
+         result.stderr.fnmatch_lines("""
+@@ -657,6 +661,7 @@ class TestDurations:
+         ])
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestDurationWithFixture:
+     source = """
+         import time
+diff --git a/testing/python/collect.py b/testing/python/collect.py
+index df4ecc2..9458971 100644
+--- a/testing/python/collect.py
++++ b/testing/python/collect.py
+@@ -27,6 +27,7 @@ class TestModule:
+             "*HINT*",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_import_prepend_append(self, testdir, monkeypatch):
+         syspath = list(sys.path)
+         monkeypatch.setattr(sys, "path", syspath)
+@@ -57,6 +58,7 @@ class TestModule:
+         pytest.raises(ImportError, lambda: modcol.obj)
+ 
+ class TestClass:
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_class_with_init_warning(self, testdir):
+         testdir.makepyfile("""
+             class TestClass1:
+@@ -659,6 +661,7 @@ class TestConftestCustomization:
+         l = modcol.collect()
+         assert '_hello' not in l
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_only_available_in_subdir(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/python/fixture.py b/testing/python/fixture.py
+index 9f14a23..6d09271 100644
+--- a/testing/python/fixture.py
++++ b/testing/python/fixture.py
+@@ -83,6 +83,7 @@ class TestFillFixtures:
+             "*1 passed*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+@@ -606,6 +607,7 @@ class TestRequestBasic:
+         reprec = testdir.inline_run("-v")
+         reprec.assertoutcome(passed=3)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_fixtures_sub_subdir_normalize_sep(self, testdir):
+         # this tests that normalization of nodeids takes place
+         b = testdir.mkdir("tests").mkdir("unit")
+@@ -953,6 +955,7 @@ class TestFixtureUsages:
+             "*2 passed*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_factory_uses_unknown_funcarg_as_dependency_error(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -1049,6 +1052,7 @@ class TestFixtureUsages:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=2)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_usefixtures_seen_in_showmarkers(self, testdir):
+         result = testdir.runpytest("--markers")
+         result.stdout.fnmatch_lines("""
+@@ -1157,6 +1161,7 @@ class TestFixtureManagerParseFactories:
+         reprec = testdir.inline_run("-s")
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parsefactories_relative_node_ids(self, testdir):
+         # example mostly taken from:
+         # https://mail.python.org/pipermail/pytest-dev/2014-September/002617.html
+@@ -1305,6 +1310,7 @@ class TestAutouseDiscovery:
+         reprec = testdir.inline_run("-s")
+         reprec.assertoutcome(failed=0, passed=0)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_autouse_in_conftests(self, testdir):
+         a = testdir.mkdir("a")
+         b = testdir.mkdir("a1")
+@@ -1890,6 +1896,7 @@ class TestFixtureMarker:
+         l = reprec.getcalls("pytest_runtest_call")[0].item.module.l
+         assert l == [1,1,2,2]
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_module_parametrized_ordering(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -1936,6 +1943,7 @@ class TestFixtureMarker:
+             test_mod1.py::test_func1[m2] PASSED
+         """)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_class_ordering(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -1984,6 +1992,7 @@ class TestFixtureMarker:
+             test_class_ordering.py::TestClass::test_3[2-b] PASSED
+         """)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_separated_order_higher_scope_first(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2028,6 +2037,7 @@ class TestFixtureMarker:
+         pprint.pprint(list(zip(l, expected)))
+         assert l == expected
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrized_fixture_teardown_order(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2065,6 +2075,7 @@ class TestFixtureMarker:
+         """)
+         assert "error" not in result.stdout.str()
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_fixture_finalizer(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -2385,6 +2396,7 @@ class TestErrors:
+             "*1 error*",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue498_fixture_finalizer_failing(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2431,6 +2443,7 @@ class TestErrors:
+             "*1 error*",
+         ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestShowFixtures:
+     def test_funcarg_compat(self, testdir):
+         config = testdir.parseconfigure("--funcargs")
+@@ -2561,6 +2574,7 @@ class TestShowFixtures:
+         """)
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestContextManagerFixtureFuncs:
+     def test_simple(self, testdir):
+         testdir.makepyfile("""
+diff --git a/testing/python/integration.py b/testing/python/integration.py
+index 33ea26d..fe43016 100644
+--- a/testing/python/integration.py
++++ b/testing/python/integration.py
+@@ -202,6 +202,7 @@ class TestMockDecoration:
+ 
+ 
+ class TestReRunTests:
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_rerun(self, testdir):
+         testdir.makeconftest("""
+             from _pytest.runner import runtestprotocol
+diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
+index 38629c7..8e74bce 100644
+--- a/testing/python/metafunc.py
++++ b/testing/python/metafunc.py
+@@ -475,6 +475,7 @@ class TestMetafunc:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=2)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_class_scenarios(self, testdir):
+         testdir.makepyfile("""
+         # same as doc/en/example/parametrize scenario example
+@@ -766,6 +767,7 @@ class TestMetafuncFunctional:
+             "*test_function*advanced*FAILED",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_without_ids(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -835,6 +837,7 @@ class TestMetafuncFunctional:
+         reprec = testdir.runpytest()
+         reprec.assert_outcomes(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_generate_tests_only_done_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_assertion.py b/testing/test_assertion.py
+index 96da579..c1f270c 100644
+--- a/testing/test_assertion.py
++++ b/testing/test_assertion.py
+@@ -120,6 +120,7 @@ class TestAssert_reprcompare:
+             """)
+         ]
+     )
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_iterable_full_diff(self, left, right, expected):
+         """Test the full diff assertion failure explanation.
+ 
+@@ -348,6 +349,7 @@ class TestFormatExplanation:
+         assert util.format_explanation(expl) == res
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_python25_compile_issue257(testdir):
+     testdir.makepyfile("""
+         def test_rewritten():
+@@ -559,6 +561,7 @@ def test_warn_missing(testdir):
+         "*WARNING*assert statements are not executed*",
+     ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_recursion_source_decode(testdir):
+     testdir.makepyfile("""
+         def test_something():
+@@ -573,6 +576,7 @@ def test_recursion_source_decode(testdir):
+         <Module*>
+     """)
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_AssertionError_message(testdir):
+     testdir.makepyfile("""
+         def test_hello():
+@@ -587,6 +591,7 @@ def test_AssertionError_message(testdir):
+     """)
+ 
+ @pytest.mark.skipif(PY3, reason='This bug does not exist on PY3')
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_set_with_unsortable_elements():
+     # issue #718
+     class UnsortableKey(object):
+diff --git a/testing/test_assertrewrite.py b/testing/test_assertrewrite.py
+index e690e34..56d17d5 100644
+--- a/testing/test_assertrewrite.py
++++ b/testing/test_assertrewrite.py
+@@ -307,6 +307,7 @@ class TestAssertionRewrite:
+             assert g(**{x : 2})
+         assert getmsg(f, ns) == """assert g(**{'a': 2})"""
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_attribute(self):
+         class X(object):
+             g = 3
+@@ -343,6 +344,7 @@ class TestAssertionRewrite:
+             assert b < c
+         getmsg(f, must_pass=True)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_len(self):
+         def f():
+             l = list(range(10))
+@@ -641,6 +643,7 @@ class TestAssertionRewriteHookDetails(object):
+ 
+         assert _read_pyc(source, str(pyc)) is None  # no error
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_reload_is_same(self, testdir):
+         # A file that will be picked up during collecting.
+         testdir.tmpdir.join("file.py").ensure()
+diff --git a/testing/test_capture.py b/testing/test_capture.py
+index 66dff1e..5c914ac 100644
+--- a/testing/test_capture.py
++++ b/testing/test_capture.py
+@@ -479,6 +479,8 @@ class TestCaptureFixture:
+         assert 'closed' not in result.stderr.str()
+ 
+ 
++# https://github.com/pytest-dev/pytest/issues/1162
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_failure_does_not_kill_capturing(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub1.join("conftest.py").write(py.code.Source("""
+@@ -518,6 +520,7 @@ def test_capture_conftest_runtest_setup(testdir):
+     assert 'hello19' not in result.stdout.str()
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_capture_badoutput_issue412(testdir):
+     testdir.makepyfile("""
+         import os
+@@ -897,6 +900,7 @@ class TestStdCaptureFD(TestStdCapture):
+     pytestmark = needsosdup
+     captureclass = staticmethod(StdCaptureFD)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_simple_only_fd(self, testdir):
+         testdir.makepyfile("""
+             import os
+@@ -981,6 +985,7 @@ def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
+     assert capfile2 == capfile
+ 
+ @needsosdup
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_close_and_capture_again(testdir):
+     testdir.makepyfile("""
+         import os
+@@ -1001,6 +1006,7 @@ def test_close_and_capture_again(testdir):
+ 
+ 
+ @pytest.mark.parametrize('method', ['SysCapture', 'FDCapture'])
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_capturing_and_logging_fundamentals(testdir, method):
+     if method == "StdCaptureFD" and not hasattr(os, 'dup'):
+         pytest.skip("need os.dup")
+diff --git a/testing/test_collection.py b/testing/test_collection.py
+index 4e4609e..eb731fb 100644
+--- a/testing/test_collection.py
++++ b/testing/test_collection.py
+@@ -287,6 +287,7 @@ class TestCustomConftests:
+             "*test_x*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_pytest_collect_file_from_sister_dir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_config.py b/testing/test_config.py
+index 2e53776..7729717 100644
+--- a/testing/test_config.py
++++ b/testing/test_config.py
+@@ -47,6 +47,7 @@ class TestParseIni:
+         ])
+ 
+     @pytest.mark.parametrize("name", "setup.cfg tox.ini pytest.ini".split())
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_ini_names(self, testdir, name):
+         testdir.tmpdir.join(name).write(py.std.textwrap.dedent("""
+             [pytest]
+@@ -55,6 +56,7 @@ class TestParseIni:
+         config = testdir.parseconfig()
+         assert config.getini("minversion") == "1.0"
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_toxini_before_lower_pytestini(self, testdir):
+         sub = testdir.tmpdir.mkdir("sub")
+         sub.join("tox.ini").write(py.std.textwrap.dedent("""
+@@ -418,6 +420,7 @@ class TestWarning:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_warn_on_test_item_from_request(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+diff --git a/testing/test_conftest.py b/testing/test_conftest.py
+index 2be942e..72308b7 100644
+--- a/testing/test_conftest.py
++++ b/testing/test_conftest.py
+@@ -204,6 +204,7 @@ def test_conftest_import_order(testdir, monkeypatch):
+     assert conftest._getconftestmodules(sub) == [ct1, ct2]
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_fixture_dependency(testdir, monkeypatch):
+     ct1 = testdir.makeconftest("")
+     ct1 = testdir.makepyfile("__init__.py")
+@@ -241,6 +242,7 @@ def test_fixture_dependency(testdir, monkeypatch):
+     result.stdout.fnmatch_lines(["*1 passed*"])
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_conftest_found_with_double_dash(testdir):
+     sub = testdir.mkdir("sub")
+     sub.join("conftest.py").write(py.std.textwrap.dedent("""
+@@ -259,6 +261,7 @@ def test_conftest_found_with_double_dash(testdir):
+     """)
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestConftestVisibility:
+     def _setup_tree(self, testdir):  # for issue616
+         # example mostly taken from:
+diff --git a/testing/test_doctest.py b/testing/test_doctest.py
+index 7fcdf22..fba5685 100644
+--- a/testing/test_doctest.py
++++ b/testing/test_doctest.py
+@@ -224,6 +224,7 @@ class TestDoctests:
+         reprec = testdir.inline_run(p, )
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_doctestmodule_with_fixtures(self, testdir):
+         p = testdir.makepyfile("""
+             '''
+@@ -235,6 +236,7 @@ class TestDoctests:
+         reprec = testdir.inline_run(p, "--doctest-modules")
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_doctestmodule_three_tests(self, testdir):
+         p = testdir.makepyfile("""
+             '''
+@@ -260,6 +262,7 @@ class TestDoctests:
+         reprec = testdir.inline_run(p, "--doctest-modules")
+         reprec.assertoutcome(passed=3)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_doctestmodule_two_tests_one_fail(self, testdir):
+         p = testdir.makepyfile("""
+             class MyClass:
+@@ -432,6 +435,7 @@ class TestDoctestSkips:
+ 
+         return makeit
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_one_skipped(self, testdir, makedoctest):
+         makedoctest("""
+             >>> 1 + 1  # doctest: +SKIP
+@@ -501,6 +505,7 @@ class TestDoctestAutoUseFixtures:
+ 
+     @pytest.mark.parametrize('scope', SCOPES)
+     @pytest.mark.parametrize('enable_doctest', [True, False])
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_fixture_scopes(self, testdir, scope, enable_doctest):
+         """Test that auto-use fixtures work properly with doctest modules.
+         See #1057 and #1100.
+@@ -579,4 +584,4 @@ class TestDoctestAutoUseFixtures:
+         """)
+         result = testdir.runpytest('--doctest-modules')
+         assert 'FAILURES' not in str(result.stdout.str())
+-        result.stdout.fnmatch_lines(['*=== 1 passed in *'])
+\ No newline at end of file
++        result.stdout.fnmatch_lines(['*=== 1 passed in *'])
+diff --git a/testing/test_helpconfig.py b/testing/test_helpconfig.py
+index 3f03c05..442b2ba 100644
+--- a/testing/test_helpconfig.py
++++ b/testing/test_helpconfig.py
+@@ -14,6 +14,7 @@ def test_version(testdir, pytestconfig):
+             "*at*",
+         ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_help(testdir):
+     result = testdir.runpytest("--help")
+     assert result.ret == 0
+diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
+index 7a03b5a..0650f77 100644
+--- a/testing/test_junitxml.py
++++ b/testing/test_junitxml.py
+@@ -174,6 +174,7 @@ class TestPython:
+             classname="test_classname_instance.TestClass",
+             name="test_method")
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_classname_nested_dir(self, testdir):
+         p = testdir.tmpdir.ensure("sub", "test_hello.py")
+         p.write("def test_func(): 0/0")
+diff --git a/testing/test_mark.py b/testing/test_mark.py
+index 5cb66e7..93d8c1b 100644
+--- a/testing/test_mark.py
++++ b/testing/test_mark.py
+@@ -133,6 +133,7 @@ def test_markers_option(testdir):
+         "*a1some*another marker",
+     ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_markers_option_with_plugin_in_current_dir(testdir):
+     testdir.makeconftest('pytest_plugins = "flip_flop"')
+     testdir.makepyfile(flip_flop="""\
+diff --git a/testing/test_monkeypatch.py b/testing/test_monkeypatch.py
+index e55aae3..14791d8 100644
+--- a/testing/test_monkeypatch.py
++++ b/testing/test_monkeypatch.py
+@@ -232,6 +232,7 @@ def test_chdir_double_undo(mp, tmpdir):
+     mp.undo()
+     assert os.getcwd() == tmpdir.strpath
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_issue185_time_breaks(testdir):
+     testdir.makepyfile("""
+         import time
+diff --git a/testing/test_skipping.py b/testing/test_skipping.py
+index 93adf6e..4740bf6 100644
+--- a/testing/test_skipping.py
++++ b/testing/test_skipping.py
+@@ -263,6 +263,7 @@ class TestXFail:
+         result = testdir.runpytest(p, "--runxfail")
+         result.stdout.fnmatch_lines("*1 pass*")
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_xfail_imperative_in_setup_function(self, testdir):
+         p = testdir.makepyfile("""
+             import pytest
+@@ -671,6 +672,7 @@ def test_xfail_test_setup_exception(testdir):
+     assert 'xfailed' in result.stdout.str()
+     assert 'xpassed' not in result.stdout.str()
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_imperativeskip_on_xfail_test(testdir):
+     testdir.makepyfile("""
+         import pytest
+@@ -694,6 +696,7 @@ def test_imperativeskip_on_xfail_test(testdir):
+         *2 skipped*
+     """)
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestBooleanCondition:
+     def test_skipif(self, testdir):
+         testdir.makepyfile("""
+diff --git a/testing/test_terminal.py b/testing/test_terminal.py
+index 2c7437c..6f2d6e4 100644
+--- a/testing/test_terminal.py
++++ b/testing/test_terminal.py
+@@ -264,6 +264,7 @@ class TestCollectonly:
+             "*   <Function 'test_method'*>",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_collectonly_error(self, testdir):
+         p = testdir.makepyfile("import Errlkjqweqwe")
+         result = testdir.runpytest("--collect-only", p)
+@@ -726,6 +727,7 @@ def test_tbstyle_native_setup_error(testdir):
+             '*File *test_tbstyle_native_setup_error.py", line *, in setup_error_fixture*'
+             ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_terminal_summary(testdir):
+     testdir.makeconftest("""
+         def pytest_terminal_summary(terminalreporter):
+diff --git a/testing/test_unittest.py b/testing/test_unittest.py
+index d7b862e..90e3e1f 100644
+--- a/testing/test_unittest.py
++++ b/testing/test_unittest.py
+@@ -14,6 +14,7 @@ def test_simple_unittest(testdir):
+     assert reprec.matchreport("testpassing").passed
+     assert reprec.matchreport("test_failing").failed
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_runTest_method(testdir):
+     testdir.makepyfile("""
+         import unittest
+@@ -705,6 +706,7 @@ def test_issue333_result_clearing(testdir):
+     reprec.assertoutcome(failed=1)
+ 
+ @pytest.mark.skipif("sys.version_info < (2,7)")
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_unittest_raise_skip_issue748(testdir):
+     testdir.makepyfile(test_foo="""
+         import unittest
+@@ -720,6 +722,7 @@ def test_unittest_raise_skip_issue748(testdir):
+     """)
+ 
+ @pytest.mark.skipif("sys.version_info < (2,7)")
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_unittest_skip_issue1169(testdir):
+     testdir.makepyfile(test_foo="""
+         import unittest

diff --git a/dev-python/pytest/pytest-2.8.5.ebuild b/dev-python/pytest/pytest-2.8.5.ebuild
new file mode 100644
index 0000000..f3d7777
--- /dev/null
+++ b/dev-python/pytest/pytest-2.8.5.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.4.29"
+RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
+
+# dev-python/pluggy
+# https://github.com/hpk42/pluggy
+# See https://github.com/pytest-dev/pytest/issues/944
+# for why not now
+
+#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
+DEPEND="${RDEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
+	doc? (
+		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/regendoc[${PYTHON_USEDEP}]
+	)"
+
+PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
+
+python_prepare_all() {
+	chmod o-w *egg*/* || die
+	# Disable versioning of py.test script to avoid collision with
+	# versioning performed by the eclass.
+	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
+	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+	# Prevent un-needed d'loading
+	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
+
+	# https://github.com/pytest-dev/pytest/issues/1162
+	# https://github.com/pytest-dev/pytest/issues/1163
+	sed \
+		-e 's:test_logging_initialized_in_test:_&:g' \
+		-i testing/test_capture.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	if use doc; then
+		mkdir doc/en/.build || die
+		emake -C doc/en html
+	fi
+}
+
+python_test() {
+	# test_nose.py not written to suit py3.2 in pypy3
+	if [[ "${EPYTHON}" == pypy3 ]]; then
+		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
+			--ignore=testing/BUILD_nose.py \
+			|| die "tests failed with ${EPYTHON}"
+	else
+		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
+			|| die "tests failed with ${EPYTHON}"
+	fi
+}
+
+python_install_all() {
+	use doc && HTML_DOCS=( doc/en/_build/html/. )
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2016-01-25 15:11 Justin Lecher
  0 siblings, 0 replies; 16+ messages in thread
From: Justin Lecher @ 2016-01-25 15:11 UTC (permalink / raw
  To: gentoo-commits

commit:     a18f99daa15a9eddb4ec38067a39117649cd8cb0
Author:     Justin Lecher <jlec <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 25 12:29:18 2016 +0000
Commit:     Justin Lecher <jlec <AT> gentoo <DOT> org>
CommitDate: Mon Jan 25 15:11:41 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a18f99da

dev-python/pytest: Version Bump

Package-Manager: portage-2.2.27
Signed-off-by: Justin Lecher <jlec <AT> gentoo.org>

 dev-python/pytest/Manifest                         |   1 +
 .../files/pytest-2.8.7-skip-test-on-pypy.patch     | 550 +++++++++++++++++++++
 dev-python/pytest/pytest-2.8.7.ebuild              |  76 +++
 3 files changed, 627 insertions(+)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 3ef5574..acd5abd 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -3,3 +3,4 @@ DIST pytest-2.8.2.tar.gz 563955 SHA256 da2fc57320dd11f621d166634c52b989aa2291af1
 DIST pytest-2.8.3.tar.gz 880441 SHA256 37d950e93c1fd7e04d816a3ca4a5226ea2531c6d531c8284ad9b88848417e720 SHA512 04dd9041729d83b98a15cef22aac65dfb95cd3bf6b71a580ff91e8738f9a1ad5ee46fae45c950342e4a0162e38c875299a46fc69ec74702f36a1e36ef76dc0d6 WHIRLPOOL 78149cdcc25dc478ae004b0a54b333edcad0268ce5e66efe9878b0bcaff0e33d227513f84040f3aa53967afa5ffc51ecef0e6003814c09925fdf9e6a4921d88a
 DIST pytest-2.8.4.tar.gz 568888 SHA256 ca8afa5e216acfba6df7f26f2ef8a45baedf6a952e6b2f033ab55ec7e0a679eb SHA512 42e2949b66184cf2cecb7c803871639c1a3c887a48fc43580fe87f432507b9457c3a7c0b3bb620060e3eeb2db2178dfc35aba19022812497a917fdfa2ce5fd45 WHIRLPOOL 7ee539c61216463ccdaf5e09581cc1de82ffc6f6fb99dba04fa7d4eefb628c457c828ce9f8307477b5f95b997a4fd917f4818262ef4e1867cf0c10f9d2467bc2
 DIST pytest-2.8.5.zip 664063 SHA256 44bb32fb3925b5a284ceee1af55e0a63d25436ec415232089403eed3a347667e SHA512 6489225732aa3b2130d5e533f9e013fc7cfeb820d43c341e0adefa2b397713366787d68461805b368a7c04dfeb421b5195ff96a44a9d10377b1da8b9760bdc8f WHIRLPOOL cd264e72db332163570641d7b7c5def59d0f3357697168a3418c50f0eb5461d5abdb17a7164bcd35c285a1221e4f51619029253c4eea18b327c45d2213ebcaad
+DIST pytest-2.8.7.tar.gz 564943 SHA256 fc4c86be54fce08e4b85b646a736efa18c6cde7599c1d2919f4f74629e018baf SHA512 c7f626ceb599811caeab4646389a2c489dd22d766c772d6ca686098cef9a11dca47ef41a4a4b811110f358bca1f1a678b549b2adfea48317ae70cf166289b371 WHIRLPOOL c3849f1a9f62c05c1ce20593f32ee513aee87853914be4099503cd47b068732df99605a0a4db9a3a7add4ef2a85f4d5376acf1a2e3f48f5d438433f200cb6196

diff --git a/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch
new file mode 100644
index 0000000..f82522f
--- /dev/null
+++ b/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch
@@ -0,0 +1,550 @@
+ testing/acceptance_test.py    |  5 +++++
+ testing/python/collect.py     |  3 +++
+ testing/python/fixture.py     | 14 ++++++++++++++
+ testing/python/integration.py |  1 +
+ testing/python/metafunc.py    |  3 +++
+ testing/test_assertion.py     |  5 +++++
+ testing/test_assertrewrite.py |  3 +++
+ testing/test_capture.py       |  6 ++++++
+ testing/test_collection.py    |  1 +
+ testing/test_config.py        |  3 +++
+ testing/test_conftest.py      |  3 +++
+ testing/test_helpconfig.py    |  1 +
+ testing/test_junitxml.py      |  1 +
+ testing/test_mark.py          |  1 +
+ testing/test_monkeypatch.py   |  1 +
+ testing/test_skipping.py      |  3 +++
+ testing/test_terminal.py      |  2 ++
+ testing/test_unittest.py      |  3 +++
+ 18 files changed, 59 insertions(+)
+
+diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
+index b9a3fa3..7875d94 100644
+--- a/testing/acceptance_test.py
++++ b/testing/acceptance_test.py
+@@ -127,6 +127,7 @@ class TestGeneralUsage:
+             "*ERROR: not found:*%s" %(p2.basename,)
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue486_better_reporting_on_conftest_load_failure(self, testdir):
+         testdir.makepyfile("")
+         testdir.makeconftest("import qwerty")
+@@ -209,6 +210,8 @@ class TestGeneralUsage:
+         result = testdir.runpython(p)
+         assert not result.ret
+ 
++    # https://github.com/pytest-dev/pytest/issues/1162
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue109_sibling_conftests_not_loaded(self, testdir):
+         sub1 = testdir.tmpdir.mkdir("sub1")
+         sub2 = testdir.tmpdir.mkdir("sub2")
+@@ -350,6 +353,7 @@ class TestGeneralUsage:
+         res = testdir.runpytest(p.basename)
+         assert res.ret == 0
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_unknown_option(self, testdir):
+         result = testdir.runpytest("--qwlkej")
+         result.stderr.fnmatch_lines("""
+@@ -657,6 +661,7 @@ class TestDurations:
+         ])
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestDurationWithFixture:
+     source = """
+         import time
+diff --git a/testing/python/collect.py b/testing/python/collect.py
+index bebc133..1cf0a80 100644
+--- a/testing/python/collect.py
++++ b/testing/python/collect.py
+@@ -27,6 +27,7 @@ class TestModule:
+             "*HINT*",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_import_prepend_append(self, testdir, monkeypatch):
+         syspath = list(sys.path)
+         monkeypatch.setattr(sys, "path", syspath)
+@@ -57,6 +58,7 @@ class TestModule:
+         pytest.raises(ImportError, lambda: modcol.obj)
+ 
+ class TestClass:
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_class_with_init_warning(self, testdir):
+         testdir.makepyfile("""
+             class TestClass1:
+@@ -659,6 +661,7 @@ class TestConftestCustomization:
+         l = modcol.collect()
+         assert '_hello' not in l
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_only_available_in_subdir(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/python/fixture.py b/testing/python/fixture.py
+index 2031764..22e620a 100644
+--- a/testing/python/fixture.py
++++ b/testing/python/fixture.py
+@@ -83,6 +83,7 @@ class TestFillFixtures:
+             "*1 passed*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+@@ -606,6 +607,7 @@ class TestRequestBasic:
+         reprec = testdir.inline_run("-v")
+         reprec.assertoutcome(passed=3)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_fixtures_sub_subdir_normalize_sep(self, testdir):
+         # this tests that normalization of nodeids takes place
+         b = testdir.mkdir("tests").mkdir("unit")
+@@ -953,6 +955,7 @@ class TestFixtureUsages:
+             "*2 passed*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_factory_uses_unknown_funcarg_as_dependency_error(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -1049,6 +1052,7 @@ class TestFixtureUsages:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=2)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_usefixtures_seen_in_showmarkers(self, testdir):
+         result = testdir.runpytest("--markers")
+         result.stdout.fnmatch_lines("""
+@@ -1157,6 +1161,7 @@ class TestFixtureManagerParseFactories:
+         reprec = testdir.inline_run("-s")
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parsefactories_relative_node_ids(self, testdir):
+         # example mostly taken from:
+         # https://mail.python.org/pipermail/pytest-dev/2014-September/002617.html
+@@ -1305,6 +1310,7 @@ class TestAutouseDiscovery:
+         reprec = testdir.inline_run("-s")
+         reprec.assertoutcome(failed=0, passed=0)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_autouse_in_conftests(self, testdir):
+         a = testdir.mkdir("a")
+         b = testdir.mkdir("a1")
+@@ -1890,6 +1896,7 @@ class TestFixtureMarker:
+         l = reprec.getcalls("pytest_runtest_call")[0].item.module.l
+         assert l == [1,1,2,2]
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_module_parametrized_ordering(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -1936,6 +1943,7 @@ class TestFixtureMarker:
+             test_mod1.py::test_func1[m2] PASSED
+         """)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_class_ordering(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -1984,6 +1992,7 @@ class TestFixtureMarker:
+             test_class_ordering.py::TestClass::test_3[2-b] PASSED
+         """)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_separated_order_higher_scope_first(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2028,6 +2037,7 @@ class TestFixtureMarker:
+         pprint.pprint(list(zip(l, expected)))
+         assert l == expected
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrized_fixture_teardown_order(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2065,6 +2075,7 @@ class TestFixtureMarker:
+         """)
+         assert "error" not in result.stdout.str()
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_fixture_finalizer(self, testdir):
+         testdir.makeconftest("""
+             import pytest
+@@ -2385,6 +2396,7 @@ class TestErrors:
+             "*1 error*",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_issue498_fixture_finalizer_failing(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -2431,6 +2443,7 @@ class TestErrors:
+             "*1 error*",
+         ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestShowFixtures:
+     def test_funcarg_compat(self, testdir):
+         config = testdir.parseconfigure("--funcargs")
+@@ -2561,6 +2574,7 @@ class TestShowFixtures:
+         """)
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestContextManagerFixtureFuncs:
+     def test_simple(self, testdir):
+         testdir.makepyfile("""
+diff --git a/testing/python/integration.py b/testing/python/integration.py
+index 0c436e3..1d0b4ee 100644
+--- a/testing/python/integration.py
++++ b/testing/python/integration.py
+@@ -202,6 +202,7 @@ class TestMockDecoration:
+ 
+ 
+ class TestReRunTests:
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_rerun(self, testdir):
+         testdir.makeconftest("""
+             from _pytest.runner import runtestprotocol
+diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
+index 111ca61..cd2e86d 100644
+--- a/testing/python/metafunc.py
++++ b/testing/python/metafunc.py
+@@ -475,6 +475,7 @@ class TestMetafunc:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=2)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_class_scenarios(self, testdir):
+         testdir.makepyfile("""
+         # same as doc/en/example/parametrize scenario example
+@@ -766,6 +767,7 @@ class TestMetafuncFunctional:
+             "*test_function*advanced*FAILED",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_parametrize_without_ids(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+@@ -835,6 +837,7 @@ class TestMetafuncFunctional:
+         reprec = testdir.runpytest()
+         reprec.assert_outcomes(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_generate_tests_only_done_in_subdir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_assertion.py b/testing/test_assertion.py
+index 914fedd..fb0d0e2 100644
+--- a/testing/test_assertion.py
++++ b/testing/test_assertion.py
+@@ -120,6 +120,7 @@ class TestAssert_reprcompare:
+             """)
+         ]
+     )
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_iterable_full_diff(self, left, right, expected):
+         """Test the full diff assertion failure explanation.
+ 
+@@ -348,6 +349,7 @@ class TestFormatExplanation:
+         assert util.format_explanation(expl) == res
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_python25_compile_issue257(testdir):
+     testdir.makepyfile("""
+         def test_rewritten():
+@@ -559,6 +561,7 @@ def test_warn_missing(testdir):
+         "*WARNING*assert statements are not executed*",
+     ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_recursion_source_decode(testdir):
+     testdir.makepyfile("""
+         def test_something():
+@@ -573,6 +576,7 @@ def test_recursion_source_decode(testdir):
+         <Module*>
+     """)
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_AssertionError_message(testdir):
+     testdir.makepyfile("""
+         def test_hello():
+@@ -587,6 +591,7 @@ def test_AssertionError_message(testdir):
+     """)
+ 
+ @pytest.mark.skipif(PY3, reason='This bug does not exist on PY3')
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_set_with_unsortable_elements():
+     # issue #718
+     class UnsortableKey(object):
+diff --git a/testing/test_assertrewrite.py b/testing/test_assertrewrite.py
+index 544250a..9dad082 100644
+--- a/testing/test_assertrewrite.py
++++ b/testing/test_assertrewrite.py
+@@ -307,6 +307,7 @@ class TestAssertionRewrite:
+             assert g(**{x : 2})
+         assert getmsg(f, ns) == """assert g(**{'a': 2})"""
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_attribute(self):
+         class X(object):
+             g = 3
+@@ -343,6 +344,7 @@ class TestAssertionRewrite:
+             assert b < c
+         getmsg(f, must_pass=True)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_len(self):
+         def f():
+             l = list(range(10))
+@@ -641,6 +643,7 @@ class TestAssertionRewriteHookDetails(object):
+ 
+         assert _read_pyc(source, str(pyc)) is None  # no error
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_reload_is_same(self, testdir):
+         # A file that will be picked up during collecting.
+         testdir.tmpdir.join("file.py").ensure()
+diff --git a/testing/test_capture.py b/testing/test_capture.py
+index 5393335..0d2c238 100644
+--- a/testing/test_capture.py
++++ b/testing/test_capture.py
+@@ -479,6 +479,8 @@ class TestCaptureFixture:
+         assert 'closed' not in result.stderr.str()
+ 
+ 
++# https://github.com/pytest-dev/pytest/issues/1162
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_setup_failure_does_not_kill_capturing(testdir):
+     sub1 = testdir.mkpydir("sub1")
+     sub1.join("conftest.py").write(py.code.Source("""
+@@ -518,6 +520,7 @@ def test_capture_conftest_runtest_setup(testdir):
+     assert 'hello19' not in result.stdout.str()
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_capture_badoutput_issue412(testdir):
+     testdir.makepyfile("""
+         import os
+@@ -897,6 +900,7 @@ class TestStdCaptureFD(TestStdCapture):
+     pytestmark = needsosdup
+     captureclass = staticmethod(StdCaptureFD)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_simple_only_fd(self, testdir):
+         testdir.makepyfile("""
+             import os
+@@ -981,6 +985,7 @@ def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
+     assert capfile2 == capfile
+ 
+ @needsosdup
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_close_and_capture_again(testdir):
+     testdir.makepyfile("""
+         import os
+@@ -1001,6 +1006,7 @@ def test_close_and_capture_again(testdir):
+ 
+ 
+ @pytest.mark.parametrize('method', ['SysCapture', 'FDCapture'])
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_capturing_and_logging_fundamentals(testdir, method):
+     if method == "StdCaptureFD" and not hasattr(os, 'dup'):
+         pytest.skip("need os.dup")
+diff --git a/testing/test_collection.py b/testing/test_collection.py
+index 749c5b7..65370a6 100644
+--- a/testing/test_collection.py
++++ b/testing/test_collection.py
+@@ -287,6 +287,7 @@ class TestCustomConftests:
+             "*test_x*"
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_pytest_collect_file_from_sister_dir(self, testdir):
+         sub1 = testdir.mkpydir("sub1")
+         sub2 = testdir.mkpydir("sub2")
+diff --git a/testing/test_config.py b/testing/test_config.py
+index d497200..2987072 100644
+--- a/testing/test_config.py
++++ b/testing/test_config.py
+@@ -47,6 +47,7 @@ class TestParseIni:
+         ])
+ 
+     @pytest.mark.parametrize("name", "setup.cfg tox.ini pytest.ini".split())
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_ini_names(self, testdir, name):
+         testdir.tmpdir.join(name).write(py.std.textwrap.dedent("""
+             [pytest]
+@@ -55,6 +56,7 @@ class TestParseIni:
+         config = testdir.parseconfig()
+         assert config.getini("minversion") == "1.0"
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_toxini_before_lower_pytestini(self, testdir):
+         sub = testdir.tmpdir.mkdir("sub")
+         sub.join("tox.ini").write(py.std.textwrap.dedent("""
+@@ -418,6 +420,7 @@ class TestWarning:
+         reprec = testdir.inline_run()
+         reprec.assertoutcome(passed=1)
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_warn_on_test_item_from_request(self, testdir):
+         testdir.makepyfile("""
+             import pytest
+diff --git a/testing/test_conftest.py b/testing/test_conftest.py
+index a0b77cf..3d07597 100644
+--- a/testing/test_conftest.py
++++ b/testing/test_conftest.py
+@@ -204,6 +204,7 @@ def test_conftest_import_order(testdir, monkeypatch):
+     assert conftest._getconftestmodules(sub) == [ct1, ct2]
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_fixture_dependency(testdir, monkeypatch):
+     ct1 = testdir.makeconftest("")
+     ct1 = testdir.makepyfile("__init__.py")
+@@ -241,6 +242,7 @@ def test_fixture_dependency(testdir, monkeypatch):
+     result.stdout.fnmatch_lines(["*1 passed*"])
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_conftest_found_with_double_dash(testdir):
+     sub = testdir.mkdir("sub")
+     sub.join("conftest.py").write(py.std.textwrap.dedent("""
+@@ -259,6 +261,7 @@ def test_conftest_found_with_double_dash(testdir):
+     """)
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestConftestVisibility:
+     def _setup_tree(self, testdir):  # for issue616
+         # example mostly taken from:
+diff --git a/testing/test_helpconfig.py b/testing/test_helpconfig.py
+index 9f8d87b..2ecd20d 100644
+--- a/testing/test_helpconfig.py
++++ b/testing/test_helpconfig.py
+@@ -14,6 +14,7 @@ def test_version(testdir, pytestconfig):
+             "*at*",
+         ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_help(testdir):
+     result = testdir.runpytest("--help")
+     assert result.ret == 0
+diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
+index e6db810..1180ea7 100644
+--- a/testing/test_junitxml.py
++++ b/testing/test_junitxml.py
+@@ -175,6 +175,7 @@ class TestPython:
+             classname="test_classname_instance.TestClass",
+             name="test_method")
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_classname_nested_dir(self, testdir):
+         p = testdir.tmpdir.ensure("sub", "test_hello.py")
+         p.write("def test_func(): 0/0")
+diff --git a/testing/test_mark.py b/testing/test_mark.py
+index 1aa3361..242a65d 100644
+--- a/testing/test_mark.py
++++ b/testing/test_mark.py
+@@ -133,6 +133,7 @@ def test_markers_option(testdir):
+         "*a1some*another marker",
+     ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_markers_option_with_plugin_in_current_dir(testdir):
+     testdir.makeconftest('pytest_plugins = "flip_flop"')
+     testdir.makepyfile(flip_flop="""\
+diff --git a/testing/test_monkeypatch.py b/testing/test_monkeypatch.py
+index 048c942..0c87b4e 100644
+--- a/testing/test_monkeypatch.py
++++ b/testing/test_monkeypatch.py
+@@ -256,6 +256,7 @@ def test_chdir_double_undo(mp, tmpdir):
+     assert os.getcwd() == tmpdir.strpath
+ 
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_issue185_time_breaks(testdir):
+     testdir.makepyfile("""
+         import time
+diff --git a/testing/test_skipping.py b/testing/test_skipping.py
+index 1048c94..ea5cf44 100644
+--- a/testing/test_skipping.py
++++ b/testing/test_skipping.py
+@@ -263,6 +263,7 @@ class TestXFail:
+         result = testdir.runpytest(p, "--runxfail")
+         result.stdout.fnmatch_lines("*1 pass*")
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_xfail_imperative_in_setup_function(self, testdir):
+         p = testdir.makepyfile("""
+             import pytest
+@@ -671,6 +672,7 @@ def test_xfail_test_setup_exception(testdir):
+     assert 'xfailed' in result.stdout.str()
+     assert 'xpassed' not in result.stdout.str()
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_imperativeskip_on_xfail_test(testdir):
+     testdir.makepyfile("""
+         import pytest
+@@ -694,6 +696,7 @@ def test_imperativeskip_on_xfail_test(testdir):
+         *2 skipped*
+     """)
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ class TestBooleanCondition:
+     def test_skipif(self, testdir):
+         testdir.makepyfile("""
+diff --git a/testing/test_terminal.py b/testing/test_terminal.py
+index 305d60a..d503be8 100644
+--- a/testing/test_terminal.py
++++ b/testing/test_terminal.py
+@@ -264,6 +264,7 @@ class TestCollectonly:
+             "*   <Function 'test_method'*>",
+         ])
+ 
++    @pytest.mark.skipif('"__pypy__" in sys.modules')
+     def test_collectonly_error(self, testdir):
+         p = testdir.makepyfile("import Errlkjqweqwe")
+         result = testdir.runpytest("--collect-only", p)
+@@ -726,6 +727,7 @@ def test_tbstyle_native_setup_error(testdir):
+             '*File *test_tbstyle_native_setup_error.py", line *, in setup_error_fixture*'
+             ])
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_terminal_summary(testdir):
+     testdir.makeconftest("""
+         def pytest_terminal_summary(terminalreporter):
+diff --git a/testing/test_unittest.py b/testing/test_unittest.py
+index 53dde6e..52eeae0 100644
+--- a/testing/test_unittest.py
++++ b/testing/test_unittest.py
+@@ -14,6 +14,7 @@ def test_simple_unittest(testdir):
+     assert reprec.matchreport("testpassing").passed
+     assert reprec.matchreport("test_failing").failed
+ 
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_runTest_method(testdir):
+     testdir.makepyfile("""
+         import unittest
+@@ -705,6 +706,7 @@ def test_issue333_result_clearing(testdir):
+     reprec.assertoutcome(failed=1)
+ 
+ @pytest.mark.skipif("sys.version_info < (2,7)")
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_unittest_raise_skip_issue748(testdir):
+     testdir.makepyfile(test_foo="""
+         import unittest
+@@ -720,6 +722,7 @@ def test_unittest_raise_skip_issue748(testdir):
+     """)
+ 
+ @pytest.mark.skipif("sys.version_info < (2,7)")
++@pytest.mark.skipif('"__pypy__" in sys.modules')
+ def test_unittest_skip_issue1169(testdir):
+     testdir.makepyfile(test_foo="""
+         import unittest

diff --git a/dev-python/pytest/pytest-2.8.7.ebuild b/dev-python/pytest/pytest-2.8.7.ebuild
new file mode 100644
index 0000000..a8487c5
--- /dev/null
+++ b/dev-python/pytest/pytest-2.8.7.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
+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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
+IUSE="doc test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.4.29"
+RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
+
+# dev-python/pluggy
+# https://github.com/hpk42/pluggy
+# See https://github.com/pytest-dev/pytest/issues/944
+# for why not now
+
+#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
+DEPEND="${RDEPEND}
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
+	doc? (
+		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
+		dev-python/pyyaml[${PYTHON_USEDEP}]
+		dev-python/regendoc[${PYTHON_USEDEP}]
+	)"
+
+PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
+
+python_prepare_all() {
+	chmod o-w *egg*/* || die
+	# Disable versioning of py.test script to avoid collision with
+	# versioning performed by the eclass.
+	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
+	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+	# Prevent un-needed d'loading
+	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+	if use doc; then
+		mkdir doc/en/.build || die
+		emake -C doc/en html
+	fi
+}
+
+python_test() {
+	# test_nose.py not written to suit py3.2 in pypy3
+	if [[ "${EPYTHON}" == pypy3 ]]; then
+		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
+			--ignore=testing/BUILD_nose.py \
+			|| die "tests failed with ${EPYTHON}"
+	else
+		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
+			|| die "tests failed with ${EPYTHON}"
+	fi
+}
+
+python_install_all() {
+	use doc && HTML_DOCS=( doc/en/_build/html/. )
+	distutils-r1_python_install_all
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2016-03-20 10:19 Dirkjan Ochtman
  0 siblings, 0 replies; 16+ messages in thread
From: Dirkjan Ochtman @ 2016-03-20 10:19 UTC (permalink / raw
  To: gentoo-commits

commit:     a849bc2da941212345b3e19ab645f70f26c21c3a
Author:     Dirkjan Ochtman <djc <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 20 10:16:39 2016 +0000
Commit:     Dirkjan Ochtman <djc <AT> gentoo <DOT> org>
CommitDate: Sun Mar 20 10:18:56 2016 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a849bc2d

dev-python/pytest: remove old versions

Package-Manager: portage-2.2.26

 dev-python/pytest/Manifest                         |   4 -
 .../files/pytest-2.8.5-skip-test-on-pypy.patch     | 602 ---------------------
 dev-python/pytest/pytest-2.7.2.ebuild              |  63 ---
 dev-python/pytest/pytest-2.8.3.ebuild              |  85 ---
 dev-python/pytest/pytest-2.8.4.ebuild              |  82 ---
 dev-python/pytest/pytest-2.8.5.ebuild              |  82 ---
 6 files changed, 918 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index acd5abd..f02adbe 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,6 +1,2 @@
-DIST pytest-2.7.2.tar.gz 532836 SHA256 b30457f735420d0000d10a44bbd478cf03f8bf20e25bd77248f9bab40f4fd6a4 SHA512 5474a4fe58437a4971fb21b1b37dad3c08e18e5d154931ff23e597f881100a3515bf0cf71d06b143465594ad2a91a96f84f4836d84c39691143c8d88ca7a4360 WHIRLPOOL 6ab7371f952109ac476774222883e1381fe5ee6a54d967f2d90765f6c59c90634a16c42e8e2e1661169db6a9cb1327242ff2281cf1caeabd86a4dacd24f4bb06
 DIST pytest-2.8.2.tar.gz 563955 SHA256 da2fc57320dd11f621d166634c52b989aa2291af1296c32a27a11777aa4128b9 SHA512 0df6e0421d1575e1efc0bb0550c5993f802777cb616ab1514bf12ed11eb5ec35a142dd837ff65659989268c36e441e18108369991cd3d458d357aac6ba433991 WHIRLPOOL ea917f4aaec444d6edc830b4ec66f7adb305031f11328e47d12a609ec92368a5c56e9cf8e24bd1a9a4a6a0746b43133f0d9821cf27d74c15ed2a83a705ee6030
-DIST pytest-2.8.3.tar.gz 880441 SHA256 37d950e93c1fd7e04d816a3ca4a5226ea2531c6d531c8284ad9b88848417e720 SHA512 04dd9041729d83b98a15cef22aac65dfb95cd3bf6b71a580ff91e8738f9a1ad5ee46fae45c950342e4a0162e38c875299a46fc69ec74702f36a1e36ef76dc0d6 WHIRLPOOL 78149cdcc25dc478ae004b0a54b333edcad0268ce5e66efe9878b0bcaff0e33d227513f84040f3aa53967afa5ffc51ecef0e6003814c09925fdf9e6a4921d88a
-DIST pytest-2.8.4.tar.gz 568888 SHA256 ca8afa5e216acfba6df7f26f2ef8a45baedf6a952e6b2f033ab55ec7e0a679eb SHA512 42e2949b66184cf2cecb7c803871639c1a3c887a48fc43580fe87f432507b9457c3a7c0b3bb620060e3eeb2db2178dfc35aba19022812497a917fdfa2ce5fd45 WHIRLPOOL 7ee539c61216463ccdaf5e09581cc1de82ffc6f6fb99dba04fa7d4eefb628c457c828ce9f8307477b5f95b997a4fd917f4818262ef4e1867cf0c10f9d2467bc2
-DIST pytest-2.8.5.zip 664063 SHA256 44bb32fb3925b5a284ceee1af55e0a63d25436ec415232089403eed3a347667e SHA512 6489225732aa3b2130d5e533f9e013fc7cfeb820d43c341e0adefa2b397713366787d68461805b368a7c04dfeb421b5195ff96a44a9d10377b1da8b9760bdc8f WHIRLPOOL cd264e72db332163570641d7b7c5def59d0f3357697168a3418c50f0eb5461d5abdb17a7164bcd35c285a1221e4f51619029253c4eea18b327c45d2213ebcaad
 DIST pytest-2.8.7.tar.gz 564943 SHA256 fc4c86be54fce08e4b85b646a736efa18c6cde7599c1d2919f4f74629e018baf SHA512 c7f626ceb599811caeab4646389a2c489dd22d766c772d6ca686098cef9a11dca47ef41a4a4b811110f358bca1f1a678b549b2adfea48317ae70cf166289b371 WHIRLPOOL c3849f1a9f62c05c1ce20593f32ee513aee87853914be4099503cd47b068732df99605a0a4db9a3a7add4ef2a85f4d5376acf1a2e3f48f5d438433f200cb6196

diff --git a/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch
deleted file mode 100644
index ecf7935..0000000
--- a/dev-python/pytest/files/pytest-2.8.5-skip-test-on-pypy.patch
+++ /dev/null
@@ -1,602 +0,0 @@
- testing/acceptance_test.py    |  5 +++++
- testing/python/collect.py     |  3 +++
- testing/python/fixture.py     | 14 ++++++++++++++
- testing/python/integration.py |  1 +
- testing/python/metafunc.py    |  3 +++
- testing/test_assertion.py     |  5 +++++
- testing/test_assertrewrite.py |  3 +++
- testing/test_capture.py       |  6 ++++++
- testing/test_collection.py    |  1 +
- testing/test_config.py        |  3 +++
- testing/test_conftest.py      |  3 +++
- testing/test_doctest.py       |  7 ++++++-
- testing/test_helpconfig.py    |  1 +
- testing/test_junitxml.py      |  1 +
- testing/test_mark.py          |  1 +
- testing/test_monkeypatch.py   |  1 +
- testing/test_skipping.py      |  3 +++
- testing/test_terminal.py      |  2 ++
- testing/test_unittest.py      |  3 +++
- 19 files changed, 65 insertions(+), 1 deletion(-)
-
-diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
-index c9e8fbf..0815a01 100644
---- a/testing/acceptance_test.py
-+++ b/testing/acceptance_test.py
-@@ -127,6 +127,7 @@ class TestGeneralUsage:
-             "*ERROR: not found:*%s" %(p2.basename,)
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue486_better_reporting_on_conftest_load_failure(self, testdir):
-         testdir.makepyfile("")
-         testdir.makeconftest("import qwerty")
-@@ -209,6 +210,8 @@ class TestGeneralUsage:
-         result = testdir.runpython(p)
-         assert not result.ret
- 
-+    # https://github.com/pytest-dev/pytest/issues/1162
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue109_sibling_conftests_not_loaded(self, testdir):
-         sub1 = testdir.tmpdir.mkdir("sub1")
-         sub2 = testdir.tmpdir.mkdir("sub2")
-@@ -350,6 +353,7 @@ class TestGeneralUsage:
-         res = testdir.runpytest(p.basename)
-         assert res.ret == 0
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_unknown_option(self, testdir):
-         result = testdir.runpytest("--qwlkej")
-         result.stderr.fnmatch_lines("""
-@@ -657,6 +661,7 @@ class TestDurations:
-         ])
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestDurationWithFixture:
-     source = """
-         import time
-diff --git a/testing/python/collect.py b/testing/python/collect.py
-index df4ecc2..9458971 100644
---- a/testing/python/collect.py
-+++ b/testing/python/collect.py
-@@ -27,6 +27,7 @@ class TestModule:
-             "*HINT*",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_import_prepend_append(self, testdir, monkeypatch):
-         syspath = list(sys.path)
-         monkeypatch.setattr(sys, "path", syspath)
-@@ -57,6 +58,7 @@ class TestModule:
-         pytest.raises(ImportError, lambda: modcol.obj)
- 
- class TestClass:
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_class_with_init_warning(self, testdir):
-         testdir.makepyfile("""
-             class TestClass1:
-@@ -659,6 +661,7 @@ class TestConftestCustomization:
-         l = modcol.collect()
-         assert '_hello' not in l
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_only_available_in_subdir(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/python/fixture.py b/testing/python/fixture.py
-index 9f14a23..6d09271 100644
---- a/testing/python/fixture.py
-+++ b/testing/python/fixture.py
-@@ -83,6 +83,7 @@ class TestFillFixtures:
-             "*1 passed*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-@@ -606,6 +607,7 @@ class TestRequestBasic:
-         reprec = testdir.inline_run("-v")
-         reprec.assertoutcome(passed=3)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_fixtures_sub_subdir_normalize_sep(self, testdir):
-         # this tests that normalization of nodeids takes place
-         b = testdir.mkdir("tests").mkdir("unit")
-@@ -953,6 +955,7 @@ class TestFixtureUsages:
-             "*2 passed*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_factory_uses_unknown_funcarg_as_dependency_error(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -1049,6 +1052,7 @@ class TestFixtureUsages:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=2)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_usefixtures_seen_in_showmarkers(self, testdir):
-         result = testdir.runpytest("--markers")
-         result.stdout.fnmatch_lines("""
-@@ -1157,6 +1161,7 @@ class TestFixtureManagerParseFactories:
-         reprec = testdir.inline_run("-s")
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parsefactories_relative_node_ids(self, testdir):
-         # example mostly taken from:
-         # https://mail.python.org/pipermail/pytest-dev/2014-September/002617.html
-@@ -1305,6 +1310,7 @@ class TestAutouseDiscovery:
-         reprec = testdir.inline_run("-s")
-         reprec.assertoutcome(failed=0, passed=0)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_autouse_in_conftests(self, testdir):
-         a = testdir.mkdir("a")
-         b = testdir.mkdir("a1")
-@@ -1890,6 +1896,7 @@ class TestFixtureMarker:
-         l = reprec.getcalls("pytest_runtest_call")[0].item.module.l
-         assert l == [1,1,2,2]
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_module_parametrized_ordering(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -1936,6 +1943,7 @@ class TestFixtureMarker:
-             test_mod1.py::test_func1[m2] PASSED
-         """)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_class_ordering(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -1984,6 +1992,7 @@ class TestFixtureMarker:
-             test_class_ordering.py::TestClass::test_3[2-b] PASSED
-         """)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_separated_order_higher_scope_first(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2028,6 +2037,7 @@ class TestFixtureMarker:
-         pprint.pprint(list(zip(l, expected)))
-         assert l == expected
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrized_fixture_teardown_order(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2065,6 +2075,7 @@ class TestFixtureMarker:
-         """)
-         assert "error" not in result.stdout.str()
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_fixture_finalizer(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -2385,6 +2396,7 @@ class TestErrors:
-             "*1 error*",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue498_fixture_finalizer_failing(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2431,6 +2443,7 @@ class TestErrors:
-             "*1 error*",
-         ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestShowFixtures:
-     def test_funcarg_compat(self, testdir):
-         config = testdir.parseconfigure("--funcargs")
-@@ -2561,6 +2574,7 @@ class TestShowFixtures:
-         """)
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestContextManagerFixtureFuncs:
-     def test_simple(self, testdir):
-         testdir.makepyfile("""
-diff --git a/testing/python/integration.py b/testing/python/integration.py
-index 33ea26d..fe43016 100644
---- a/testing/python/integration.py
-+++ b/testing/python/integration.py
-@@ -202,6 +202,7 @@ class TestMockDecoration:
- 
- 
- class TestReRunTests:
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_rerun(self, testdir):
-         testdir.makeconftest("""
-             from _pytest.runner import runtestprotocol
-diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
-index 38629c7..8e74bce 100644
---- a/testing/python/metafunc.py
-+++ b/testing/python/metafunc.py
-@@ -475,6 +475,7 @@ class TestMetafunc:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=2)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_class_scenarios(self, testdir):
-         testdir.makepyfile("""
-         # same as doc/en/example/parametrize scenario example
-@@ -766,6 +767,7 @@ class TestMetafuncFunctional:
-             "*test_function*advanced*FAILED",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_without_ids(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -835,6 +837,7 @@ class TestMetafuncFunctional:
-         reprec = testdir.runpytest()
-         reprec.assert_outcomes(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_generate_tests_only_done_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_assertion.py b/testing/test_assertion.py
-index 96da579..c1f270c 100644
---- a/testing/test_assertion.py
-+++ b/testing/test_assertion.py
-@@ -120,6 +120,7 @@ class TestAssert_reprcompare:
-             """)
-         ]
-     )
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_iterable_full_diff(self, left, right, expected):
-         """Test the full diff assertion failure explanation.
- 
-@@ -348,6 +349,7 @@ class TestFormatExplanation:
-         assert util.format_explanation(expl) == res
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_python25_compile_issue257(testdir):
-     testdir.makepyfile("""
-         def test_rewritten():
-@@ -559,6 +561,7 @@ def test_warn_missing(testdir):
-         "*WARNING*assert statements are not executed*",
-     ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_recursion_source_decode(testdir):
-     testdir.makepyfile("""
-         def test_something():
-@@ -573,6 +576,7 @@ def test_recursion_source_decode(testdir):
-         <Module*>
-     """)
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_AssertionError_message(testdir):
-     testdir.makepyfile("""
-         def test_hello():
-@@ -587,6 +591,7 @@ def test_AssertionError_message(testdir):
-     """)
- 
- @pytest.mark.skipif(PY3, reason='This bug does not exist on PY3')
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_set_with_unsortable_elements():
-     # issue #718
-     class UnsortableKey(object):
-diff --git a/testing/test_assertrewrite.py b/testing/test_assertrewrite.py
-index e690e34..56d17d5 100644
---- a/testing/test_assertrewrite.py
-+++ b/testing/test_assertrewrite.py
-@@ -307,6 +307,7 @@ class TestAssertionRewrite:
-             assert g(**{x : 2})
-         assert getmsg(f, ns) == """assert g(**{'a': 2})"""
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_attribute(self):
-         class X(object):
-             g = 3
-@@ -343,6 +344,7 @@ class TestAssertionRewrite:
-             assert b < c
-         getmsg(f, must_pass=True)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_len(self):
-         def f():
-             l = list(range(10))
-@@ -641,6 +643,7 @@ class TestAssertionRewriteHookDetails(object):
- 
-         assert _read_pyc(source, str(pyc)) is None  # no error
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_reload_is_same(self, testdir):
-         # A file that will be picked up during collecting.
-         testdir.tmpdir.join("file.py").ensure()
-diff --git a/testing/test_capture.py b/testing/test_capture.py
-index 66dff1e..5c914ac 100644
---- a/testing/test_capture.py
-+++ b/testing/test_capture.py
-@@ -479,6 +479,8 @@ class TestCaptureFixture:
-         assert 'closed' not in result.stderr.str()
- 
- 
-+# https://github.com/pytest-dev/pytest/issues/1162
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_failure_does_not_kill_capturing(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub1.join("conftest.py").write(py.code.Source("""
-@@ -518,6 +520,7 @@ def test_capture_conftest_runtest_setup(testdir):
-     assert 'hello19' not in result.stdout.str()
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_capture_badoutput_issue412(testdir):
-     testdir.makepyfile("""
-         import os
-@@ -897,6 +900,7 @@ class TestStdCaptureFD(TestStdCapture):
-     pytestmark = needsosdup
-     captureclass = staticmethod(StdCaptureFD)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_simple_only_fd(self, testdir):
-         testdir.makepyfile("""
-             import os
-@@ -981,6 +985,7 @@ def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
-     assert capfile2 == capfile
- 
- @needsosdup
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_close_and_capture_again(testdir):
-     testdir.makepyfile("""
-         import os
-@@ -1001,6 +1006,7 @@ def test_close_and_capture_again(testdir):
- 
- 
- @pytest.mark.parametrize('method', ['SysCapture', 'FDCapture'])
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_capturing_and_logging_fundamentals(testdir, method):
-     if method == "StdCaptureFD" and not hasattr(os, 'dup'):
-         pytest.skip("need os.dup")
-diff --git a/testing/test_collection.py b/testing/test_collection.py
-index 4e4609e..eb731fb 100644
---- a/testing/test_collection.py
-+++ b/testing/test_collection.py
-@@ -287,6 +287,7 @@ class TestCustomConftests:
-             "*test_x*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_pytest_collect_file_from_sister_dir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_config.py b/testing/test_config.py
-index 2e53776..7729717 100644
---- a/testing/test_config.py
-+++ b/testing/test_config.py
-@@ -47,6 +47,7 @@ class TestParseIni:
-         ])
- 
-     @pytest.mark.parametrize("name", "setup.cfg tox.ini pytest.ini".split())
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_ini_names(self, testdir, name):
-         testdir.tmpdir.join(name).write(py.std.textwrap.dedent("""
-             [pytest]
-@@ -55,6 +56,7 @@ class TestParseIni:
-         config = testdir.parseconfig()
-         assert config.getini("minversion") == "1.0"
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_toxini_before_lower_pytestini(self, testdir):
-         sub = testdir.tmpdir.mkdir("sub")
-         sub.join("tox.ini").write(py.std.textwrap.dedent("""
-@@ -418,6 +420,7 @@ class TestWarning:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_warn_on_test_item_from_request(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-diff --git a/testing/test_conftest.py b/testing/test_conftest.py
-index 2be942e..72308b7 100644
---- a/testing/test_conftest.py
-+++ b/testing/test_conftest.py
-@@ -204,6 +204,7 @@ def test_conftest_import_order(testdir, monkeypatch):
-     assert conftest._getconftestmodules(sub) == [ct1, ct2]
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_fixture_dependency(testdir, monkeypatch):
-     ct1 = testdir.makeconftest("")
-     ct1 = testdir.makepyfile("__init__.py")
-@@ -241,6 +242,7 @@ def test_fixture_dependency(testdir, monkeypatch):
-     result.stdout.fnmatch_lines(["*1 passed*"])
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_conftest_found_with_double_dash(testdir):
-     sub = testdir.mkdir("sub")
-     sub.join("conftest.py").write(py.std.textwrap.dedent("""
-@@ -259,6 +261,7 @@ def test_conftest_found_with_double_dash(testdir):
-     """)
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestConftestVisibility:
-     def _setup_tree(self, testdir):  # for issue616
-         # example mostly taken from:
-diff --git a/testing/test_doctest.py b/testing/test_doctest.py
-index 7fcdf22..fba5685 100644
---- a/testing/test_doctest.py
-+++ b/testing/test_doctest.py
-@@ -224,6 +224,7 @@ class TestDoctests:
-         reprec = testdir.inline_run(p, )
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_doctestmodule_with_fixtures(self, testdir):
-         p = testdir.makepyfile("""
-             '''
-@@ -235,6 +236,7 @@ class TestDoctests:
-         reprec = testdir.inline_run(p, "--doctest-modules")
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_doctestmodule_three_tests(self, testdir):
-         p = testdir.makepyfile("""
-             '''
-@@ -260,6 +262,7 @@ class TestDoctests:
-         reprec = testdir.inline_run(p, "--doctest-modules")
-         reprec.assertoutcome(passed=3)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_doctestmodule_two_tests_one_fail(self, testdir):
-         p = testdir.makepyfile("""
-             class MyClass:
-@@ -432,6 +435,7 @@ class TestDoctestSkips:
- 
-         return makeit
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_one_skipped(self, testdir, makedoctest):
-         makedoctest("""
-             >>> 1 + 1  # doctest: +SKIP
-@@ -501,6 +505,7 @@ class TestDoctestAutoUseFixtures:
- 
-     @pytest.mark.parametrize('scope', SCOPES)
-     @pytest.mark.parametrize('enable_doctest', [True, False])
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_fixture_scopes(self, testdir, scope, enable_doctest):
-         """Test that auto-use fixtures work properly with doctest modules.
-         See #1057 and #1100.
-@@ -579,4 +584,4 @@ class TestDoctestAutoUseFixtures:
-         """)
-         result = testdir.runpytest('--doctest-modules')
-         assert 'FAILURES' not in str(result.stdout.str())
--        result.stdout.fnmatch_lines(['*=== 1 passed in *'])
-\ No newline at end of file
-+        result.stdout.fnmatch_lines(['*=== 1 passed in *'])
-diff --git a/testing/test_helpconfig.py b/testing/test_helpconfig.py
-index 3f03c05..442b2ba 100644
---- a/testing/test_helpconfig.py
-+++ b/testing/test_helpconfig.py
-@@ -14,6 +14,7 @@ def test_version(testdir, pytestconfig):
-             "*at*",
-         ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_help(testdir):
-     result = testdir.runpytest("--help")
-     assert result.ret == 0
-diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
-index 7a03b5a..0650f77 100644
---- a/testing/test_junitxml.py
-+++ b/testing/test_junitxml.py
-@@ -174,6 +174,7 @@ class TestPython:
-             classname="test_classname_instance.TestClass",
-             name="test_method")
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_classname_nested_dir(self, testdir):
-         p = testdir.tmpdir.ensure("sub", "test_hello.py")
-         p.write("def test_func(): 0/0")
-diff --git a/testing/test_mark.py b/testing/test_mark.py
-index 5cb66e7..93d8c1b 100644
---- a/testing/test_mark.py
-+++ b/testing/test_mark.py
-@@ -133,6 +133,7 @@ def test_markers_option(testdir):
-         "*a1some*another marker",
-     ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_markers_option_with_plugin_in_current_dir(testdir):
-     testdir.makeconftest('pytest_plugins = "flip_flop"')
-     testdir.makepyfile(flip_flop="""\
-diff --git a/testing/test_monkeypatch.py b/testing/test_monkeypatch.py
-index e55aae3..14791d8 100644
---- a/testing/test_monkeypatch.py
-+++ b/testing/test_monkeypatch.py
-@@ -232,6 +232,7 @@ def test_chdir_double_undo(mp, tmpdir):
-     mp.undo()
-     assert os.getcwd() == tmpdir.strpath
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_issue185_time_breaks(testdir):
-     testdir.makepyfile("""
-         import time
-diff --git a/testing/test_skipping.py b/testing/test_skipping.py
-index 93adf6e..4740bf6 100644
---- a/testing/test_skipping.py
-+++ b/testing/test_skipping.py
-@@ -263,6 +263,7 @@ class TestXFail:
-         result = testdir.runpytest(p, "--runxfail")
-         result.stdout.fnmatch_lines("*1 pass*")
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_xfail_imperative_in_setup_function(self, testdir):
-         p = testdir.makepyfile("""
-             import pytest
-@@ -671,6 +672,7 @@ def test_xfail_test_setup_exception(testdir):
-     assert 'xfailed' in result.stdout.str()
-     assert 'xpassed' not in result.stdout.str()
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_imperativeskip_on_xfail_test(testdir):
-     testdir.makepyfile("""
-         import pytest
-@@ -694,6 +696,7 @@ def test_imperativeskip_on_xfail_test(testdir):
-         *2 skipped*
-     """)
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestBooleanCondition:
-     def test_skipif(self, testdir):
-         testdir.makepyfile("""
-diff --git a/testing/test_terminal.py b/testing/test_terminal.py
-index 2c7437c..6f2d6e4 100644
---- a/testing/test_terminal.py
-+++ b/testing/test_terminal.py
-@@ -264,6 +264,7 @@ class TestCollectonly:
-             "*   <Function 'test_method'*>",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_collectonly_error(self, testdir):
-         p = testdir.makepyfile("import Errlkjqweqwe")
-         result = testdir.runpytest("--collect-only", p)
-@@ -726,6 +727,7 @@ def test_tbstyle_native_setup_error(testdir):
-             '*File *test_tbstyle_native_setup_error.py", line *, in setup_error_fixture*'
-             ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_terminal_summary(testdir):
-     testdir.makeconftest("""
-         def pytest_terminal_summary(terminalreporter):
-diff --git a/testing/test_unittest.py b/testing/test_unittest.py
-index d7b862e..90e3e1f 100644
---- a/testing/test_unittest.py
-+++ b/testing/test_unittest.py
-@@ -14,6 +14,7 @@ def test_simple_unittest(testdir):
-     assert reprec.matchreport("testpassing").passed
-     assert reprec.matchreport("test_failing").failed
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_runTest_method(testdir):
-     testdir.makepyfile("""
-         import unittest
-@@ -705,6 +706,7 @@ def test_issue333_result_clearing(testdir):
-     reprec.assertoutcome(failed=1)
- 
- @pytest.mark.skipif("sys.version_info < (2,7)")
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_unittest_raise_skip_issue748(testdir):
-     testdir.makepyfile(test_foo="""
-         import unittest
-@@ -720,6 +722,7 @@ def test_unittest_raise_skip_issue748(testdir):
-     """)
- 
- @pytest.mark.skipif("sys.version_info < (2,7)")
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_unittest_skip_issue1169(testdir):
-     testdir.makepyfile(test_foo="""
-         import unittest

diff --git a/dev-python/pytest/pytest-2.7.2.ebuild b/dev-python/pytest/pytest-2.7.2.ebuild
deleted file mode 100644
index dbc19e9..0000000
--- a/dev-python/pytest/pytest-2.7.2.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python{2_7,3_3,3_4} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
-
-python_prepare_all() {
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
-			--ignore=testing/test_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && dohtml -r doc/en/_build/html/
-	distutils-r1_python_install_all
-}

diff --git a/dev-python/pytest/pytest-2.8.3.ebuild b/dev-python/pytest/pytest-2.8.3.ebuild
deleted file mode 100644
index 2237c97..0000000
--- a/dev-python/pytest/pytest-2.8.3.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-# dev-python/pluggy
-# https://github.com/hpk42/pluggy
-# See https://github.com/pytest-dev/pytest/issues/944
-# for why not now
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? (
-		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/regendoc[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-
-	# https://github.com/pytest-dev/pytest/issues/1162
-	# https://github.com/pytest-dev/pytest/issues/1163
-	sed \
-		-e 's:test_logging_initialized_in_test:_&:g' \
-		-i testing/test_capture.py || die
-
-	find \( -name __pycache__ -o -name "*.pyc" -o -name "*.pyo" \) \
-		-exec rm -rvf '{}' + || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}

diff --git a/dev-python/pytest/pytest-2.8.4.ebuild b/dev-python/pytest/pytest-2.8.4.ebuild
deleted file mode 100644
index f8a1f8a..0000000
--- a/dev-python/pytest/pytest-2.8.4.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-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 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-# dev-python/pluggy
-# https://github.com/hpk42/pluggy
-# See https://github.com/pytest-dev/pytest/issues/944
-# for why not now
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? (
-		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/regendoc[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.8.3-skip-test-on-pypy.patch )
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-
-	# https://github.com/pytest-dev/pytest/issues/1162
-	# https://github.com/pytest-dev/pytest/issues/1163
-	sed \
-		-e 's:test_logging_initialized_in_test:_&:g' \
-		-i testing/test_capture.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}

diff --git a/dev-python/pytest/pytest-2.8.5.ebuild b/dev-python/pytest/pytest-2.8.5.ebuild
deleted file mode 100644
index f3d7777..0000000
--- a/dev-python/pytest/pytest-2.8.5.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{3,4,5} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.zip"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-# dev-python/pluggy
-# https://github.com/hpk42/pluggy
-# See https://github.com/pytest-dev/pytest/issues/944
-# for why not now
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? (
-		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/regendoc[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-
-	# https://github.com/pytest-dev/pytest/issues/1162
-	# https://github.com/pytest-dev/pytest/issues/1163
-	sed \
-		-e 's:test_logging_initialized_in_test:_&:g' \
-		-i testing/test_capture.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2017-01-30 18:56 Lars Wendler
  0 siblings, 0 replies; 16+ messages in thread
From: Lars Wendler @ 2017-01-30 18:56 UTC (permalink / raw
  To: gentoo-commits

commit:     7e7b61d2bd05a27f9334cba6eb58c07c6c09883f
Author:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 30 18:21:46 2017 +0000
Commit:     Lars Wendler <polynomial-c <AT> gentoo <DOT> org>
CommitDate: Mon Jan 30 18:56:10 2017 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e7b61d2

dev-python/pytest: Removed old.

Package-Manager: Portage-2.3.3, Repoman-2.3.1

 dev-python/pytest/Manifest                         |   3 -
 .../files/pytest-2.8.3-skip-test-on-pypy.patch     |  96 ----
 .../files/pytest-2.8.7-skip-test-on-pypy.patch     | 550 ---------------------
 dev-python/pytest/pytest-2.8.2.ebuild              |  82 ---
 dev-python/pytest/pytest-2.8.7.ebuild              |  76 ---
 dev-python/pytest/pytest-3.0.4.ebuild              |  71 ---
 6 files changed, 878 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index c48b9aa..96b8078 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,8 +1,5 @@
 DIST pytest-2.7.2.tar.gz 532836 SHA256 b30457f735420d0000d10a44bbd478cf03f8bf20e25bd77248f9bab40f4fd6a4 SHA512 5474a4fe58437a4971fb21b1b37dad3c08e18e5d154931ff23e597f881100a3515bf0cf71d06b143465594ad2a91a96f84f4836d84c39691143c8d88ca7a4360 WHIRLPOOL 6ab7371f952109ac476774222883e1381fe5ee6a54d967f2d90765f6c59c90634a16c42e8e2e1661169db6a9cb1327242ff2281cf1caeabd86a4dacd24f4bb06
-DIST pytest-2.8.2.tar.gz 563955 SHA256 da2fc57320dd11f621d166634c52b989aa2291af1296c32a27a11777aa4128b9 SHA512 0df6e0421d1575e1efc0bb0550c5993f802777cb616ab1514bf12ed11eb5ec35a142dd837ff65659989268c36e441e18108369991cd3d458d357aac6ba433991 WHIRLPOOL ea917f4aaec444d6edc830b4ec66f7adb305031f11328e47d12a609ec92368a5c56e9cf8e24bd1a9a4a6a0746b43133f0d9821cf27d74c15ed2a83a705ee6030
-DIST pytest-2.8.7.tar.gz 564943 SHA256 fc4c86be54fce08e4b85b646a736efa18c6cde7599c1d2919f4f74629e018baf SHA512 c7f626ceb599811caeab4646389a2c489dd22d766c772d6ca686098cef9a11dca47ef41a4a4b811110f358bca1f1a678b549b2adfea48317ae70cf166289b371 WHIRLPOOL c3849f1a9f62c05c1ce20593f32ee513aee87853914be4099503cd47b068732df99605a0a4db9a3a7add4ef2a85f4d5376acf1a2e3f48f5d438433f200cb6196
 DIST pytest-3.0.2.tar.gz 727551 SHA256 64d8937626dd2a4bc15ef0edd307d26636a72a3f3f9664c424d78e40efb1e339 SHA512 38485c73f9df3c76b7b920b6957ffe4fbfd32ca0c46b73a53375a40586a482d270bf71b4457b68d48815d50ad173824b269ece255692ae0d1b13f0b1885ce54f WHIRLPOOL b6954a95e5f7d9b904c7543a09c2ef237c76c3a35bcd3e24c402a02aec3b35a19cdb952ac38af4ce43ae516cb5ac52023a0d91f2c587343265edd6d493145e8a
 DIST pytest-3.0.3.tar.gz 731934 SHA256 f213500a356800a483e8a146ff971ae14a8df3f2c0ae4145181aad96996abee7 SHA512 ec0b4a5f0d6673a339c5a70b402c004c23db7001005454329eeaea15d890f53b8f2740f6c6254499d0f915b9058bfdfa535d9f22847bb382a060d65204fce4af WHIRLPOOL 1883909fa23832e674cf912b1d88957dd435143dc124df5454c08ad02c8077473168f749ea94539c2c4b5cf08648a0bce7e90937bbdacd4bb69a4ccf15ecff23
-DIST pytest-3.0.4.tar.gz 733339 SHA256 879fee2c1fdbaacd1bf2c0047677c6dd4aee05b9c1e64330b34d130a584fa40d SHA512 f8ee3eb84b564419beb0bb78abbe0ffe44920b35c60021d2c77b2bc3a5ec13245768f848ccb2a1864d46fc343cdc4b2bc4a33d9459bf388f64ea2aea0d9c337d WHIRLPOOL e48fc51e1de0fe38eaebd21ea4249dd915ffbf190d1955bd9aa77976b9c692bd0a2541d8802e9e100603af647279740e6329491b0ce09ef898d102e78984b2bb
 DIST pytest-3.0.5.tar.gz 740656 SHA256 4a003aa956f023ce91aa6e166b555e6f02a4b0aeb459ac61e14f64c0d39037fd SHA512 b01c6272703ec93b7e7eefa584688a3d00cd97ac9cf54bc9501b596d4c370f9f74e06ee2223829b60469ea1a32c3a3c30b29aeacfaab1f23404d5f8345544ca1 WHIRLPOOL 9b044222fc628dd138e9eaaf27a930b6389e74dff09ec25c07392c4d965c30890a79f5fb663db6de4f612dbabd6338049d2ed45679928835f8c7a278530d6c05
 DIST pytest-3.0.6.tar.gz 748748 SHA256 643434a9f1a188271da35e20064cb8b6c5440976c5bb541dc7b5b0e3cf75d940 SHA512 0e983f1f52c18327537d20be30425f4c74037d1fbf6b4aedf2646cf21d450fa9b2b20625f26f5db759b4fe1fd28c6640cb1df88e667efaeea6642e7f02f01e06 WHIRLPOOL 708e5041135883ba31d9712880672f64bf05c0bf40a544061cb42fed4d2aec111bfdf82b63f10e8a87c2b76870e3ea364b396258f0674d2199e43fe93cf2922e

diff --git a/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch
deleted file mode 100644
index 81a7573..00000000
--- a/dev-python/pytest/files/pytest-2.8.3-skip-test-on-pypy.patch
+++ /dev/null
@@ -1,96 +0,0 @@
- testing/acceptance_test.py | 2 ++
- testing/python/collect.py  | 1 +
- testing/python/fixture.py  | 1 +
- testing/python/metafunc.py | 1 +
- testing/test_capture.py    | 3 ++-
- testing/test_collection.py | 1 +
- testing/test_junitxml.py   | 1 +
- 7 files changed, 9 insertions(+), 1 deletion(-)
-
-diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
-index b9a3fa3..9db5017 100644
---- a/testing/acceptance_test.py
-+++ b/testing/acceptance_test.py
-@@ -209,6 +209,8 @@ class TestGeneralUsage:
-         result = testdir.runpython(p)
-         assert not result.ret
- 
-+    # https://github.com/pytest-dev/pytest/issues/1162
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue109_sibling_conftests_not_loaded(self, testdir):
-         sub1 = testdir.tmpdir.mkdir("sub1")
-         sub2 = testdir.tmpdir.mkdir("sub2")
-diff --git a/testing/python/collect.py b/testing/python/collect.py
-index 636f959..da9a291 100644
---- a/testing/python/collect.py
-+++ b/testing/python/collect.py
-@@ -659,6 +659,7 @@ class TestConftestCustomization:
-         l = modcol.collect()
-         assert '_hello' not in l
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_only_available_in_subdir(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/python/fixture.py b/testing/python/fixture.py
-index 2031764..f52cf85 100644
---- a/testing/python/fixture.py
-+++ b/testing/python/fixture.py
-@@ -83,6 +83,7 @@ class TestFillFixtures:
-             "*1 passed*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
-index 111ca61..bc489fa 100644
---- a/testing/python/metafunc.py
-+++ b/testing/python/metafunc.py
-@@ -835,6 +835,7 @@ class TestMetafuncFunctional:
-         reprec = testdir.runpytest()
-         reprec.assert_outcomes(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_generate_tests_only_done_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_capture.py b/testing/test_capture.py
-index 5393335..d7448e1 100644
---- a/testing/test_capture.py
-+++ b/testing/test_capture.py
-@@ -478,7 +478,8 @@ class TestCaptureFixture:
-         result = testdir.runpytest_subprocess(p)
-         assert 'closed' not in result.stderr.str()
- 
--
-+# https://github.com/pytest-dev/pytest/issues/1162
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_failure_does_not_kill_capturing(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub1.join("conftest.py").write(py.code.Source("""
-diff --git a/testing/test_collection.py b/testing/test_collection.py
-index 749c5b7..65370a6 100644
---- a/testing/test_collection.py
-+++ b/testing/test_collection.py
-@@ -287,6 +287,7 @@ class TestCustomConftests:
-             "*test_x*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_pytest_collect_file_from_sister_dir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
-index b25b6c7..3afd6f2 100644
---- a/testing/test_junitxml.py
-+++ b/testing/test_junitxml.py
-@@ -120,6 +120,7 @@ class TestPython:
-             classname="test_classname_instance.TestClass",
-             name="test_method")
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_classname_nested_dir(self, testdir):
-         p = testdir.tmpdir.ensure("sub", "test_hello.py")
-         p.write("def test_func(): 0/0")

diff --git a/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch b/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch
deleted file mode 100644
index f82522f..00000000
--- a/dev-python/pytest/files/pytest-2.8.7-skip-test-on-pypy.patch
+++ /dev/null
@@ -1,550 +0,0 @@
- testing/acceptance_test.py    |  5 +++++
- testing/python/collect.py     |  3 +++
- testing/python/fixture.py     | 14 ++++++++++++++
- testing/python/integration.py |  1 +
- testing/python/metafunc.py    |  3 +++
- testing/test_assertion.py     |  5 +++++
- testing/test_assertrewrite.py |  3 +++
- testing/test_capture.py       |  6 ++++++
- testing/test_collection.py    |  1 +
- testing/test_config.py        |  3 +++
- testing/test_conftest.py      |  3 +++
- testing/test_helpconfig.py    |  1 +
- testing/test_junitxml.py      |  1 +
- testing/test_mark.py          |  1 +
- testing/test_monkeypatch.py   |  1 +
- testing/test_skipping.py      |  3 +++
- testing/test_terminal.py      |  2 ++
- testing/test_unittest.py      |  3 +++
- 18 files changed, 59 insertions(+)
-
-diff --git a/testing/acceptance_test.py b/testing/acceptance_test.py
-index b9a3fa3..7875d94 100644
---- a/testing/acceptance_test.py
-+++ b/testing/acceptance_test.py
-@@ -127,6 +127,7 @@ class TestGeneralUsage:
-             "*ERROR: not found:*%s" %(p2.basename,)
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue486_better_reporting_on_conftest_load_failure(self, testdir):
-         testdir.makepyfile("")
-         testdir.makeconftest("import qwerty")
-@@ -209,6 +210,8 @@ class TestGeneralUsage:
-         result = testdir.runpython(p)
-         assert not result.ret
- 
-+    # https://github.com/pytest-dev/pytest/issues/1162
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue109_sibling_conftests_not_loaded(self, testdir):
-         sub1 = testdir.tmpdir.mkdir("sub1")
-         sub2 = testdir.tmpdir.mkdir("sub2")
-@@ -350,6 +353,7 @@ class TestGeneralUsage:
-         res = testdir.runpytest(p.basename)
-         assert res.ret == 0
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_unknown_option(self, testdir):
-         result = testdir.runpytest("--qwlkej")
-         result.stderr.fnmatch_lines("""
-@@ -657,6 +661,7 @@ class TestDurations:
-         ])
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestDurationWithFixture:
-     source = """
-         import time
-diff --git a/testing/python/collect.py b/testing/python/collect.py
-index bebc133..1cf0a80 100644
---- a/testing/python/collect.py
-+++ b/testing/python/collect.py
-@@ -27,6 +27,7 @@ class TestModule:
-             "*HINT*",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_import_prepend_append(self, testdir, monkeypatch):
-         syspath = list(sys.path)
-         monkeypatch.setattr(sys, "path", syspath)
-@@ -57,6 +58,7 @@ class TestModule:
-         pytest.raises(ImportError, lambda: modcol.obj)
- 
- class TestClass:
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_class_with_init_warning(self, testdir):
-         testdir.makepyfile("""
-             class TestClass1:
-@@ -659,6 +661,7 @@ class TestConftestCustomization:
-         l = modcol.collect()
-         assert '_hello' not in l
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_only_available_in_subdir(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/python/fixture.py b/testing/python/fixture.py
-index 2031764..22e620a 100644
---- a/testing/python/fixture.py
-+++ b/testing/python/fixture.py
-@@ -83,6 +83,7 @@ class TestFillFixtures:
-             "*1 passed*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_conftest_funcargs_only_available_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-@@ -606,6 +607,7 @@ class TestRequestBasic:
-         reprec = testdir.inline_run("-v")
-         reprec.assertoutcome(passed=3)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_fixtures_sub_subdir_normalize_sep(self, testdir):
-         # this tests that normalization of nodeids takes place
-         b = testdir.mkdir("tests").mkdir("unit")
-@@ -953,6 +955,7 @@ class TestFixtureUsages:
-             "*2 passed*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_factory_uses_unknown_funcarg_as_dependency_error(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -1049,6 +1052,7 @@ class TestFixtureUsages:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=2)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_usefixtures_seen_in_showmarkers(self, testdir):
-         result = testdir.runpytest("--markers")
-         result.stdout.fnmatch_lines("""
-@@ -1157,6 +1161,7 @@ class TestFixtureManagerParseFactories:
-         reprec = testdir.inline_run("-s")
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parsefactories_relative_node_ids(self, testdir):
-         # example mostly taken from:
-         # https://mail.python.org/pipermail/pytest-dev/2014-September/002617.html
-@@ -1305,6 +1310,7 @@ class TestAutouseDiscovery:
-         reprec = testdir.inline_run("-s")
-         reprec.assertoutcome(failed=0, passed=0)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_autouse_in_conftests(self, testdir):
-         a = testdir.mkdir("a")
-         b = testdir.mkdir("a1")
-@@ -1890,6 +1896,7 @@ class TestFixtureMarker:
-         l = reprec.getcalls("pytest_runtest_call")[0].item.module.l
-         assert l == [1,1,2,2]
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_module_parametrized_ordering(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -1936,6 +1943,7 @@ class TestFixtureMarker:
-             test_mod1.py::test_func1[m2] PASSED
-         """)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_class_ordering(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -1984,6 +1992,7 @@ class TestFixtureMarker:
-             test_class_ordering.py::TestClass::test_3[2-b] PASSED
-         """)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_separated_order_higher_scope_first(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2028,6 +2037,7 @@ class TestFixtureMarker:
-         pprint.pprint(list(zip(l, expected)))
-         assert l == expected
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrized_fixture_teardown_order(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2065,6 +2075,7 @@ class TestFixtureMarker:
-         """)
-         assert "error" not in result.stdout.str()
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_fixture_finalizer(self, testdir):
-         testdir.makeconftest("""
-             import pytest
-@@ -2385,6 +2396,7 @@ class TestErrors:
-             "*1 error*",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_issue498_fixture_finalizer_failing(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -2431,6 +2443,7 @@ class TestErrors:
-             "*1 error*",
-         ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestShowFixtures:
-     def test_funcarg_compat(self, testdir):
-         config = testdir.parseconfigure("--funcargs")
-@@ -2561,6 +2574,7 @@ class TestShowFixtures:
-         """)
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestContextManagerFixtureFuncs:
-     def test_simple(self, testdir):
-         testdir.makepyfile("""
-diff --git a/testing/python/integration.py b/testing/python/integration.py
-index 0c436e3..1d0b4ee 100644
---- a/testing/python/integration.py
-+++ b/testing/python/integration.py
-@@ -202,6 +202,7 @@ class TestMockDecoration:
- 
- 
- class TestReRunTests:
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_rerun(self, testdir):
-         testdir.makeconftest("""
-             from _pytest.runner import runtestprotocol
-diff --git a/testing/python/metafunc.py b/testing/python/metafunc.py
-index 111ca61..cd2e86d 100644
---- a/testing/python/metafunc.py
-+++ b/testing/python/metafunc.py
-@@ -475,6 +475,7 @@ class TestMetafunc:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=2)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_class_scenarios(self, testdir):
-         testdir.makepyfile("""
-         # same as doc/en/example/parametrize scenario example
-@@ -766,6 +767,7 @@ class TestMetafuncFunctional:
-             "*test_function*advanced*FAILED",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_parametrize_without_ids(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-@@ -835,6 +837,7 @@ class TestMetafuncFunctional:
-         reprec = testdir.runpytest()
-         reprec.assert_outcomes(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_generate_tests_only_done_in_subdir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_assertion.py b/testing/test_assertion.py
-index 914fedd..fb0d0e2 100644
---- a/testing/test_assertion.py
-+++ b/testing/test_assertion.py
-@@ -120,6 +120,7 @@ class TestAssert_reprcompare:
-             """)
-         ]
-     )
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_iterable_full_diff(self, left, right, expected):
-         """Test the full diff assertion failure explanation.
- 
-@@ -348,6 +349,7 @@ class TestFormatExplanation:
-         assert util.format_explanation(expl) == res
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_python25_compile_issue257(testdir):
-     testdir.makepyfile("""
-         def test_rewritten():
-@@ -559,6 +561,7 @@ def test_warn_missing(testdir):
-         "*WARNING*assert statements are not executed*",
-     ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_recursion_source_decode(testdir):
-     testdir.makepyfile("""
-         def test_something():
-@@ -573,6 +576,7 @@ def test_recursion_source_decode(testdir):
-         <Module*>
-     """)
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_AssertionError_message(testdir):
-     testdir.makepyfile("""
-         def test_hello():
-@@ -587,6 +591,7 @@ def test_AssertionError_message(testdir):
-     """)
- 
- @pytest.mark.skipif(PY3, reason='This bug does not exist on PY3')
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_set_with_unsortable_elements():
-     # issue #718
-     class UnsortableKey(object):
-diff --git a/testing/test_assertrewrite.py b/testing/test_assertrewrite.py
-index 544250a..9dad082 100644
---- a/testing/test_assertrewrite.py
-+++ b/testing/test_assertrewrite.py
-@@ -307,6 +307,7 @@ class TestAssertionRewrite:
-             assert g(**{x : 2})
-         assert getmsg(f, ns) == """assert g(**{'a': 2})"""
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_attribute(self):
-         class X(object):
-             g = 3
-@@ -343,6 +344,7 @@ class TestAssertionRewrite:
-             assert b < c
-         getmsg(f, must_pass=True)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_len(self):
-         def f():
-             l = list(range(10))
-@@ -641,6 +643,7 @@ class TestAssertionRewriteHookDetails(object):
- 
-         assert _read_pyc(source, str(pyc)) is None  # no error
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_reload_is_same(self, testdir):
-         # A file that will be picked up during collecting.
-         testdir.tmpdir.join("file.py").ensure()
-diff --git a/testing/test_capture.py b/testing/test_capture.py
-index 5393335..0d2c238 100644
---- a/testing/test_capture.py
-+++ b/testing/test_capture.py
-@@ -479,6 +479,8 @@ class TestCaptureFixture:
-         assert 'closed' not in result.stderr.str()
- 
- 
-+# https://github.com/pytest-dev/pytest/issues/1162
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_setup_failure_does_not_kill_capturing(testdir):
-     sub1 = testdir.mkpydir("sub1")
-     sub1.join("conftest.py").write(py.code.Source("""
-@@ -518,6 +520,7 @@ def test_capture_conftest_runtest_setup(testdir):
-     assert 'hello19' not in result.stdout.str()
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_capture_badoutput_issue412(testdir):
-     testdir.makepyfile("""
-         import os
-@@ -897,6 +900,7 @@ class TestStdCaptureFD(TestStdCapture):
-     pytestmark = needsosdup
-     captureclass = staticmethod(StdCaptureFD)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_simple_only_fd(self, testdir):
-         testdir.makepyfile("""
-             import os
-@@ -981,6 +985,7 @@ def test_fdcapture_tmpfile_remains_the_same(tmpfile, use):
-     assert capfile2 == capfile
- 
- @needsosdup
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_close_and_capture_again(testdir):
-     testdir.makepyfile("""
-         import os
-@@ -1001,6 +1006,7 @@ def test_close_and_capture_again(testdir):
- 
- 
- @pytest.mark.parametrize('method', ['SysCapture', 'FDCapture'])
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_capturing_and_logging_fundamentals(testdir, method):
-     if method == "StdCaptureFD" and not hasattr(os, 'dup'):
-         pytest.skip("need os.dup")
-diff --git a/testing/test_collection.py b/testing/test_collection.py
-index 749c5b7..65370a6 100644
---- a/testing/test_collection.py
-+++ b/testing/test_collection.py
-@@ -287,6 +287,7 @@ class TestCustomConftests:
-             "*test_x*"
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_pytest_collect_file_from_sister_dir(self, testdir):
-         sub1 = testdir.mkpydir("sub1")
-         sub2 = testdir.mkpydir("sub2")
-diff --git a/testing/test_config.py b/testing/test_config.py
-index d497200..2987072 100644
---- a/testing/test_config.py
-+++ b/testing/test_config.py
-@@ -47,6 +47,7 @@ class TestParseIni:
-         ])
- 
-     @pytest.mark.parametrize("name", "setup.cfg tox.ini pytest.ini".split())
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_ini_names(self, testdir, name):
-         testdir.tmpdir.join(name).write(py.std.textwrap.dedent("""
-             [pytest]
-@@ -55,6 +56,7 @@ class TestParseIni:
-         config = testdir.parseconfig()
-         assert config.getini("minversion") == "1.0"
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_toxini_before_lower_pytestini(self, testdir):
-         sub = testdir.tmpdir.mkdir("sub")
-         sub.join("tox.ini").write(py.std.textwrap.dedent("""
-@@ -418,6 +420,7 @@ class TestWarning:
-         reprec = testdir.inline_run()
-         reprec.assertoutcome(passed=1)
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_warn_on_test_item_from_request(self, testdir):
-         testdir.makepyfile("""
-             import pytest
-diff --git a/testing/test_conftest.py b/testing/test_conftest.py
-index a0b77cf..3d07597 100644
---- a/testing/test_conftest.py
-+++ b/testing/test_conftest.py
-@@ -204,6 +204,7 @@ def test_conftest_import_order(testdir, monkeypatch):
-     assert conftest._getconftestmodules(sub) == [ct1, ct2]
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_fixture_dependency(testdir, monkeypatch):
-     ct1 = testdir.makeconftest("")
-     ct1 = testdir.makepyfile("__init__.py")
-@@ -241,6 +242,7 @@ def test_fixture_dependency(testdir, monkeypatch):
-     result.stdout.fnmatch_lines(["*1 passed*"])
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_conftest_found_with_double_dash(testdir):
-     sub = testdir.mkdir("sub")
-     sub.join("conftest.py").write(py.std.textwrap.dedent("""
-@@ -259,6 +261,7 @@ def test_conftest_found_with_double_dash(testdir):
-     """)
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestConftestVisibility:
-     def _setup_tree(self, testdir):  # for issue616
-         # example mostly taken from:
-diff --git a/testing/test_helpconfig.py b/testing/test_helpconfig.py
-index 9f8d87b..2ecd20d 100644
---- a/testing/test_helpconfig.py
-+++ b/testing/test_helpconfig.py
-@@ -14,6 +14,7 @@ def test_version(testdir, pytestconfig):
-             "*at*",
-         ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_help(testdir):
-     result = testdir.runpytest("--help")
-     assert result.ret == 0
-diff --git a/testing/test_junitxml.py b/testing/test_junitxml.py
-index e6db810..1180ea7 100644
---- a/testing/test_junitxml.py
-+++ b/testing/test_junitxml.py
-@@ -175,6 +175,7 @@ class TestPython:
-             classname="test_classname_instance.TestClass",
-             name="test_method")
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_classname_nested_dir(self, testdir):
-         p = testdir.tmpdir.ensure("sub", "test_hello.py")
-         p.write("def test_func(): 0/0")
-diff --git a/testing/test_mark.py b/testing/test_mark.py
-index 1aa3361..242a65d 100644
---- a/testing/test_mark.py
-+++ b/testing/test_mark.py
-@@ -133,6 +133,7 @@ def test_markers_option(testdir):
-         "*a1some*another marker",
-     ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_markers_option_with_plugin_in_current_dir(testdir):
-     testdir.makeconftest('pytest_plugins = "flip_flop"')
-     testdir.makepyfile(flip_flop="""\
-diff --git a/testing/test_monkeypatch.py b/testing/test_monkeypatch.py
-index 048c942..0c87b4e 100644
---- a/testing/test_monkeypatch.py
-+++ b/testing/test_monkeypatch.py
-@@ -256,6 +256,7 @@ def test_chdir_double_undo(mp, tmpdir):
-     assert os.getcwd() == tmpdir.strpath
- 
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_issue185_time_breaks(testdir):
-     testdir.makepyfile("""
-         import time
-diff --git a/testing/test_skipping.py b/testing/test_skipping.py
-index 1048c94..ea5cf44 100644
---- a/testing/test_skipping.py
-+++ b/testing/test_skipping.py
-@@ -263,6 +263,7 @@ class TestXFail:
-         result = testdir.runpytest(p, "--runxfail")
-         result.stdout.fnmatch_lines("*1 pass*")
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_xfail_imperative_in_setup_function(self, testdir):
-         p = testdir.makepyfile("""
-             import pytest
-@@ -671,6 +672,7 @@ def test_xfail_test_setup_exception(testdir):
-     assert 'xfailed' in result.stdout.str()
-     assert 'xpassed' not in result.stdout.str()
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_imperativeskip_on_xfail_test(testdir):
-     testdir.makepyfile("""
-         import pytest
-@@ -694,6 +696,7 @@ def test_imperativeskip_on_xfail_test(testdir):
-         *2 skipped*
-     """)
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- class TestBooleanCondition:
-     def test_skipif(self, testdir):
-         testdir.makepyfile("""
-diff --git a/testing/test_terminal.py b/testing/test_terminal.py
-index 305d60a..d503be8 100644
---- a/testing/test_terminal.py
-+++ b/testing/test_terminal.py
-@@ -264,6 +264,7 @@ class TestCollectonly:
-             "*   <Function 'test_method'*>",
-         ])
- 
-+    @pytest.mark.skipif('"__pypy__" in sys.modules')
-     def test_collectonly_error(self, testdir):
-         p = testdir.makepyfile("import Errlkjqweqwe")
-         result = testdir.runpytest("--collect-only", p)
-@@ -726,6 +727,7 @@ def test_tbstyle_native_setup_error(testdir):
-             '*File *test_tbstyle_native_setup_error.py", line *, in setup_error_fixture*'
-             ])
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_terminal_summary(testdir):
-     testdir.makeconftest("""
-         def pytest_terminal_summary(terminalreporter):
-diff --git a/testing/test_unittest.py b/testing/test_unittest.py
-index 53dde6e..52eeae0 100644
---- a/testing/test_unittest.py
-+++ b/testing/test_unittest.py
-@@ -14,6 +14,7 @@ def test_simple_unittest(testdir):
-     assert reprec.matchreport("testpassing").passed
-     assert reprec.matchreport("test_failing").failed
- 
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_runTest_method(testdir):
-     testdir.makepyfile("""
-         import unittest
-@@ -705,6 +706,7 @@ def test_issue333_result_clearing(testdir):
-     reprec.assertoutcome(failed=1)
- 
- @pytest.mark.skipif("sys.version_info < (2,7)")
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_unittest_raise_skip_issue748(testdir):
-     testdir.makepyfile(test_foo="""
-         import unittest
-@@ -720,6 +722,7 @@ def test_unittest_raise_skip_issue748(testdir):
-     """)
- 
- @pytest.mark.skipif("sys.version_info < (2,7)")
-+@pytest.mark.skipif('"__pypy__" in sys.modules')
- def test_unittest_skip_issue1169(testdir):
-     testdir.makepyfile(test_foo="""
-         import unittest

diff --git a/dev-python/pytest/pytest-2.8.2.ebuild b/dev-python/pytest/pytest-2.8.2.ebuild
deleted file mode 100644
index 5ffa077..00000000
--- a/dev-python/pytest/pytest-2.8.2.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-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 s390 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-# dev-python/pluggy
-# https://github.com/hpk42/pluggy
-# See https://github.com/pytest-dev/pytest/issues/944
-# for why not now
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? (
-		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/regendoc[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.8.3-skip-test-on-pypy.patch )
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-
-	# https://github.com/pytest-dev/pytest/issues/1162
-	# https://github.com/pytest-dev/pytest/issues/1163
-	sed \
-		-e 's:test_logging_initialized_in_test:_&:g' \
-		-i testing/test_capture.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}

diff --git a/dev-python/pytest/pytest-2.8.7.ebuild b/dev-python/pytest/pytest-2.8.7.ebuild
deleted file mode 100644
index 2a86876..00000000
--- a/dev-python/pytest/pytest-2.8.7.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-PYTHON_COMPAT=( python2_7 python3_{4,5} pypy pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-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 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-RDEPEND=">=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]"
-
-# dev-python/pluggy
-# https://github.com/hpk42/pluggy
-# See https://github.com/pytest-dev/pytest/issues/944
-# for why not now
-
-#pexpect dep based on https://bitbucket.org/hpk42/pytest/issue/386/tests-fail-with-pexpect-30
-DEPEND="${RDEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (	dev-python/pexpect[${PYTHON_USEDEP}] )
-	doc? (
-		>=dev-python/sphinx-1.2.3[${PYTHON_USEDEP}]
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/regendoc[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=( "${FILESDIR}"/${P}-skip-test-on-pypy.patch )
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Prevent un-needed d'loading
-	sed -e "s/'sphinx.ext.intersphinx', //" -i doc/en/conf.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_compile_all() {
-	if use doc; then
-		mkdir doc/en/.build || die
-		emake -C doc/en html
-	fi
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v --runpytest=subprocess \
-			|| die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}

diff --git a/dev-python/pytest/pytest-3.0.4.ebuild b/dev-python/pytest/pytest-3.0.4.ebuild
deleted file mode 100644
index 6adecf1..00000000
--- a/dev-python/pytest/pytest-3.0.4.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2017 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5} pypy )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/ https://pypi.python.org/pypi/pytest"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~hppa ~x86"
-IUSE="doc test"
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.4.29"
-COMMON_DEPEND="
-	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
-	doc? (
-		dev-python/pyyaml[${PYTHON_USEDEP}]
-		dev-python/sphinx[${PYTHON_USEDEP}]
-	)
-"
-DEPEND="${COMMON_DEPEND}
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/hypothesis-3.5.2[${PYTHON_USEDEP}]
-		>dev-python/pytest-xdist-1.13[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-	)
-"
-RDEPEND="${COMMON_DEPEND}
-	!dev-python/logilab-common
-"
-
-python_prepare_all() {
-	chmod o-w *egg*/* || die
-	# Disable versioning of py.test script to avoid collision with
-	# versioning performed by the eclass.
-	sed -e "s/return points/return {'py.test': target}/" -i setup.py || die "sed failed"
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	# test_nose.py not written to suit py3.2 in pypy3
-	if [[ "${EPYTHON}" == pypy3 ]]; then
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -x -v \
-			--ignore=testing/BUILD_nose.py \
-			|| die "tests failed with ${EPYTHON}"
-	else
-		"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py -v testing || die "tests failed with ${EPYTHON}"
-	fi
-}
-
-python_compile_all(){
-	use doc && emake -C doc/en html
-}
-
-python_install_all() {
-	use doc && HTML_DOCS=( doc/en/_build/html/. )
-	distutils-r1_python_install_all
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2018-07-16  9:26 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2018-07-16  9:26 UTC (permalink / raw
  To: gentoo-commits

commit:     0da652db040029f8d46cf2355dc4a6924164f432
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 16 08:26:06 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul 16 09:26:44 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0da652db

dev-python/pytest: Bump to 3.6.3

 dev-python/pytest/Manifest                         |  1 +
 .../pytest-3.6.3-pypy-syntaxerror-offset.patch     | 29 ++++++++
 dev-python/pytest/pytest-3.6.3.ebuild              | 85 ++++++++++++++++++++++
 3 files changed, 115 insertions(+)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index f7b0898a6e2..0f9eee021dc 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -2,3 +2,4 @@ DIST pytest-3.0.3.tar.gz 731934 BLAKE2B 7fb57d75bd54eb8a31d9701fdf739119715c475e
 DIST pytest-3.2.2.tar.gz 786396 BLAKE2B e669da930890e902b0323ec3a6685080ddd889e74655f7b4cb08ec421651f987597021a31471aab5a32d637b99620ce7792cbdf8f85561db3bb10ff06a446ba1 SHA512 6df3a50e7d1efeaf7a283920b16d1daf800798f422bc851b0aacd2bbd5cb0a88c95f9057fae49943b9dfe6527ed552cdf8d983b944ab91d0af252ee4f6eb82db
 DIST pytest-3.4.1.tar.gz 812928 BLAKE2B 27b25fcc5a268b1c92188c01bf16bf1eb4b8ced7d1a3c8095350ec55b1f1845a5d54bd6bd169142ca0d327f2f8d193774643174a356dd95fa07b3195bc1e8713 SHA512 75f728840cde6512619a03ce75fd0b04cb9d57a99f381366a0f9c10ffa3210448e7e85505357bfa9bfb0cca11cdedda2c0e091e5473ed82707a2597f234e659a
 DIST pytest-3.4.2.tar.gz 812719 BLAKE2B 96623d6cdea4bd79778175c18c949938505f1862010f700f9a8cb85f445910381af391a5b69e664fbbfc254bf46502c798c72026772070236a0a3bca7aeeb3d6 SHA512 787065ab76d4482799bb2da9f024c9c383e68cc1cc01f3b80f6ed9444ca6383d20953615696ed4dd01668777b094cf5002b23c4ce51828879dcf8ebf2170c71b
+DIST pytest-3.6.3.tar.gz 830949 BLAKE2B 4c0df5d157b8bb0ac6261a793aac2a8074c869b1a7cbda3eda600c79648b3722eaf2a57514c1fece60e0aac324b8ed09e8e889dda268619204e9e1f1637e1c9b SHA512 e18d8e972cb1b05b037b9441eea5981ce036d8e2c2bab80f6e50f283df9bd08740296133990424cf78449f6d3d2fbd1d59709770aa972af99fe061583f2d79a7

diff --git a/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch b/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch
new file mode 100644
index 00000000000..31dd0054676
--- /dev/null
+++ b/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch
@@ -0,0 +1,29 @@
+https://salsa.debian.org/python-team/modules/pytest/commit/405c05a0827592515de76e23c94de1f7773273e6.patch
+
+(updated by mgorny for 3.6.3 -- upstream quoting changes)
+
+From 405c05a0827592515de76e23c94de1f7773273e6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= <onovy@debian.org>
+Date: Thu, 10 May 2018 11:42:56 +0200
+Subject: [PATCH] Fix PyPy SyntaxError offset in tests
+
+---
+ testing/code/test_source.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/testing/code/test_source.py b/testing/code/test_source.py
+index fcce3fa..22278d8 100644
+--- a/testing/code/test_source.py
++++ b/testing/code/test_source.py
+@@ -117,7 +117,7 @@ def test_source_strip_multiline():
+ def test_syntaxerror_rerepresentation():
+     ex = pytest.raises(SyntaxError, _pytest._code.compile, "xyz xyz")
+     assert ex.value.lineno == 1
+-    assert ex.value.offset in (4, 7)  # XXX pypy/jython versus cpython?
++    assert ex.value.offset in (4, 5, 7)  # XXX pypy/jython versus cpython?
+     assert ex.value.text.strip(), "x x"
+ 
+ 
+-- 
+2.18.0
+

diff --git a/dev-python/pytest/pytest-3.6.3.ebuild b/dev-python/pytest/pytest-3.6.3.ebuild
new file mode 100644
index 00000000000..fcf42f682c5
--- /dev/null
+++ b/dev-python/pytest/pytest-3.6.3.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6} pypy{,3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~x86"
+# doc apparently requires sphinxcontrib_trio, not yet packaged
+IUSE="test" # doc
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.5.0"
+COMMON_DEPEND="
+	>=dev-python/atomicwrites-1.0[${PYTHON_USEDEP}]
+	>=dev-python/attrs-17.2.0[${PYTHON_USEDEP}]
+	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+	>=dev-python/pluggy-0.5[${PYTHON_USEDEP}]
+	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
+	dev-python/setuptools[${PYTHON_USEDEP}]
+	>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+	virtual/python-funcsigs[${PYTHON_USEDEP}]"
+
+#	doc? (
+#		dev-python/pyyaml[${PYTHON_USEDEP}]
+#		dev-python/sphinx[${PYTHON_USEDEP}]
+#	)"
+
+# flake & pytest-capturelog cause a number of tests to fail
+DEPEND="${COMMON_DEPEND}
+	dev-python/setuptools_scm[${PYTHON_USEDEP}]
+	test? (
+		>=dev-python/hypothesis-3.5.2[${PYTHON_USEDEP}]
+		>=dev-python/pytest-xdist-1.22.2[${PYTHON_USEDEP}]
+		dev-python/nose[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+		!!dev-python/flaky
+		!!dev-python/pytest-capturelog
+	)"
+
+RDEPEND="
+	${COMMON_DEPEND}
+	!<dev-python/logilab-common-1.3.0"
+
+python_prepare_all() {
+	local PATCHES=(
+		"${FILESDIR}"/pytest-3.6.3-pypy-syntaxerror-offset.patch
+	)
+
+	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+	# Something in the ebuild environment causes this to hang/error.
+	# https://bugs.gentoo.org/598442
+	rm testing/test_pdb.py || die
+
+	# those tests appear to hang with python3.5+;  TODO: investigate why
+	sed -i -e 's:test_runtest_location_shown_before_test_starts:_&:' \
+		testing/test_terminal.py || die
+	sed -i -e 's:test_trial_pdb:_&:' testing/test_unittest.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py --lsof -rfsxX \
+		-vv testing || die "tests failed with ${EPYTHON}"
+}
+
+#python_compile_all() {
+#	use doc && emake -C doc/en html
+#}
+#
+#python_install_all() {
+#	use doc && HTML_DOCS=( doc/en/_build/html/. )
+#	distutils-r1_python_install_all
+#}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2019-01-10  1:15 Virgil Dupras
  0 siblings, 0 replies; 16+ messages in thread
From: Virgil Dupras @ 2019-01-10  1:15 UTC (permalink / raw
  To: gentoo-commits

commit:     42fb4d8d983aefdcf5e24b0bd0eab86c76a9a7cd
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Thu Jan 10 01:15:27 2019 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Thu Jan 10 01:15:27 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=42fb4d8d

dev-python/pytest: remove old

Signed-off-by: Virgil Dupras <vdupras <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11

 dev-python/pytest/Manifest                         |  2 -
 .../pytest-3.6.3-pypy-syntaxerror-offset.patch     | 29 --------
 dev-python/pytest/pytest-3.6.3.ebuild              | 85 ----------------------
 dev-python/pytest/pytest-3.8.2.ebuild              | 81 ---------------------
 4 files changed, 197 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 428fcb9cfd3..281c5eb2883 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,6 +1,4 @@
 DIST pytest-3.10.1.tar.gz 892420 BLAKE2B 38849ae69bf4380bc1a99aa105cac04be078da4460373dfc16fa555238b2830fa2f5ae6c19de8aa2af9ac18d87c5d2705d62f7b2e67e4a62d843f6a28bbd76fd SHA512 30ff79c0fdcbeef68e1191ff400a20428e391717f06957f554b694b94baaaa565dca01346fe989c3e443c4402f3b2bdbd5564f6303a4447f933fb54cba45628f
 DIST pytest-3.2.2.tar.gz 786396 BLAKE2B e669da930890e902b0323ec3a6685080ddd889e74655f7b4cb08ec421651f987597021a31471aab5a32d637b99620ce7792cbdf8f85561db3bb10ff06a446ba1 SHA512 6df3a50e7d1efeaf7a283920b16d1daf800798f422bc851b0aacd2bbd5cb0a88c95f9057fae49943b9dfe6527ed552cdf8d983b944ab91d0af252ee4f6eb82db
 DIST pytest-3.4.2.tar.gz 812719 BLAKE2B 96623d6cdea4bd79778175c18c949938505f1862010f700f9a8cb85f445910381af391a5b69e664fbbfc254bf46502c798c72026772070236a0a3bca7aeeb3d6 SHA512 787065ab76d4482799bb2da9f024c9c383e68cc1cc01f3b80f6ed9444ca6383d20953615696ed4dd01668777b094cf5002b23c4ce51828879dcf8ebf2170c71b
-DIST pytest-3.6.3.tar.gz 830949 BLAKE2B 4c0df5d157b8bb0ac6261a793aac2a8074c869b1a7cbda3eda600c79648b3722eaf2a57514c1fece60e0aac324b8ed09e8e889dda268619204e9e1f1637e1c9b SHA512 e18d8e972cb1b05b037b9441eea5981ce036d8e2c2bab80f6e50f283df9bd08740296133990424cf78449f6d3d2fbd1d59709770aa972af99fe061583f2d79a7
-DIST pytest-3.8.2.tar.gz 869668 BLAKE2B 91d75481e4ef36ab06654b340751a33a96b9f6187cdfc65694973e2d4d7ddc5806fe673c87f0aa442c6c657a953b36c22d288eee8f61cc002be4be803bc98111 SHA512 5420de07ff741f64bcb7fce7bf3b5097cf63be2539c2e694c168bd824ba468ca87cb17be801b72b972ab417da98d1b5473f319afd642bf5c6c0270e3a697d016
 DIST pytest-4.1.0.tar.gz 902235 BLAKE2B 6289d13f6d81130fe4a1ea25dbe93c76206cd61c11e3c18bb5febd92539f37f45144565680a6df097667a5e940e545e7973193abd214bff7b9287d9b42b00e56 SHA512 30cbefa066728b72063b21190df74b7cbf56d045e87307915af45e3ff5cdbb76c79dd0c2428425c2db9f8f0ba99a116d787526dc806801787b89a7862dd9e56e

diff --git a/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch b/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch
deleted file mode 100644
index 31dd0054676..00000000000
--- a/dev-python/pytest/files/pytest-3.6.3-pypy-syntaxerror-offset.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://salsa.debian.org/python-team/modules/pytest/commit/405c05a0827592515de76e23c94de1f7773273e6.patch
-
-(updated by mgorny for 3.6.3 -- upstream quoting changes)
-
-From 405c05a0827592515de76e23c94de1f7773273e6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ond=C5=99ej=20Nov=C3=BD?= <onovy@debian.org>
-Date: Thu, 10 May 2018 11:42:56 +0200
-Subject: [PATCH] Fix PyPy SyntaxError offset in tests
-
----
- testing/code/test_source.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testing/code/test_source.py b/testing/code/test_source.py
-index fcce3fa..22278d8 100644
---- a/testing/code/test_source.py
-+++ b/testing/code/test_source.py
-@@ -117,7 +117,7 @@ def test_source_strip_multiline():
- def test_syntaxerror_rerepresentation():
-     ex = pytest.raises(SyntaxError, _pytest._code.compile, "xyz xyz")
-     assert ex.value.lineno == 1
--    assert ex.value.offset in (4, 7)  # XXX pypy/jython versus cpython?
-+    assert ex.value.offset in (4, 5, 7)  # XXX pypy/jython versus cpython?
-     assert ex.value.text.strip(), "x x"
- 
- 
--- 
-2.18.0
-

diff --git a/dev-python/pytest/pytest-3.6.3.ebuild b/dev-python/pytest/pytest-3.6.3.ebuild
deleted file mode 100644
index 24cb5009b0b..00000000000
--- a/dev-python/pytest/pytest-3.6.3.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy{,3} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc64 ~sparc ~x86 ~amd64-fbsd"
-# doc apparently requires sphinxcontrib_trio, not yet packaged
-IUSE="test" # doc
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.5.0"
-COMMON_DEPEND="
-	>=dev-python/atomicwrites-1.0[${PYTHON_USEDEP}]
-	>=dev-python/attrs-17.2.0[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.5[${PYTHON_USEDEP}]
-	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-	virtual/python-funcsigs[${PYTHON_USEDEP}]"
-
-#	doc? (
-#		dev-python/pyyaml[${PYTHON_USEDEP}]
-#		dev-python/sphinx[${PYTHON_USEDEP}]
-#	)"
-
-# flake & pytest-capturelog cause a number of tests to fail
-DEPEND="${COMMON_DEPEND}
-	dev-python/setuptools_scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/hypothesis-3.5.2[${PYTHON_USEDEP}]
-		>=dev-python/pytest-xdist-1.22.2[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-		!!dev-python/flaky
-		!!dev-python/pytest-capturelog
-	)"
-
-RDEPEND="
-	${COMMON_DEPEND}
-	!<dev-python/logilab-common-1.3.0"
-
-python_prepare_all() {
-	local PATCHES=(
-		"${FILESDIR}"/pytest-3.6.3-pypy-syntaxerror-offset.patch
-	)
-
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Something in the ebuild environment causes this to hang/error.
-	# https://bugs.gentoo.org/598442
-	rm testing/test_pdb.py || die
-
-	# those tests appear to hang with python3.5+;  TODO: investigate why
-	sed -i -e 's:test_runtest_location_shown_before_test_starts:_&:' \
-		testing/test_terminal.py || die
-	sed -i -e 's:test_trial_pdb:_&:' testing/test_unittest.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py --lsof -rfsxX \
-		-vv testing || die "tests failed with ${EPYTHON}"
-}
-
-#python_compile_all() {
-#	use doc && emake -C doc/en html
-#}
-#
-#python_install_all() {
-#	use doc && HTML_DOCS=( doc/en/_build/html/. )
-#	distutils-r1_python_install_all
-#}

diff --git a/dev-python/pytest/pytest-3.8.2.ebuild b/dev-python/pytest/pytest-3.8.2.ebuild
deleted file mode 100644
index dca19e60080..00000000000
--- a/dev-python/pytest/pytest-3.8.2.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} pypy{,3} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="http://pytest.org/"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc64 ~sparc ~x86 ~amd64-fbsd ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
-# doc apparently requires sphinxcontrib_trio, not yet packaged
-IUSE="test" # doc
-
-# When bumping, please check setup.py for the proper py version
-PY_VER="1.5.0"
-
-# pathlib2 has been added to stdlib before py3.6, but pytest needs __fspath__
-# support, which only came in py3.6.
-RDEPEND="
-	>=dev-python/atomicwrites-1.0[${PYTHON_USEDEP}]
-	>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep 'dev-python/pathlib2[${PYTHON_USEDEP}]' python2_7 python3_{4,5} )
-	>=dev-python/pluggy-0.7[${PYTHON_USEDEP}]
-	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
-	dev-python/setuptools[${PYTHON_USEDEP}]
-	>=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-	virtual/python-funcsigs[${PYTHON_USEDEP}]"
-
-#	doc? (
-#		dev-python/pyyaml[${PYTHON_USEDEP}]
-#		dev-python/sphinx[${PYTHON_USEDEP}]
-#	)"
-
-# flake & pytest-capturelog cause a number of tests to fail
-DEPEND="${RDEPEND}
-	dev-python/setuptools_scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-		>=dev-python/pytest-xdist-1.22.2[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-		!!dev-python/flaky
-		!!dev-python/pytest-capturelog
-	)"
-
-python_prepare_all() {
-	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
-
-	# Something in the ebuild environment causes this to hang/error.
-	# https://bugs.gentoo.org/598442
-	rm testing/test_pdb.py || die
-
-	# those tests appear to hang with python3.5+;  TODO: investigate why
-	sed -i -e 's:test_runtest_location_shown_before_test_starts:_&:' \
-		testing/test_terminal.py || die
-	sed -i -e 's:test_trial_pdb:_&:' testing/test_unittest.py || die
-
-	distutils-r1_python_prepare_all
-}
-
-python_test() {
-	"${PYTHON}" "${BUILD_DIR}"/lib/pytest.py --lsof -rfsxX \
-		-vv testing || die "tests failed with ${EPYTHON}"
-}
-
-#python_compile_all() {
-#	use doc && emake -C doc/en html
-#}
-#
-#python_install_all() {
-#	use doc && HTML_DOCS=( doc/en/_build/html/. )
-#	distutils-r1_python_install_all
-#}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2019-05-15 16:11 Virgil Dupras
  0 siblings, 0 replies; 16+ messages in thread
From: Virgil Dupras @ 2019-05-15 16:11 UTC (permalink / raw
  To: gentoo-commits

commit:     24759bf2f4fabdce810e7417952fbbb4f6c3598d
Author:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
AuthorDate: Wed May 15 16:11:23 2019 +0000
Commit:     Virgil Dupras <vdupras <AT> gentoo <DOT> org>
CommitDate: Wed May 15 16:11:34 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=24759bf2

dev-python/pytest: bump to 4.5.0

Had to drop keywords due to new deps. Also, got rid of setuptools_scm.

Signed-off-by: Virgil Dupras <vdupras <AT> gentoo.org>
Package-Manager: Portage-2.3.62, Repoman-2.3.11

 dev-python/pytest/Manifest                         |  1 +
 .../files/pytest-4.5.0-strip-setuptools_scm.patch  | 25 ++++++++
 dev-python/pytest/pytest-4.5.0.ebuild              | 67 ++++++++++++++++++++++
 3 files changed, 93 insertions(+)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 5e1c6e49fc6..c0a94469f60 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,3 +1,4 @@
 DIST pytest-3.10.1.tar.gz 892420 BLAKE2B 38849ae69bf4380bc1a99aa105cac04be078da4460373dfc16fa555238b2830fa2f5ae6c19de8aa2af9ac18d87c5d2705d62f7b2e67e4a62d843f6a28bbd76fd SHA512 30ff79c0fdcbeef68e1191ff400a20428e391717f06957f554b694b94baaaa565dca01346fe989c3e443c4402f3b2bdbd5564f6303a4447f933fb54cba45628f
 DIST pytest-3.4.2.tar.gz 812719 BLAKE2B 96623d6cdea4bd79778175c18c949938505f1862010f700f9a8cb85f445910381af391a5b69e664fbbfc254bf46502c798c72026772070236a0a3bca7aeeb3d6 SHA512 787065ab76d4482799bb2da9f024c9c383e68cc1cc01f3b80f6ed9444ca6383d20953615696ed4dd01668777b094cf5002b23c4ce51828879dcf8ebf2170c71b
 DIST pytest-4.4.2.tar.gz 932427 BLAKE2B 89734bc49bbfb40de1e613678682e3c5994e1991abfa6c6aac5e9d67c58db874a91c03c05ab15cb1b70680289b409db6546c3540d33a50791a882be0e2621e2c SHA512 14a5a93fef129f58f37686b39ae1bfa3a32bc81f7ee83b6f754e0d7f18e85c0c7f44f12651dc9b3eb2ff62ab4aca5665b33e1c319051c7d8e3d5e004047150ec
+DIST pytest-4.5.0.tar.gz 943607 BLAKE2B 49a0e91fda7f4231fdd39f90eb2daa344d3034c10faff221330ea0ae7482a2a7d0fb9443a0a264db00f1d92568d5a6005cb73e07d8643b46906f7ecff831adcb SHA512 cbffc6216f83491b1de241058315c116697bfaa5206b5f558192a7f861d43dd036d30d0d689bedae7bdee4f0258dd19ef5827c356e11863dd596a5fabe8249fc

diff --git a/dev-python/pytest/files/pytest-4.5.0-strip-setuptools_scm.patch b/dev-python/pytest/files/pytest-4.5.0-strip-setuptools_scm.patch
new file mode 100644
index 00000000000..ae6be933bca
--- /dev/null
+++ b/dev-python/pytest/files/pytest-4.5.0-strip-setuptools_scm.patch
@@ -0,0 +1,25 @@
+diff --git a/setup.py b/setup.py
+index 0fb5a58a..302b5dda 100644
+--- a/setup.py
++++ b/setup.py
+@@ -1,4 +1,5 @@
+ from setuptools import setup
++import os
+ 
+ # TODO: if py gets upgrade to >=1.6,
+ #       remove _width_of_current_line in terminal.py
+@@ -18,10 +19,12 @@ INSTALL_REQUIRES = [
+ ]
+ 
+ 
++with open("src/_pytest/_version.py", 'wt') as fp:
++    fp.write('version = "{}"'.format(os.environ['PV']))
++
+ def main():
+     setup(
+-        use_scm_version={"write_to": "src/_pytest/_version.py"},
+-        setup_requires=["setuptools-scm", "setuptools>=40.0"],
++        version=os.environ['PV'],
+         package_dir={"": "src"},
+         # fmt: off
+         extras_require={

diff --git a/dev-python/pytest/pytest-4.5.0.ebuild b/dev-python/pytest/pytest-4.5.0.ebuild
new file mode 100644
index 00000000000..3c2b86bcd9c
--- /dev/null
+++ b/dev-python/pytest/pytest-4.5.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{5,6,7} pypy{,3} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.5.0"
+
+# pathlib2 has been added to stdlib before py3.6, but pytest needs __fspath__
+# support, which only came in py3.6.
+RDEPEND="
+	>=dev-python/atomicwrites-1.0[${PYTHON_USEDEP}]
+	>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
+	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+	$(python_gen_cond_dep 'dev-python/pathlib2[${PYTHON_USEDEP}]' python2_7 python3_5 )
+	>=dev-python/pluggy-0.11[${PYTHON_USEDEP}]
+	<dev-python/pluggy-1
+	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
+	>=dev-python/setuptools-40[${PYTHON_USEDEP}]
+	dev-python/six[${PYTHON_USEDEP}]
+	dev-python/wcwidth[${PYTHON_USEDEP}]
+	virtual/python-funcsigs[${PYTHON_USEDEP}]"
+
+# flake cause a number of tests to fail
+DEPEND="${RDEPEND}
+	test? (
+		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+		dev-python/nose[${PYTHON_USEDEP}]
+		$(python_gen_cond_dep 'dev-python/mock[${PYTHON_USEDEP}]' -2)
+		dev-python/requests[${PYTHON_USEDEP}]
+		!!dev-python/flaky
+	)"
+
+PATCHES=(
+	"${FILESDIR}/${PN}-4.5.0-strip-setuptools_scm.patch"
+)
+
+python_prepare_all() {
+	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+	# Something in the ebuild environment causes this to hang/error.
+	# https://bugs.gentoo.org/598442
+	rm testing/test_pdb.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	# In v4.1.1, pytest started being picky about its own verbosity options.
+	# running pytest on itself with -vv made 3 tests fail. This is why we don't
+	# have it below.
+	"${EPYTHON}" "${BUILD_DIR}"/lib/pytest.py --lsof -rfsxX \
+		|| die "tests failed with ${EPYTHON}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2019-07-26  1:29 Georgy Yakovlev
  0 siblings, 0 replies; 16+ messages in thread
From: Georgy Yakovlev @ 2019-07-26  1:29 UTC (permalink / raw
  To: gentoo-commits

commit:     752f7623643670de40a66011906b69da6087f1c0
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 26 01:12:05 2019 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Fri Jul 26 01:28:21 2019 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=752f7623

dev-python/pytest: bump to 5.0.1

had to drop a lot of keywords:
alpha amd64-fbsd amd64-linux arm arm64 hppa ia64
mips ppc ppc64 s390 sparc sparc-solaris
sparc64-solaris x64-solaris x86-linux x86-solaris

testsute passes
2346 passed, 50 skipped, 11 xfailed, 1 warnings

Package-Manager: Portage-2.3.69, Repoman-2.3.16
Signed-off-by: Georgy Yakovlev <gyakovlev <AT> gentoo.org>

 dev-python/pytest/Manifest                         |  1 +
 .../files/pytest-5.0.1-test_xfail_rmdir.patch      | 38 ++++++++++++
 dev-python/pytest/pytest-5.0.1.ebuild              | 67 ++++++++++++++++++++++
 3 files changed, 106 insertions(+)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 607a625f644..c7e9d0ee56a 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,2 +1,3 @@
 DIST pytest-3.10.1.tar.gz 892420 BLAKE2B 38849ae69bf4380bc1a99aa105cac04be078da4460373dfc16fa555238b2830fa2f5ae6c19de8aa2af9ac18d87c5d2705d62f7b2e67e4a62d843f6a28bbd76fd SHA512 30ff79c0fdcbeef68e1191ff400a20428e391717f06957f554b694b94baaaa565dca01346fe989c3e443c4402f3b2bdbd5564f6303a4447f933fb54cba45628f
 DIST pytest-4.5.0.tar.gz 943607 BLAKE2B 49a0e91fda7f4231fdd39f90eb2daa344d3034c10faff221330ea0ae7482a2a7d0fb9443a0a264db00f1d92568d5a6005cb73e07d8643b46906f7ecff831adcb SHA512 cbffc6216f83491b1de241058315c116697bfaa5206b5f558192a7f861d43dd036d30d0d689bedae7bdee4f0258dd19ef5827c356e11863dd596a5fabe8249fc
+DIST pytest-5.0.1.tar.gz 949744 BLAKE2B c949f0fb6bc0d1430ec7c780537f8aee8ca1ebea5f89035d882434236c6af7d431a610774dbafa93552406e38852627a9f949a6f9198a792de9371efadb4f6ff SHA512 92f5feb263a8708ef6cb8f4565688620b6bfeaef23536cfd24b9bc09515e37fdecd7fa8bcaeeb0775c0be1d8e9dcbd9a56e52f97fb13dc98116efc0056f870db

diff --git a/dev-python/pytest/files/pytest-5.0.1-test_xfail_rmdir.patch b/dev-python/pytest/files/pytest-5.0.1-test_xfail_rmdir.patch
new file mode 100644
index 00000000000..5c6154cd92c
--- /dev/null
+++ b/dev-python/pytest/files/pytest-5.0.1-test_xfail_rmdir.patch
@@ -0,0 +1,38 @@
+From ab39502c98f40c03a2956dcf6c6b9daf5ee41a63 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 26 Jul 2019 02:23:14 +0200
+Subject: [PATCH] In test_xfail_handling, only remove __pycache__ if it exists
+
+Previously, the test failed when the directory was not present,
+which could have been caused for example by invoking the tests
+with PYTHONDONTWRITEBYTECODE=1.
+
+Fixes https://github.com/pytest-dev/pytest/issues/5664
+---
+ changelog/5664.trivial.rst | 2 ++
+ testing/test_stepwise.py   | 3 ++-
+ 2 files changed, 4 insertions(+), 1 deletion(-)
+ create mode 100644 changelog/5664.trivial.rst
+
+diff --git a/changelog/5664.trivial.rst b/changelog/5664.trivial.rst
+new file mode 100644
+index 000000000..3928454ef
+--- /dev/null
++++ b/changelog/5664.trivial.rst
+@@ -0,0 +1,2 @@
++When invoking pytest's own testsuite with ``PYTHONDONTWRITEBYTECODE=1``,
++the ``test_xfail_handling`` test no longer fails.
+diff --git a/testing/test_stepwise.py b/testing/test_stepwise.py
+index 591d67b6c..f61425b6b 100644
+--- a/testing/test_stepwise.py
++++ b/testing/test_stepwise.py
+@@ -207,7 +207,8 @@ def test_d(): pass
+ 
+     # because we are writing to the same file, mtime might not be affected enough to
+     # invalidate the cache, making this next run flaky
+-    testdir.tmpdir.join("__pycache__").remove()
++    if testdir.tmpdir.join("__pycache__").exists():
++        testdir.tmpdir.join("__pycache__").remove()
+     testdir.makepyfile(contents.format(assert_value="0", strict="True"))
+     result = testdir.runpytest("--sw", "-v")
+     result.stdout.fnmatch_lines(

diff --git a/dev-python/pytest/pytest-5.0.1.ebuild b/dev-python/pytest/pytest-5.0.1.ebuild
new file mode 100644
index 00000000000..b124d68a3a4
--- /dev/null
+++ b/dev-python/pytest/pytest-5.0.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{5,6,7} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="http://pytest.org/"
+SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+# When bumping, please check setup.py for the proper py version
+PY_VER="1.5.0"
+
+# pathlib2 has been added to stdlib before py3.6, but pytest needs __fspath__
+# support, which only came in py3.6.
+RDEPEND="
+	>=dev-python/atomicwrites-1.0[${PYTHON_USEDEP}]
+	>=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
+	dev-python/importlib_metadata[${PYTHON_USEDEP}]
+	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+	dev-python/packaging[${PYTHON_USEDEP}]
+	$(python_gen_cond_dep 'dev-python/pathlib2[${PYTHON_USEDEP}]' python3_5 )
+	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
+	<dev-python/pluggy-1
+	>=dev-python/py-${PY_VER}[${PYTHON_USEDEP}]
+	dev-python/six[${PYTHON_USEDEP}]
+	dev-python/wcwidth[${PYTHON_USEDEP}]
+	virtual/python-funcsigs[${PYTHON_USEDEP}]"
+
+# flake cause a number of tests to fail
+DEPEND="${RDEPEND}
+	test? (
+		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+		dev-python/nose[${PYTHON_USEDEP}]
+		dev-python/mock[${PYTHON_USEDEP}]
+		dev-python/requests[${PYTHON_USEDEP}]
+		>=dev-python/setuptools-40[${PYTHON_USEDEP}]
+		!!dev-python/flaky
+	)"
+
+PATCHES=(
+	"${FILESDIR}/${PN}"-4.5.0-strip-setuptools_scm.patch
+	"${FILESDIR}/${PN}"-5.0.1-test_xfail_rmdir.patch
+)
+
+python_prepare_all() {
+	grep -qF "py>=${PY_VER}" setup.py || die "Incorrect dev-python/py dependency"
+
+	# Something in the ebuild environment causes this to hang/error.
+	# https://bugs.gentoo.org/598442
+	rm testing/test_pdb.py || die
+
+	distutils-r1_python_prepare_all
+}
+
+python_test() {
+	"${EPYTHON}" "${BUILD_DIR}"/lib/pytest.py -vv --lsof -rfsxX \
+		|| die "tests failed with ${EPYTHON}"
+}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2022-01-28 21:50 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2022-01-28 21:50 UTC (permalink / raw
  To: gentoo-commits

commit:     fd729bdd54045325b203dc69b461bfa8de1b4920
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 28 20:53:59 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Jan 28 21:50:27 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fd729bdd

dev-python/pytest: Backport py3.10 test fixes

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/files/pytest-6.2.5-py310.patch | 81 ++++++++++++++++++++++++
 dev-python/pytest/pytest-6.2.5-r2.ebuild         |  5 ++
 2 files changed, 86 insertions(+)

diff --git a/dev-python/pytest/files/pytest-6.2.5-py310.patch b/dev-python/pytest/files/pytest-6.2.5-py310.patch
new file mode 100644
index 000000000000..89ca41954273
--- /dev/null
+++ b/dev-python/pytest/files/pytest-6.2.5-py310.patch
@@ -0,0 +1,81 @@
+From 5082686349185ef35f64d1a998a3062ee5a48771 Mon Sep 17 00:00:00 2001
+From: Ran Benita <ran@unusedvar.com>
+Date: Thu, 13 May 2021 17:27:43 +0300
+Subject: [PATCH 1/2] Merge pull request #8664 from
+ hroncok/test_unittest-ignore_DeprecationWarning-from-twisted
+
+Ignore DeprecationWarnings in test_trial_error
+
+(cherry picked from commit 850a8447792f89c7d38c72b2f542536655ab0354)
+---
+ testing/test_unittest.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/testing/test_unittest.py b/testing/test_unittest.py
+index 8b00cb826..de8fc5c55 100644
+--- a/testing/test_unittest.py
++++ b/testing/test_unittest.py
+@@ -533,7 +533,9 @@ class TestTrialUnittest:
+                 # will crash both at test time and at teardown
+         """
+         )
+-        result = testdir.runpytest("-vv", "-oconsole_output_style=classic")
++        result = testdir.runpytest(
++            "-vv", "-oconsole_output_style=classic", "-W", "ignore::DeprecationWarning"
++        )
+         result.stdout.fnmatch_lines(
+             [
+                 "test_trial_error.py::TC::test_four FAILED",
+-- 
+2.35.0
+
+From 932792c22a300fc7794f966851df2b996f4a79bc Mon Sep 17 00:00:00 2001
+From: Bruno Oliveira <nicoddemus@gmail.com>
+Date: Thu, 16 Dec 2021 10:37:52 -0300
+Subject: [PATCH 2/2] Merge pull request #9417 from
+ nicoddemus/fix-py3.10.1-9413
+
+(cherry picked from commit 47df71d23ff13bd083b21ffcf839bd11169b42fc)
+---
+ .github/workflows/main.yml | 4 ++--
+ testing/test_skipping.py   | 2 --
+ 2 files changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
+index 5a9435357..a8a6406c6 100644
+--- a/.github/workflows/main.yml
++++ b/.github/workflows/main.yml
+@@ -75,7 +75,7 @@ jobs:
+             os: windows-latest
+             tox_env: "py39-xdist"
+           - name: "windows-py310"
+-            python: "3.10-dev"
++            python: "3.10.1"
+             os: windows-latest
+             tox_env: "py310-xdist"
+ 
+@@ -105,7 +105,7 @@ jobs:
+             os: ubuntu-latest
+             tox_env: "py39-xdist"
+           - name: "ubuntu-py310"
+-            python: "3.10-dev"
++            python: "3.10.1"
+             os: ubuntu-latest
+             tox_env: "py310-xdist"
+           - name: "ubuntu-pypy3"
+diff --git a/testing/test_skipping.py b/testing/test_skipping.py
+index 3cb8bdff2..487793645 100644
+--- a/testing/test_skipping.py
++++ b/testing/test_skipping.py
+@@ -1126,8 +1126,6 @@ def test_errors_in_xfail_skip_expressions(pytester: Pytester) -> None:
+     pypy_version_info = getattr(sys, "pypy_version_info", None)
+     if pypy_version_info is not None and pypy_version_info < (6,):
+         markline = markline[5:]
+-    elif sys.version_info[:2] >= (3, 10):
+-        markline = markline[11:]
+     elif sys.version_info >= (3, 8) or hasattr(sys, "pypy_version_info"):
+         markline = markline[4:]
+ 
+-- 
+2.35.0
+

diff --git a/dev-python/pytest/pytest-6.2.5-r2.ebuild b/dev-python/pytest/pytest-6.2.5-r2.ebuild
index 51a2aecdd80a..e1ab42664254 100644
--- a/dev-python/pytest/pytest-6.2.5-r2.ebuild
+++ b/dev-python/pytest/pytest-6.2.5-r2.ebuild
@@ -38,6 +38,11 @@ BDEPEND="
 		dev-python/xmlschema[${PYTHON_USEDEP}]
 	)"
 
+PATCHES=(
+	# backport fixes for py3.10 test regressions
+	"${FILESDIR}"/${P}-py310.patch
+)
+
 src_test() {
 	# workaround new readline defaults
 	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2022-03-16  7:56 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2022-03-16  7:56 UTC (permalink / raw
  To: gentoo-commits

commit:     adb78041a0fd49478ce8514da9ab251fe4d2165e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Mar 16 07:55:13 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Mar 16 07:55:13 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=adb78041

dev-python/pytest: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/Manifest                       |  2 -
 dev-python/pytest/files/pytest-6.2.5-py310.patch | 81 ------------------------
 dev-python/pytest/pytest-6.2.5-r2.ebuild         | 77 ----------------------
 dev-python/pytest/pytest-6.2.5-r3.ebuild         | 80 -----------------------
 dev-python/pytest/pytest-7.0.0.ebuild            | 77 ----------------------
 5 files changed, 317 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 764480a08baa..a8123617ad28 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,3 +1 @@
-DIST pytest-6.2.5.tar.gz 1118720 BLAKE2B 9dfc87279617be58353566009325f929e6fa53d54fd4c665a75f3b359ab5415972d745a680eb85ab21ca9eaec84450bc1decd50566b0ccdf90d7551f3d03ee70 SHA512 7624563a9d967da4cbf82cfff90bae8c0cca07b32e291dc7c5efa787725ed1a255edd066bf0d5fbd89b8cbed8cf5b619fe7c7017f44a7f8a014e3310c06bdbf9
-DIST pytest-7.0.0.tar.gz 1247853 BLAKE2B 3af132da903252323086b21eb052d35973f1e81189972d7f1880a22c5dd8a2b779bf2450f394ef9b1e156b780bcf6f677a0b043db204bcb6038a9a85c7f393e6 SHA512 9e876575d89ee60eccc873b2551464cc8eb7f9abfc6d73b33913efef79906830bdbe08b182ae436f981950cc6384f494935aa6ecb0d63b82e3c9ded77f9655b9
 DIST pytest-7.0.1.tar.gz 1249154 BLAKE2B fcaef6afc6e98f6716a80f6451671b2abbf9ad676330a6e66e917a73e018eef966de8e7ef7ab48a1213167476eef1eb37cc5e84ec2bd9e5eab4ec6f1a8071c87 SHA512 21493717159a64fe6467bd096b578b127d81438d04f5b03ba2f4047237054f865a1f50a4e291b9d95b1a144f59bc7a8b3a00008493f4fb4f14bff7fb65c5edc2

diff --git a/dev-python/pytest/files/pytest-6.2.5-py310.patch b/dev-python/pytest/files/pytest-6.2.5-py310.patch
deleted file mode 100644
index 89ca41954273..000000000000
--- a/dev-python/pytest/files/pytest-6.2.5-py310.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 5082686349185ef35f64d1a998a3062ee5a48771 Mon Sep 17 00:00:00 2001
-From: Ran Benita <ran@unusedvar.com>
-Date: Thu, 13 May 2021 17:27:43 +0300
-Subject: [PATCH 1/2] Merge pull request #8664 from
- hroncok/test_unittest-ignore_DeprecationWarning-from-twisted
-
-Ignore DeprecationWarnings in test_trial_error
-
-(cherry picked from commit 850a8447792f89c7d38c72b2f542536655ab0354)
----
- testing/test_unittest.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/testing/test_unittest.py b/testing/test_unittest.py
-index 8b00cb826..de8fc5c55 100644
---- a/testing/test_unittest.py
-+++ b/testing/test_unittest.py
-@@ -533,7 +533,9 @@ class TestTrialUnittest:
-                 # will crash both at test time and at teardown
-         """
-         )
--        result = testdir.runpytest("-vv", "-oconsole_output_style=classic")
-+        result = testdir.runpytest(
-+            "-vv", "-oconsole_output_style=classic", "-W", "ignore::DeprecationWarning"
-+        )
-         result.stdout.fnmatch_lines(
-             [
-                 "test_trial_error.py::TC::test_four FAILED",
--- 
-2.35.0
-
-From 932792c22a300fc7794f966851df2b996f4a79bc Mon Sep 17 00:00:00 2001
-From: Bruno Oliveira <nicoddemus@gmail.com>
-Date: Thu, 16 Dec 2021 10:37:52 -0300
-Subject: [PATCH 2/2] Merge pull request #9417 from
- nicoddemus/fix-py3.10.1-9413
-
-(cherry picked from commit 47df71d23ff13bd083b21ffcf839bd11169b42fc)
----
- .github/workflows/main.yml | 4 ++--
- testing/test_skipping.py   | 2 --
- 2 files changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
-index 5a9435357..a8a6406c6 100644
---- a/.github/workflows/main.yml
-+++ b/.github/workflows/main.yml
-@@ -75,7 +75,7 @@ jobs:
-             os: windows-latest
-             tox_env: "py39-xdist"
-           - name: "windows-py310"
--            python: "3.10-dev"
-+            python: "3.10.1"
-             os: windows-latest
-             tox_env: "py310-xdist"
- 
-@@ -105,7 +105,7 @@ jobs:
-             os: ubuntu-latest
-             tox_env: "py39-xdist"
-           - name: "ubuntu-py310"
--            python: "3.10-dev"
-+            python: "3.10.1"
-             os: ubuntu-latest
-             tox_env: "py310-xdist"
-           - name: "ubuntu-pypy3"
-diff --git a/testing/test_skipping.py b/testing/test_skipping.py
-index 3cb8bdff2..487793645 100644
---- a/testing/test_skipping.py
-+++ b/testing/test_skipping.py
-@@ -1126,8 +1126,6 @@ def test_errors_in_xfail_skip_expressions(pytester: Pytester) -> None:
-     pypy_version_info = getattr(sys, "pypy_version_info", None)
-     if pypy_version_info is not None and pypy_version_info < (6,):
-         markline = markline[5:]
--    elif sys.version_info[:2] >= (3, 10):
--        markline = markline[11:]
-     elif sys.version_info >= (3, 8) or hasattr(sys, "pypy_version_info"):
-         markline = markline[4:]
- 
--- 
-2.35.0
-

diff --git a/dev-python/pytest/pytest-6.2.5-r2.ebuild b/dev-python/pytest/pytest-6.2.5-r2.ebuild
deleted file mode 100644
index 6679e63a6906..000000000000
--- a/dev-python/pytest/pytest-6.2.5-r2.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="https://pytest.org/"
-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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	>=dev-python/py-1.8.2[${PYTHON_USEDEP}]
-	dev-python/toml[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	>=dev-python/setuptools_scm-3.4[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/argcomplete[${PYTHON_USEDEP}]
-		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-		dev-python/xmlschema[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=(
-	# backport fixes for py3.10 test regressions
-	"${FILESDIR}"/${P}-py310.patch
-)
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	distutils_install_for_testing --via-root
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}

diff --git a/dev-python/pytest/pytest-6.2.5-r3.ebuild b/dev-python/pytest/pytest-6.2.5-r3.ebuild
deleted file mode 100644
index 888dfd1c2010..000000000000
--- a/dev-python/pytest/pytest-6.2.5-r3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="https://pytest.org/"
-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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	>=dev-python/py-1.8.2[${PYTHON_USEDEP}]
-	dev-python/toml[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	>=dev-python/setuptools_scm-3.4[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/argcomplete[${PYTHON_USEDEP}]
-		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-		dev-python/xmlschema[${PYTHON_USEDEP}]
-	)"
-
-PATCHES=(
-	# backport fixes for py3.10 test regressions
-	"${FILESDIR}"/${P}-py310.patch
-)
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
-		# unstable with xdist
-		testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}

diff --git a/dev-python/pytest/pytest-7.0.0.ebuild b/dev-python/pytest/pytest-7.0.0.ebuild
deleted file mode 100644
index fe5e5f664831..000000000000
--- a/dev-python/pytest/pytest-7.0.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="https://pytest.org/"
-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 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	>=dev-python/py-1.8.2[${PYTHON_USEDEP}]
-	>=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	>=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		dev-python/argcomplete[${PYTHON_USEDEP}]
-		>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-		dev-python/mock[${PYTHON_USEDEP}]
-		dev-python/nose[${PYTHON_USEDEP}]
-		>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
-		dev-python/pytest-xdist[${PYTHON_USEDEP}]
-		dev-python/requests[${PYTHON_USEDEP}]
-		dev-python/xmlschema[${PYTHON_USEDEP}]
-	)"
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	local -x COLUMNS=80
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
-		# unstable with xdist
-		testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2022-10-03  6:33 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2022-10-03  6:33 UTC (permalink / raw
  To: gentoo-commits

commit:     2ed34aac1837ca282b5445e96b1e34369e847928
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 06:27:07 2022 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 06:27:07 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2ed34aac

dev-python/pytest: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/Manifest                       |  1 -
 dev-python/pytest/files/pytest-7.1.2-py311.patch | 28 -------
 dev-python/pytest/pytest-7.1.2.ebuild            | 99 ------------------------
 3 files changed, 128 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index 98e0ec0edd4d..2713e5008b74 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,2 +1 @@
-DIST pytest-7.1.2.tar.gz 1256241 BLAKE2B c59e477ba52f2ff6f9885b91bbdc9b70dd4ffced3902417cd2e8cf28ba778e92ab5738f1be4d1c8c5c41c7140ac56622b6d44261d618426ae39fd00026bf139c SHA512 e61c9b0a8fc053626da307d6bac1f5caab451c4948ef7c7f2e2f991c3433a55f81ec0d9412fca646c02f22e695c71e873ee48fc0ab0aad337ce01b70628df494
 DIST pytest-7.1.3.tar.gz 1257801 BLAKE2B 39935fbfc9eb79a220324b8642e80225472a658f85fa8ef50b1dff5396dd30cfde22b2faf3909df0ba7d08ea14f548794974a7fd7670d7204e8d625ea5949630 SHA512 07a6b30fc90776dcd59972e2e4fc03ba02270bf1460faba765bfcf8b04888797be15a16a2ae947d97eb523250be200297d8a442870b3b6d56ae776b28fd18dce

diff --git a/dev-python/pytest/files/pytest-7.1.2-py311.patch b/dev-python/pytest/files/pytest-7.1.2-py311.patch
deleted file mode 100644
index ecae07b9ce24..000000000000
--- a/dev-python/pytest/files/pytest-7.1.2-py311.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 2f8ae29c173ea8335a1e0cc7027a76032429e8f9 Mon Sep 17 00:00:00 2001
-From: "github-actions[bot]"
- <41898282+github-actions[bot]@users.noreply.github.com>
-Date: Mon, 9 May 2022 13:38:22 +0000
-Subject: [PATCH] [7.1.x] testing: fix Path.rglob("") failures in Python 3.11b1
- (#9934)
-
-Co-authored-by: Ran Benita <ran@unusedvar.com>
----
- testing/test_conftest.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/testing/test_conftest.py b/testing/test_conftest.py
-index 680482045..d2bf860c6 100644
---- a/testing/test_conftest.py
-+++ b/testing/test_conftest.py
-@@ -553,7 +553,7 @@ class TestConftestVisibility:
-             )
-         )
-         print("created directory structure:")
--        for x in pytester.path.rglob(""):
-+        for x in pytester.path.glob("**/"):
-             print("   " + str(x.relative_to(pytester.path)))
- 
-         return {"runner": runner, "package": package, "swc": swc, "snc": snc}
--- 
-2.35.1
-

diff --git a/dev-python/pytest/pytest-7.1.2.ebuild b/dev-python/pytest/pytest-7.1.2.ebuild
deleted file mode 100644
index 877b50d9abda..000000000000
--- a/dev-python/pytest/pytest-7.1.2.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
-	https://pytest.org/
-	https://github.com/pytest-dev/pytest/
-	https://pypi.org/project/pytest/
-"
-SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~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 )"
-
-RDEPEND="
-	>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	>=dev-python/py-1.8.2[${PYTHON_USEDEP}]
-	>=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
-	>=dev-python/setuptools_scm-6.2.3[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		$(python_gen_cond_dep '
-			dev-python/argcomplete[${PYTHON_USEDEP}]
-			>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-			dev-python/mock[${PYTHON_USEDEP}]
-			>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
-			dev-python/pytest-xdist[${PYTHON_USEDEP}]
-			dev-python/requests[${PYTHON_USEDEP}]
-			dev-python/xmlschema[${PYTHON_USEDEP}]
-		' python3_{8..11} pypy3)
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}/${P}-py311.patch"
-)
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	if ! has "${EPYTHON}" python3.{8..11} pypy3; then
-		einfo "Skipping tests on ${EPYTHON}"
-		return
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	local -x COLUMNS=80
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
-		# unstable with xdist
-		testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-	)
-
-	[[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
-		# regressions on pypy3.9
-		# https://github.com/pytest-dev/pytest/issues/9787
-		testing/test_skipping.py::test_errors_in_xfail_skip_expressions
-		testing/test_unraisableexception.py
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2023-05-24  8:32 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2023-05-24  8:32 UTC (permalink / raw
  To: gentoo-commits

commit:     87b42bfe04e353b3e392d722f340ed48cf648af7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed May 24 08:20:56 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed May 24 08:22:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=87b42bfe

dev-python/pytest: Add a deprecation warning fix for py3.12

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/files/pytest-7.3.1-py312.patch   | 197 +++++++++++++++++++++
 ...{pytest-7.3.1.ebuild => pytest-7.3.1-r1.ebuild} |   8 +-
 dev-python/pytest/pytest-7.3.1.ebuild              |   2 +-
 3 files changed, 205 insertions(+), 2 deletions(-)

diff --git a/dev-python/pytest/files/pytest-7.3.1-py312.patch b/dev-python/pytest/files/pytest-7.3.1-py312.patch
new file mode 100644
index 000000000000..62a32e0cb7a6
--- /dev/null
+++ b/dev-python/pytest/files/pytest-7.3.1-py312.patch
@@ -0,0 +1,197 @@
+From b1ba5ff337300e4242fb961d8496474e4b739c9b Mon Sep 17 00:00:00 2001
+From: Ran Benita <ran@unusedvar.com>
+Date: Wed, 10 May 2023 10:36:09 +0300
+Subject: [PATCH] Avoid ast deprecation warnings on Python 3.12
+
+Fix #10977.
+---
+ src/_pytest/assertion/rewrite.py | 44 ++++++++++++++++++--------------
+ src/_pytest/mark/expression.py   |  8 +++++-
+ 2 files changed, 32 insertions(+), 20 deletions(-)
+
+diff --git a/src/_pytest/assertion/rewrite.py b/src/_pytest/assertion/rewrite.py
+index 8b182347052..2f9038ee132 100644
+--- a/src/_pytest/assertion/rewrite.py
++++ b/src/_pytest/assertion/rewrite.py
+@@ -46,8 +46,14 @@
+ 
+ if sys.version_info >= (3, 8):
+     namedExpr = ast.NamedExpr
++    astNameConstant = ast.Constant
++    astStr = ast.Constant
++    astNum = ast.Constant
+ else:
+     namedExpr = ast.Expr
++    astNameConstant = ast.NameConstant
++    astStr = ast.Str
++    astNum = ast.Num
+ 
+ 
+ assertstate_key = StashKey["AssertionState"]()
+@@ -680,7 +686,7 @@ def run(self, mod: ast.Module) -> None:
+             if (
+                 expect_docstring
+                 and isinstance(item, ast.Expr)
+-                and isinstance(item.value, ast.Str)
++                and isinstance(item.value, astStr)
+             ):
+                 doc = item.value.s
+                 if self.is_rewrite_disabled(doc):
+@@ -814,7 +820,7 @@ def pop_format_context(self, expl_expr: ast.expr) -> ast.Name:
+         current = self.stack.pop()
+         if self.stack:
+             self.explanation_specifiers = self.stack[-1]
+-        keys = [ast.Str(key) for key in current.keys()]
++        keys = [astStr(key) for key in current.keys()]
+         format_dict = ast.Dict(keys, list(current.values()))
+         form = ast.BinOp(expl_expr, ast.Mod(), format_dict)
+         name = "@py_format" + str(next(self.variable_counter))
+@@ -868,16 +874,16 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+         negation = ast.UnaryOp(ast.Not(), top_condition)
+ 
+         if self.enable_assertion_pass_hook:  # Experimental pytest_assertion_pass hook
+-            msg = self.pop_format_context(ast.Str(explanation))
++            msg = self.pop_format_context(astStr(explanation))
+ 
+             # Failed
+             if assert_.msg:
+                 assertmsg = self.helper("_format_assertmsg", assert_.msg)
+                 gluestr = "\n>assert "
+             else:
+-                assertmsg = ast.Str("")
++                assertmsg = astStr("")
+                 gluestr = "assert "
+-            err_explanation = ast.BinOp(ast.Str(gluestr), ast.Add(), msg)
++            err_explanation = ast.BinOp(astStr(gluestr), ast.Add(), msg)
+             err_msg = ast.BinOp(assertmsg, ast.Add(), err_explanation)
+             err_name = ast.Name("AssertionError", ast.Load())
+             fmt = self.helper("_format_explanation", err_msg)
+@@ -893,8 +899,8 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+             hook_call_pass = ast.Expr(
+                 self.helper(
+                     "_call_assertion_pass",
+-                    ast.Num(assert_.lineno),
+-                    ast.Str(orig),
++                    astNum(assert_.lineno),
++                    astStr(orig),
+                     fmt_pass,
+                 )
+             )
+@@ -913,7 +919,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+                 variables = [
+                     ast.Name(name, ast.Store()) for name in self.format_variables
+                 ]
+-                clear_format = ast.Assign(variables, ast.NameConstant(None))
++                clear_format = ast.Assign(variables, astNameConstant(None))
+                 self.statements.append(clear_format)
+ 
+         else:  # Original assertion rewriting
+@@ -924,9 +930,9 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+                 assertmsg = self.helper("_format_assertmsg", assert_.msg)
+                 explanation = "\n>assert " + explanation
+             else:
+-                assertmsg = ast.Str("")
++                assertmsg = astStr("")
+                 explanation = "assert " + explanation
+-            template = ast.BinOp(assertmsg, ast.Add(), ast.Str(explanation))
++            template = ast.BinOp(assertmsg, ast.Add(), astStr(explanation))
+             msg = self.pop_format_context(template)
+             fmt = self.helper("_format_explanation", msg)
+             err_name = ast.Name("AssertionError", ast.Load())
+@@ -938,7 +944,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+         # Clear temporary variables by setting them to None.
+         if self.variables:
+             variables = [ast.Name(name, ast.Store()) for name in self.variables]
+-            clear = ast.Assign(variables, ast.NameConstant(None))
++            clear = ast.Assign(variables, astNameConstant(None))
+             self.statements.append(clear)
+         # Fix locations (line numbers/column offsets).
+         for stmt in self.statements:
+@@ -952,20 +958,20 @@ def visit_NamedExpr(self, name: namedExpr) -> Tuple[namedExpr, str]:
+         # thinks it's acceptable.
+         locs = ast.Call(self.builtin("locals"), [], [])
+         target_id = name.target.id  # type: ignore[attr-defined]
+-        inlocs = ast.Compare(ast.Str(target_id), [ast.In()], [locs])
++        inlocs = ast.Compare(astStr(target_id), [ast.In()], [locs])
+         dorepr = self.helper("_should_repr_global_name", name)
+         test = ast.BoolOp(ast.Or(), [inlocs, dorepr])
+-        expr = ast.IfExp(test, self.display(name), ast.Str(target_id))
++        expr = ast.IfExp(test, self.display(name), astStr(target_id))
+         return name, self.explanation_param(expr)
+ 
+     def visit_Name(self, name: ast.Name) -> Tuple[ast.Name, str]:
+         # Display the repr of the name if it's a local variable or
+         # _should_repr_global_name() thinks it's acceptable.
+         locs = ast.Call(self.builtin("locals"), [], [])
+-        inlocs = ast.Compare(ast.Str(name.id), [ast.In()], [locs])
++        inlocs = ast.Compare(astStr(name.id), [ast.In()], [locs])
+         dorepr = self.helper("_should_repr_global_name", name)
+         test = ast.BoolOp(ast.Or(), [inlocs, dorepr])
+-        expr = ast.IfExp(test, self.display(name), ast.Str(name.id))
++        expr = ast.IfExp(test, self.display(name), astStr(name.id))
+         return name, self.explanation_param(expr)
+ 
+     def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
+@@ -1001,7 +1007,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
+             self.push_format_context()
+             res, expl = self.visit(v)
+             body.append(ast.Assign([ast.Name(res_var, ast.Store())], res))
+-            expl_format = self.pop_format_context(ast.Str(expl))
++            expl_format = self.pop_format_context(astStr(expl))
+             call = ast.Call(app, [expl_format], [])
+             self.expl_stmts.append(ast.Expr(call))
+             if i < levels:
+@@ -1013,7 +1019,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
+                 self.statements = body = inner
+         self.statements = save
+         self.expl_stmts = fail_save
+-        expl_template = self.helper("_format_boolop", expl_list, ast.Num(is_or))
++        expl_template = self.helper("_format_boolop", expl_list, astNum(is_or))
+         expl = self.pop_format_context(expl_template)
+         return ast.Name(res_var, ast.Load()), self.explanation_param(expl)
+ 
+@@ -1099,9 +1105,9 @@ def visit_Compare(self, comp: ast.Compare) -> Tuple[ast.expr, str]:
+                 next_expl = f"({next_expl})"
+             results.append(next_res)
+             sym = BINOP_MAP[op.__class__]
+-            syms.append(ast.Str(sym))
++            syms.append(astStr(sym))
+             expl = f"{left_expl} {sym} {next_expl}"
+-            expls.append(ast.Str(expl))
++            expls.append(astStr(expl))
+             res_expr = ast.Compare(left_res, [op], [next_res])
+             self.statements.append(ast.Assign([store_names[i]], res_expr))
+             left_res, left_expl = next_res, next_expl
+diff --git a/src/_pytest/mark/expression.py b/src/_pytest/mark/expression.py
+index f82a81d44c5..9287bcee50c 100644
+--- a/src/_pytest/mark/expression.py
++++ b/src/_pytest/mark/expression.py
+@@ -18,6 +18,7 @@
+ import dataclasses
+ import enum
+ import re
++import sys
+ import types
+ from typing import Callable
+ from typing import Iterator
+@@ -26,6 +27,11 @@
+ from typing import Optional
+ from typing import Sequence
+ 
++if sys.version_info >= (3, 8):
++    astNameConstant = ast.Constant
++else:
++    astNameConstant = ast.NameConstant
++
+ 
+ __all__ = [
+     "Expression",
+@@ -132,7 +138,7 @@ def reject(self, expected: Sequence[TokenType]) -> NoReturn:
+ 
+ def expression(s: Scanner) -> ast.Expression:
+     if s.accept(TokenType.EOF):
+-        ret: ast.expr = ast.NameConstant(False)
++        ret: ast.expr = astNameConstant(False)
+     else:
+         ret = expr(s)
+         s.accept(TokenType.EOF, reject=True)

diff --git a/dev-python/pytest/pytest-7.3.1.ebuild b/dev-python/pytest/pytest-7.3.1-r1.ebuild
similarity index 91%
copy from dev-python/pytest/pytest-7.3.1.ebuild
copy to dev-python/pytest/pytest-7.3.1-r1.ebuild
index c7ec76740a28..9a67884253d9 100644
--- a/dev-python/pytest/pytest-7.3.1.ebuild
+++ b/dev-python/pytest/pytest-7.3.1-r1.ebuild
@@ -18,7 +18,7 @@ HOMEPAGE="
 
 LICENSE="MIT"
 SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~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 ~loong ~m68k ~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 )"
 
@@ -49,6 +49,12 @@ BDEPEND="
 	)
 "
 
+PATCHES=(
+	# deprecation warning fix
+	# https://github.com/pytest-dev/pytest/pull/10894/
+	"${FILESDIR}/${P}-py312.patch"
+)
+
 src_test() {
 	# workaround new readline defaults
 	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die

diff --git a/dev-python/pytest/pytest-7.3.1.ebuild b/dev-python/pytest/pytest-7.3.1.ebuild
index c7ec76740a28..bfaa2a889c08 100644
--- a/dev-python/pytest/pytest-7.3.1.ebuild
+++ b/dev-python/pytest/pytest-7.3.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
 PYTHON_TESTED=( python3_{10..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
 
 inherit distutils-r1 multiprocessing pypi
 


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2023-05-29 10:50 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2023-05-29 10:50 UTC (permalink / raw
  To: gentoo-commits

commit:     293efaa50533bbe755ec0feb81e6c69f0883ac84
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 10:43:07 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon May 29 10:50:22 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=293efaa5

dev-python/pytest: Update py3.12 patch and enable tests

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/files/pytest-7.3.1-py312.patch   | 93 ++++++++++++++++++----
 ...test-7.3.1-r1.ebuild => pytest-7.3.1-r2.ebuild} |  4 +-
 2 files changed, 79 insertions(+), 18 deletions(-)

diff --git a/dev-python/pytest/files/pytest-7.3.1-py312.patch b/dev-python/pytest/files/pytest-7.3.1-py312.patch
index 62a32e0cb7a6..b38486248309 100644
--- a/dev-python/pytest/files/pytest-7.3.1-py312.patch
+++ b/dev-python/pytest/files/pytest-7.3.1-py312.patch
@@ -1,16 +1,16 @@
-From b1ba5ff337300e4242fb961d8496474e4b739c9b Mon Sep 17 00:00:00 2001
+From 653606791456f7e6412712bc26428b90092336b5 Mon Sep 17 00:00:00 2001
 From: Ran Benita <ran@unusedvar.com>
 Date: Wed, 10 May 2023 10:36:09 +0300
 Subject: [PATCH] Avoid ast deprecation warnings on Python 3.12
 
 Fix #10977.
 ---
- src/_pytest/assertion/rewrite.py | 44 ++++++++++++++++++--------------
+ src/_pytest/assertion/rewrite.py | 49 +++++++++++++++++++-------------
  src/_pytest/mark/expression.py   |  8 +++++-
- 2 files changed, 32 insertions(+), 20 deletions(-)
+ 2 files changed, 36 insertions(+), 21 deletions(-)
 
 diff --git a/src/_pytest/assertion/rewrite.py b/src/_pytest/assertion/rewrite.py
-index 8b182347052..2f9038ee132 100644
+index 8b182347052..00bb4feb94a 100644
 --- a/src/_pytest/assertion/rewrite.py
 +++ b/src/_pytest/assertion/rewrite.py
 @@ -46,8 +46,14 @@
@@ -28,16 +28,22 @@ index 8b182347052..2f9038ee132 100644
  
  
  assertstate_key = StashKey["AssertionState"]()
-@@ -680,7 +686,7 @@ def run(self, mod: ast.Module) -> None:
+@@ -680,9 +686,12 @@ def run(self, mod: ast.Module) -> None:
              if (
                  expect_docstring
                  and isinstance(item, ast.Expr)
 -                and isinstance(item.value, ast.Str)
 +                and isinstance(item.value, astStr)
              ):
-                 doc = item.value.s
+-                doc = item.value.s
++                if sys.version_info >= (3, 8):
++                    doc = item.value.value
++                else:
++                    doc = item.value.s
                  if self.is_rewrite_disabled(doc):
-@@ -814,7 +820,7 @@ def pop_format_context(self, expl_expr: ast.expr) -> ast.Name:
+                     return
+                 expect_docstring = False
+@@ -814,7 +823,7 @@ def pop_format_context(self, expl_expr: ast.expr) -> ast.Name:
          current = self.stack.pop()
          if self.stack:
              self.explanation_specifiers = self.stack[-1]
@@ -46,7 +52,7 @@ index 8b182347052..2f9038ee132 100644
          format_dict = ast.Dict(keys, list(current.values()))
          form = ast.BinOp(expl_expr, ast.Mod(), format_dict)
          name = "@py_format" + str(next(self.variable_counter))
-@@ -868,16 +874,16 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+@@ -868,16 +877,16 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
          negation = ast.UnaryOp(ast.Not(), top_condition)
  
          if self.enable_assertion_pass_hook:  # Experimental pytest_assertion_pass hook
@@ -66,7 +72,7 @@ index 8b182347052..2f9038ee132 100644
              err_msg = ast.BinOp(assertmsg, ast.Add(), err_explanation)
              err_name = ast.Name("AssertionError", ast.Load())
              fmt = self.helper("_format_explanation", err_msg)
-@@ -893,8 +899,8 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+@@ -893,8 +902,8 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
              hook_call_pass = ast.Expr(
                  self.helper(
                      "_call_assertion_pass",
@@ -77,7 +83,7 @@ index 8b182347052..2f9038ee132 100644
                      fmt_pass,
                  )
              )
-@@ -913,7 +919,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+@@ -913,7 +922,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
                  variables = [
                      ast.Name(name, ast.Store()) for name in self.format_variables
                  ]
@@ -86,7 +92,7 @@ index 8b182347052..2f9038ee132 100644
                  self.statements.append(clear_format)
  
          else:  # Original assertion rewriting
-@@ -924,9 +930,9 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+@@ -924,9 +933,9 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
                  assertmsg = self.helper("_format_assertmsg", assert_.msg)
                  explanation = "\n>assert " + explanation
              else:
@@ -98,7 +104,7 @@ index 8b182347052..2f9038ee132 100644
              msg = self.pop_format_context(template)
              fmt = self.helper("_format_explanation", msg)
              err_name = ast.Name("AssertionError", ast.Load())
-@@ -938,7 +944,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
+@@ -938,7 +947,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
          # Clear temporary variables by setting them to None.
          if self.variables:
              variables = [ast.Name(name, ast.Store()) for name in self.variables]
@@ -107,7 +113,7 @@ index 8b182347052..2f9038ee132 100644
              self.statements.append(clear)
          # Fix locations (line numbers/column offsets).
          for stmt in self.statements:
-@@ -952,20 +958,20 @@ def visit_NamedExpr(self, name: namedExpr) -> Tuple[namedExpr, str]:
+@@ -952,20 +961,20 @@ def visit_NamedExpr(self, name: namedExpr) -> Tuple[namedExpr, str]:
          # thinks it's acceptable.
          locs = ast.Call(self.builtin("locals"), [], [])
          target_id = name.target.id  # type: ignore[attr-defined]
@@ -132,7 +138,7 @@ index 8b182347052..2f9038ee132 100644
          return name, self.explanation_param(expr)
  
      def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
-@@ -1001,7 +1007,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
+@@ -1001,7 +1010,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
              self.push_format_context()
              res, expl = self.visit(v)
              body.append(ast.Assign([ast.Name(res_var, ast.Store())], res))
@@ -141,7 +147,7 @@ index 8b182347052..2f9038ee132 100644
              call = ast.Call(app, [expl_format], [])
              self.expl_stmts.append(ast.Expr(call))
              if i < levels:
-@@ -1013,7 +1019,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
+@@ -1013,7 +1022,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
                  self.statements = body = inner
          self.statements = save
          self.expl_stmts = fail_save
@@ -150,7 +156,7 @@ index 8b182347052..2f9038ee132 100644
          expl = self.pop_format_context(expl_template)
          return ast.Name(res_var, ast.Load()), self.explanation_param(expl)
  
-@@ -1099,9 +1105,9 @@ def visit_Compare(self, comp: ast.Compare) -> Tuple[ast.expr, str]:
+@@ -1099,9 +1108,9 @@ def visit_Compare(self, comp: ast.Compare) -> Tuple[ast.expr, str]:
                  next_expl = f"({next_expl})"
              results.append(next_res)
              sym = BINOP_MAP[op.__class__]
@@ -195,3 +201,58 @@ index f82a81d44c5..9287bcee50c 100644
      else:
          ret = expr(s)
          s.accept(TokenType.EOF, reject=True)
+From c945dba571025623a3ace7311d682e3e9448a161 Mon Sep 17 00:00:00 2001
+From: Ran Benita <ran@unusedvar.com>
+Date: Fri, 26 May 2023 20:28:21 +0300
+Subject: [PATCH] testing/python/collect: replace use of deprecated/removed
+ `imp` module
+
+---
+ testing/python/collect.py | 26 +++++++++++++++-----------
+ 1 file changed, 15 insertions(+), 11 deletions(-)
+
+diff --git a/testing/python/collect.py b/testing/python/collect.py
+index ac3edd395ab..52b34800965 100644
+--- a/testing/python/collect.py
++++ b/testing/python/collect.py
+@@ -897,25 +897,29 @@ def pytest_pycollect_makeitem(collector, name, obj):
+     def test_issue2369_collect_module_fileext(self, pytester: Pytester) -> None:
+         """Ensure we can collect files with weird file extensions as Python
+         modules (#2369)"""
+-        # We'll implement a little finder and loader to import files containing
++        # Implement a little meta path finder to import files containing
+         # Python source code whose file extension is ".narf".
+         pytester.makeconftest(
+             """
+-            import sys, os, imp
++            import sys
++            import os.path
++            from importlib.util import spec_from_loader
++            from importlib.machinery import SourceFileLoader
+             from _pytest.python import Module
+ 
+-            class Loader(object):
+-                def load_module(self, name):
+-                    return imp.load_source(name, name + ".narf")
+-            class Finder(object):
+-                def find_module(self, name, path=None):
+-                    if os.path.exists(name + ".narf"):
+-                        return Loader()
+-            sys.meta_path.append(Finder())
++            class MetaPathFinder:
++                def find_spec(self, fullname, path, target=None):
++                    if os.path.exists(fullname + ".narf"):
++                        return spec_from_loader(
++                            fullname,
++                            SourceFileLoader(fullname, fullname + ".narf"),
++                        )
++            sys.meta_path.append(MetaPathFinder())
+ 
+             def pytest_collect_file(file_path, parent):
+                 if file_path.suffix == ".narf":
+-                    return Module.from_parent(path=file_path, parent=parent)"""
++                    return Module.from_parent(path=file_path, parent=parent)
++            """
+         )
+         pytester.makefile(
+             ".narf",

diff --git a/dev-python/pytest/pytest-7.3.1-r1.ebuild b/dev-python/pytest/pytest-7.3.1-r2.ebuild
similarity index 97%
rename from dev-python/pytest/pytest-7.3.1-r1.ebuild
rename to dev-python/pytest/pytest-7.3.1-r2.ebuild
index a3d210483094..57889af9fc76 100644
--- a/dev-python/pytest/pytest-7.3.1-r1.ebuild
+++ b/dev-python/pytest/pytest-7.3.1-r2.ebuild
@@ -4,8 +4,8 @@
 EAPI=8
 
 DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 )
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
 
 inherit distutils-r1 multiprocessing pypi
 


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2023-07-05  8:03 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2023-07-05  8:03 UTC (permalink / raw
  To: gentoo-commits

commit:     d10512d815a7d64cf54b5ba34eaa5fcca152eda4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  5 08:02:07 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Jul  5 08:03:42 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d10512d8

dev-python/pytest: Remove old

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/pytest/Manifest                       |   1 -
 dev-python/pytest/files/pytest-7.3.1-py312.patch | 258 -----------------------
 dev-python/pytest/pytest-7.3.1-r2.ebuild         | 113 ----------
 dev-python/pytest/pytest-7.3.1.ebuild            | 107 ----------
 4 files changed, 479 deletions(-)

diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index b5382006fb4e..033250f3e1de 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,3 +1,2 @@
-DIST pytest-7.3.1.tar.gz 1336938 BLAKE2B 8cabc475056000e393538c6c52e2ee5a9af6c57831c6aba82e3107ae44f88b63a68b37339842eebfa318bd27d4bf5e34959b72052d4646cc8682c84f131f98e7 SHA512 e6c8fcf1449f5e09e33c01ec2ade8812ceb13440324179288b8ca0eeaaffed1e581a65c8acf4c28efe61c19a067e7ceddccc45d8a1582c89259d53fee25ab253
 DIST pytest-7.3.2.tar.gz 1338457 BLAKE2B 4aa6ad62f654df9373427d9c19d92565a7da8d65460ee0872a30d4235e72af1ee3155871d7f7157b8e9c1173fc40bcdb87acab2b7bffdc6255cf8509e7a0bba3 SHA512 910de83f6ce47e7b1b25947050cf79e055ab04fd0c3dc3276546415684c20c8977883f16dfb913de3f339bc6284330f8a57d202c73f92b92545e45acb353b264
 DIST pytest-7.4.0.tar.gz 1349733 BLAKE2B 59b9e90ab226dd317a5beeb0b189d0e323379e781dcca3fc7aa37ab7ef6d623a25f6f50e4b648cd274bdbc202e914fd393749d093a4c9d8c2f19124403d6b4fe SHA512 48caca22c77e03cb3bca04d2f11695c48868433e6966b6f652f414b3b4405cb9dfba1ebdfd66060ba6add45609ec27b2eddd81d3739ef8e84a51b9da3c6f6099

diff --git a/dev-python/pytest/files/pytest-7.3.1-py312.patch b/dev-python/pytest/files/pytest-7.3.1-py312.patch
deleted file mode 100644
index b38486248309..000000000000
--- a/dev-python/pytest/files/pytest-7.3.1-py312.patch
+++ /dev/null
@@ -1,258 +0,0 @@
-From 653606791456f7e6412712bc26428b90092336b5 Mon Sep 17 00:00:00 2001
-From: Ran Benita <ran@unusedvar.com>
-Date: Wed, 10 May 2023 10:36:09 +0300
-Subject: [PATCH] Avoid ast deprecation warnings on Python 3.12
-
-Fix #10977.
----
- src/_pytest/assertion/rewrite.py | 49 +++++++++++++++++++-------------
- src/_pytest/mark/expression.py   |  8 +++++-
- 2 files changed, 36 insertions(+), 21 deletions(-)
-
-diff --git a/src/_pytest/assertion/rewrite.py b/src/_pytest/assertion/rewrite.py
-index 8b182347052..00bb4feb94a 100644
---- a/src/_pytest/assertion/rewrite.py
-+++ b/src/_pytest/assertion/rewrite.py
-@@ -46,8 +46,14 @@
- 
- if sys.version_info >= (3, 8):
-     namedExpr = ast.NamedExpr
-+    astNameConstant = ast.Constant
-+    astStr = ast.Constant
-+    astNum = ast.Constant
- else:
-     namedExpr = ast.Expr
-+    astNameConstant = ast.NameConstant
-+    astStr = ast.Str
-+    astNum = ast.Num
- 
- 
- assertstate_key = StashKey["AssertionState"]()
-@@ -680,9 +686,12 @@ def run(self, mod: ast.Module) -> None:
-             if (
-                 expect_docstring
-                 and isinstance(item, ast.Expr)
--                and isinstance(item.value, ast.Str)
-+                and isinstance(item.value, astStr)
-             ):
--                doc = item.value.s
-+                if sys.version_info >= (3, 8):
-+                    doc = item.value.value
-+                else:
-+                    doc = item.value.s
-                 if self.is_rewrite_disabled(doc):
-                     return
-                 expect_docstring = False
-@@ -814,7 +823,7 @@ def pop_format_context(self, expl_expr: ast.expr) -> ast.Name:
-         current = self.stack.pop()
-         if self.stack:
-             self.explanation_specifiers = self.stack[-1]
--        keys = [ast.Str(key) for key in current.keys()]
-+        keys = [astStr(key) for key in current.keys()]
-         format_dict = ast.Dict(keys, list(current.values()))
-         form = ast.BinOp(expl_expr, ast.Mod(), format_dict)
-         name = "@py_format" + str(next(self.variable_counter))
-@@ -868,16 +877,16 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
-         negation = ast.UnaryOp(ast.Not(), top_condition)
- 
-         if self.enable_assertion_pass_hook:  # Experimental pytest_assertion_pass hook
--            msg = self.pop_format_context(ast.Str(explanation))
-+            msg = self.pop_format_context(astStr(explanation))
- 
-             # Failed
-             if assert_.msg:
-                 assertmsg = self.helper("_format_assertmsg", assert_.msg)
-                 gluestr = "\n>assert "
-             else:
--                assertmsg = ast.Str("")
-+                assertmsg = astStr("")
-                 gluestr = "assert "
--            err_explanation = ast.BinOp(ast.Str(gluestr), ast.Add(), msg)
-+            err_explanation = ast.BinOp(astStr(gluestr), ast.Add(), msg)
-             err_msg = ast.BinOp(assertmsg, ast.Add(), err_explanation)
-             err_name = ast.Name("AssertionError", ast.Load())
-             fmt = self.helper("_format_explanation", err_msg)
-@@ -893,8 +902,8 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
-             hook_call_pass = ast.Expr(
-                 self.helper(
-                     "_call_assertion_pass",
--                    ast.Num(assert_.lineno),
--                    ast.Str(orig),
-+                    astNum(assert_.lineno),
-+                    astStr(orig),
-                     fmt_pass,
-                 )
-             )
-@@ -913,7 +922,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
-                 variables = [
-                     ast.Name(name, ast.Store()) for name in self.format_variables
-                 ]
--                clear_format = ast.Assign(variables, ast.NameConstant(None))
-+                clear_format = ast.Assign(variables, astNameConstant(None))
-                 self.statements.append(clear_format)
- 
-         else:  # Original assertion rewriting
-@@ -924,9 +933,9 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
-                 assertmsg = self.helper("_format_assertmsg", assert_.msg)
-                 explanation = "\n>assert " + explanation
-             else:
--                assertmsg = ast.Str("")
-+                assertmsg = astStr("")
-                 explanation = "assert " + explanation
--            template = ast.BinOp(assertmsg, ast.Add(), ast.Str(explanation))
-+            template = ast.BinOp(assertmsg, ast.Add(), astStr(explanation))
-             msg = self.pop_format_context(template)
-             fmt = self.helper("_format_explanation", msg)
-             err_name = ast.Name("AssertionError", ast.Load())
-@@ -938,7 +947,7 @@ def visit_Assert(self, assert_: ast.Assert) -> List[ast.stmt]:
-         # Clear temporary variables by setting them to None.
-         if self.variables:
-             variables = [ast.Name(name, ast.Store()) for name in self.variables]
--            clear = ast.Assign(variables, ast.NameConstant(None))
-+            clear = ast.Assign(variables, astNameConstant(None))
-             self.statements.append(clear)
-         # Fix locations (line numbers/column offsets).
-         for stmt in self.statements:
-@@ -952,20 +961,20 @@ def visit_NamedExpr(self, name: namedExpr) -> Tuple[namedExpr, str]:
-         # thinks it's acceptable.
-         locs = ast.Call(self.builtin("locals"), [], [])
-         target_id = name.target.id  # type: ignore[attr-defined]
--        inlocs = ast.Compare(ast.Str(target_id), [ast.In()], [locs])
-+        inlocs = ast.Compare(astStr(target_id), [ast.In()], [locs])
-         dorepr = self.helper("_should_repr_global_name", name)
-         test = ast.BoolOp(ast.Or(), [inlocs, dorepr])
--        expr = ast.IfExp(test, self.display(name), ast.Str(target_id))
-+        expr = ast.IfExp(test, self.display(name), astStr(target_id))
-         return name, self.explanation_param(expr)
- 
-     def visit_Name(self, name: ast.Name) -> Tuple[ast.Name, str]:
-         # Display the repr of the name if it's a local variable or
-         # _should_repr_global_name() thinks it's acceptable.
-         locs = ast.Call(self.builtin("locals"), [], [])
--        inlocs = ast.Compare(ast.Str(name.id), [ast.In()], [locs])
-+        inlocs = ast.Compare(astStr(name.id), [ast.In()], [locs])
-         dorepr = self.helper("_should_repr_global_name", name)
-         test = ast.BoolOp(ast.Or(), [inlocs, dorepr])
--        expr = ast.IfExp(test, self.display(name), ast.Str(name.id))
-+        expr = ast.IfExp(test, self.display(name), astStr(name.id))
-         return name, self.explanation_param(expr)
- 
-     def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
-@@ -1001,7 +1010,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
-             self.push_format_context()
-             res, expl = self.visit(v)
-             body.append(ast.Assign([ast.Name(res_var, ast.Store())], res))
--            expl_format = self.pop_format_context(ast.Str(expl))
-+            expl_format = self.pop_format_context(astStr(expl))
-             call = ast.Call(app, [expl_format], [])
-             self.expl_stmts.append(ast.Expr(call))
-             if i < levels:
-@@ -1013,7 +1022,7 @@ def visit_BoolOp(self, boolop: ast.BoolOp) -> Tuple[ast.Name, str]:
-                 self.statements = body = inner
-         self.statements = save
-         self.expl_stmts = fail_save
--        expl_template = self.helper("_format_boolop", expl_list, ast.Num(is_or))
-+        expl_template = self.helper("_format_boolop", expl_list, astNum(is_or))
-         expl = self.pop_format_context(expl_template)
-         return ast.Name(res_var, ast.Load()), self.explanation_param(expl)
- 
-@@ -1099,9 +1108,9 @@ def visit_Compare(self, comp: ast.Compare) -> Tuple[ast.expr, str]:
-                 next_expl = f"({next_expl})"
-             results.append(next_res)
-             sym = BINOP_MAP[op.__class__]
--            syms.append(ast.Str(sym))
-+            syms.append(astStr(sym))
-             expl = f"{left_expl} {sym} {next_expl}"
--            expls.append(ast.Str(expl))
-+            expls.append(astStr(expl))
-             res_expr = ast.Compare(left_res, [op], [next_res])
-             self.statements.append(ast.Assign([store_names[i]], res_expr))
-             left_res, left_expl = next_res, next_expl
-diff --git a/src/_pytest/mark/expression.py b/src/_pytest/mark/expression.py
-index f82a81d44c5..9287bcee50c 100644
---- a/src/_pytest/mark/expression.py
-+++ b/src/_pytest/mark/expression.py
-@@ -18,6 +18,7 @@
- import dataclasses
- import enum
- import re
-+import sys
- import types
- from typing import Callable
- from typing import Iterator
-@@ -26,6 +27,11 @@
- from typing import Optional
- from typing import Sequence
- 
-+if sys.version_info >= (3, 8):
-+    astNameConstant = ast.Constant
-+else:
-+    astNameConstant = ast.NameConstant
-+
- 
- __all__ = [
-     "Expression",
-@@ -132,7 +138,7 @@ def reject(self, expected: Sequence[TokenType]) -> NoReturn:
- 
- def expression(s: Scanner) -> ast.Expression:
-     if s.accept(TokenType.EOF):
--        ret: ast.expr = ast.NameConstant(False)
-+        ret: ast.expr = astNameConstant(False)
-     else:
-         ret = expr(s)
-         s.accept(TokenType.EOF, reject=True)
-From c945dba571025623a3ace7311d682e3e9448a161 Mon Sep 17 00:00:00 2001
-From: Ran Benita <ran@unusedvar.com>
-Date: Fri, 26 May 2023 20:28:21 +0300
-Subject: [PATCH] testing/python/collect: replace use of deprecated/removed
- `imp` module
-
----
- testing/python/collect.py | 26 +++++++++++++++-----------
- 1 file changed, 15 insertions(+), 11 deletions(-)
-
-diff --git a/testing/python/collect.py b/testing/python/collect.py
-index ac3edd395ab..52b34800965 100644
---- a/testing/python/collect.py
-+++ b/testing/python/collect.py
-@@ -897,25 +897,29 @@ def pytest_pycollect_makeitem(collector, name, obj):
-     def test_issue2369_collect_module_fileext(self, pytester: Pytester) -> None:
-         """Ensure we can collect files with weird file extensions as Python
-         modules (#2369)"""
--        # We'll implement a little finder and loader to import files containing
-+        # Implement a little meta path finder to import files containing
-         # Python source code whose file extension is ".narf".
-         pytester.makeconftest(
-             """
--            import sys, os, imp
-+            import sys
-+            import os.path
-+            from importlib.util import spec_from_loader
-+            from importlib.machinery import SourceFileLoader
-             from _pytest.python import Module
- 
--            class Loader(object):
--                def load_module(self, name):
--                    return imp.load_source(name, name + ".narf")
--            class Finder(object):
--                def find_module(self, name, path=None):
--                    if os.path.exists(name + ".narf"):
--                        return Loader()
--            sys.meta_path.append(Finder())
-+            class MetaPathFinder:
-+                def find_spec(self, fullname, path, target=None):
-+                    if os.path.exists(fullname + ".narf"):
-+                        return spec_from_loader(
-+                            fullname,
-+                            SourceFileLoader(fullname, fullname + ".narf"),
-+                        )
-+            sys.meta_path.append(MetaPathFinder())
- 
-             def pytest_collect_file(file_path, parent):
-                 if file_path.suffix == ".narf":
--                    return Module.from_parent(path=file_path, parent=parent)"""
-+                    return Module.from_parent(path=file_path, parent=parent)
-+            """
-         )
-         pytester.makefile(
-             ".narf",

diff --git a/dev-python/pytest/pytest-7.3.1-r2.ebuild b/dev-python/pytest/pytest-7.3.1-r2.ebuild
deleted file mode 100644
index 57889af9fc76..000000000000
--- a/dev-python/pytest/pytest-7.3.1-r2.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
-	https://pytest.org/
-	https://github.com/pytest-dev/pytest/
-	https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		>=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
-		>=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
-	' 3.{9..10})
-"
-BDEPEND="
-	>=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		$(python_gen_cond_dep '
-			dev-python/argcomplete[${PYTHON_USEDEP}]
-			>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-			>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-			dev-python/mock[${PYTHON_USEDEP}]
-			>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
-			dev-python/pytest-xdist[${PYTHON_USEDEP}]
-			dev-python/requests[${PYTHON_USEDEP}]
-			dev-python/xmlschema[${PYTHON_USEDEP}]
-		' "${PYTHON_TESTED[@]}")
-	)
-"
-
-PATCHES=(
-	# deprecation warning fix
-	# https://github.com/pytest-dev/pytest/pull/10894/
-	"${FILESDIR}/${P}-py312.patch"
-)
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
-		einfo "Skipping tests on ${EPYTHON}"
-		return
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	local -x COLUMNS=80
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
-		# unstable with xdist
-		testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
-		# TODO (XPASS)
-		testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
-		testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
-		testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
-		testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
-		testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
-		# setuptools warnings
-		testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-	)
-
-	[[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
-		# regressions on pypy3.9
-		# https://github.com/pytest-dev/pytest/issues/9787
-		testing/test_skipping.py::test_errors_in_xfail_skip_expressions
-		testing/test_unraisableexception.py
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs)"
-}

diff --git a/dev-python/pytest/pytest-7.3.1.ebuild b/dev-python/pytest/pytest-7.3.1.ebuild
deleted file mode 100644
index b3211790c11a..000000000000
--- a/dev-python/pytest/pytest-7.3.1.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
-	https://pytest.org/
-	https://github.com/pytest-dev/pytest/
-	https://pypi.org/project/pytest/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
-	dev-python/iniconfig[${PYTHON_USEDEP}]
-	>=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
-	dev-python/packaging[${PYTHON_USEDEP}]
-	>=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
-	$(python_gen_cond_dep '
-		>=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
-		>=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
-	' 3.{9..10})
-"
-BDEPEND="
-	>=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
-	test? (
-		${RDEPEND}
-		$(python_gen_cond_dep '
-			dev-python/argcomplete[${PYTHON_USEDEP}]
-			>=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
-			>=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
-			dev-python/mock[${PYTHON_USEDEP}]
-			>=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
-			dev-python/pytest-xdist[${PYTHON_USEDEP}]
-			dev-python/requests[${PYTHON_USEDEP}]
-			dev-python/xmlschema[${PYTHON_USEDEP}]
-		' "${PYTHON_TESTED[@]}")
-	)
-"
-
-src_test() {
-	# workaround new readline defaults
-	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
-	local -x INPUTRC="${T}"/inputrc
-	distutils-r1_src_test
-}
-
-python_test() {
-	if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
-		einfo "Skipping tests on ${EPYTHON}"
-		return
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	local -x COLUMNS=80
-
-	local EPYTEST_DESELECT=(
-		# broken by epytest args
-		testing/test_warnings.py::test_works_with_filterwarnings
-
-		# tend to be broken by random pytest plugins
-		# (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
-		testing/test_helpconfig.py::test_version_less_verbose
-		testing/test_helpconfig.py::test_version_verbose
-		testing/test_junitxml.py::test_random_report_log_xdist
-		testing/test_junitxml.py::test_runs_twice_xdist
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
-		testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
-		testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
-		testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
-		testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
-		# unstable with xdist
-		testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
-		# TODO (XPASS)
-		testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
-		testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
-		testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
-		testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
-		testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
-		# setuptools warnings
-		testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
-	)
-
-	[[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
-		# regressions on pypy3.9
-		# https://github.com/pytest-dev/pytest/issues/9787
-		testing/test_skipping.py::test_errors_in_xfail_skip_expressions
-		testing/test_unraisableexception.py
-	)
-
-	epytest -p xdist -n "$(makeopts_jobs)"
-}


^ permalink raw reply related	[flat|nested] 16+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/
@ 2023-11-25 11:14 Michał Górny
  0 siblings, 0 replies; 16+ messages in thread
From: Michał Górny @ 2023-11-25 11:14 UTC (permalink / raw
  To: gentoo-commits

commit:     fcca491b9ad76cda470f80c647bf2d3576583e5f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 25 11:09:56 2023 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sat Nov 25 11:14:21 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fcca491b

dev-python/pytest: Fix running tests with NO_COLOR set

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../pytest/files/pytest-7.4.3-no-color.patch       | 37 ++++++++++++++++++++++
 dev-python/pytest/pytest-7.4.3.ebuild              |  5 +++
 2 files changed, 42 insertions(+)

diff --git a/dev-python/pytest/files/pytest-7.4.3-no-color.patch b/dev-python/pytest/files/pytest-7.4.3-no-color.patch
new file mode 100644
index 000000000000..a6fa02472252
--- /dev/null
+++ b/dev-python/pytest/files/pytest-7.4.3-no-color.patch
@@ -0,0 +1,37 @@
+From ce93a8ad7a11d1e9be76ce6af0d510f935622c1f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 25 Nov 2023 12:09:32 +0100
+Subject: [PATCH] Reset color-related envvars for testing
+
+Reset color-related environment variables in a fixture to prevent them
+from affecting test results.  Otherwise, some of the tests fail
+e.g. if NO_COLOR is set in the calling environment.
+---
+ testing/conftest.py | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+diff --git a/testing/conftest.py b/testing/conftest.py
+index 2a3ce5203..612777304 100644
+--- a/testing/conftest.py
++++ b/testing/conftest.py
+@@ -30,6 +30,17 @@ def set_column_width(monkeypatch: pytest.MonkeyPatch) -> None:
+     monkeypatch.setenv("COLUMNS", "80")
+ 
+ 
++@pytest.fixture(autouse=True)
++def reset_colors(monkeypatch: pytest.MonkeyPatch) -> None:
++    """
++    Reset all color-related variables to prevent them from affecting internal pytest output
++    in tests that depend on it.
++    """
++    monkeypatch.delenv("PY_COLORS", raising=False)
++    monkeypatch.delenv("NO_COLOR", raising=False)
++    monkeypatch.delenv("FORCE_COLOR", raising=False)
++
++
+ @pytest.hookimpl(hookwrapper=True, tryfirst=True)
+ def pytest_collection_modifyitems(items):
+     """Prefer faster tests.
+-- 
+2.43.0
+

diff --git a/dev-python/pytest/pytest-7.4.3.ebuild b/dev-python/pytest/pytest-7.4.3.ebuild
index 34cc63f9e938..55eb8e448514 100644
--- a/dev-python/pytest/pytest-7.4.3.ebuild
+++ b/dev-python/pytest/pytest-7.4.3.ebuild
@@ -49,6 +49,11 @@ BDEPEND="
 	)
 "
 
+PATCHES=(
+	# https://github.com/pytest-dev/pytest/pull/11638
+	"${FILESDIR}/${P}-no-color.patch"
+)
+
 src_test() {
 	# workaround new readline defaults
 	echo "set enable-bracketed-paste off" > "${T}"/inputrc || die


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2023-11-25 11:14 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-05  8:03 [gentoo-commits] repo/gentoo:master commit in: dev-python/pytest/files/, dev-python/pytest/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2023-11-25 11:14 Michał Górny
2023-05-29 10:50 Michał Górny
2023-05-24  8:32 Michał Górny
2022-10-03  6:33 Michał Górny
2022-03-16  7:56 Michał Górny
2022-01-28 21:50 Michał Górny
2019-07-26  1:29 Georgy Yakovlev
2019-05-15 16:11 Virgil Dupras
2019-01-10  1:15 Virgil Dupras
2018-07-16  9:26 Michał Górny
2017-01-30 18:56 Lars Wendler
2016-03-20 10:19 Dirkjan Ochtman
2016-01-25 15:11 Justin Lecher
2015-12-13 14:05 Justin Lecher
2015-11-20 11:29 Justin Lecher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox