public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/executing/, dev-python/executing/files/
@ 2023-11-07 20:35 Sam James
  0 siblings, 0 replies; 4+ messages in thread
From: Sam James @ 2023-11-07 20:35 UTC (permalink / raw
  To: gentoo-commits

commit:     930c475d8ab0820f3808e02275ba630caf9a414c
Author:     Matoro Mahri <matoro_gentoo <AT> matoro <DOT> tk>
AuthorDate: Mon Nov  6 21:22:47 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov  7 20:33:58 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=930c475d

dev-python/executing: add patch for new slow tests

The original skips are technically for tests that take a long time to
run, which these aren't really - they just fail if run under a
sufficiently slow CPU since they are measuring a hard real-time
benchmark.  Already accepted upstream.

See: https://github.com/alexmojaki/executing/pull/78
Bug: https://bugs.gentoo.org/909738
Signed-off-by: Matoro Mahri <matoro_gentoo <AT> matoro.tk>
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/executing/executing-2.0.1.ebuild        |  2 ++
 .../executing-2.0.1-additional-slow-tests.patch    | 38 ++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/dev-python/executing/executing-2.0.1.ebuild b/dev-python/executing/executing-2.0.1.ebuild
index a5e4ed0cc8c8..3e29d488d602 100644
--- a/dev-python/executing/executing-2.0.1.ebuild
+++ b/dev-python/executing/executing-2.0.1.ebuild
@@ -32,6 +32,8 @@ BDEPEND="
 	)
 "
 
+PATCHES=( "${FILESDIR}/${PN}-2.0.1-additional-slow-tests.patch" )
+
 distutils_enable_tests pytest
 
 export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}

diff --git a/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
new file mode 100644
index 000000000000..36346e7363fb
--- /dev/null
+++ b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
@@ -0,0 +1,38 @@
+https://bugs.gentoo.org/show_bug.cgi?id=909738
+https://github.com/alexmojaki/executing/pull/78
+
+From 9990d20a28d46e8a911c370a019f9231cad977f0 Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Sun, 5 Nov 2023 19:54:34 -0500
+Subject: [PATCH] Add many_calls tests to EXECUTING_SLOW_TESTS
+
+---
+ tests/test_main.py | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/tests/test_main.py b/tests/test_main.py
+index 7e33247..bc015cd 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -279,6 +279,10 @@ def test_future_import(self):
+         print(1 / 2)
+         tester(4)
+ 
++    @pytest.mark.skipif(
++        not os.getenv("EXECUTING_SLOW_TESTS"),
++        reason="These tests are very slow, enable them explicitly",
++    )
+     def test_many_calls(self):
+         node = None
+         start = time.time()
+@@ -290,6 +294,10 @@ def test_many_calls(self):
+                 self.assertIs(node, new_node)
+         self.assertLess(time.time() - start, 1)
+ 
++    @pytest.mark.skipif(
++        not os.getenv("EXECUTING_SLOW_TESTS"),
++        reason="These tests are very slow, enable them explicitly",
++    )
+     def test_many_source_for_filename_calls(self):
+         source = None
+         start = time.time()


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/executing/, dev-python/executing/files/
@ 2024-09-30 15:31 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2024-09-30 15:31 UTC (permalink / raw
  To: gentoo-commits

commit:     055992b7b4fd2f89ea0a26d4f96ff83687b9c8e7
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 30 15:29:15 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Sep 30 15:29:15 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=055992b7

dev-python/executing: Add a fix for Python 3.12.6

Closes: https://bugs.gentoo.org/940505
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 dev-python/executing/executing-2.1.0-r1.ebuild     |  65 ++++++++
 .../executing/files/executing-2.1.0-py3126.patch   | 178 +++++++++++++++++++++
 2 files changed, 243 insertions(+)

diff --git a/dev-python/executing/executing-2.1.0-r1.ebuild b/dev-python/executing/executing-2.1.0-r1.ebuild
new file mode 100644
index 000000000000..36658d7db6e3
--- /dev/null
+++ b/dev-python/executing/executing-2.1.0-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Get information about what a Python frame is currently doing"
+HOMEPAGE="
+	https://github.com/alexmojaki/executing/
+	https://pypi.org/project/executing/
+"
+SRC_URI="
+	https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
+		-> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+	dev-python/setuptools-scm[${PYTHON_USEDEP}]
+	test? (
+		>=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
+		dev-python/littleutils[${PYTHON_USEDEP}]
+		dev-python/rich[${PYTHON_USEDEP}]
+	)
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+	# https://github.com/alexmojaki/executing/pull/86
+	"${FILESDIR}/${P}-py3126.patch"
+)
+
+python_test() {
+	local EPYTEST_DESELECT=()
+	case ${EPYTHON} in
+		pypy3)
+			EPYTEST_DESELECT+=(
+				"tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
+				"tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
+			)
+			;;
+	esac
+	if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
+		EPYTEST_DESELECT+=(
+			tests/test_ipython.py
+		)
+	fi
+
+	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+	epytest
+}
+
+pkg_postinst() {
+	optfeature "getting node's source code" dev-python/asttokens
+}

diff --git a/dev-python/executing/files/executing-2.1.0-py3126.patch b/dev-python/executing/files/executing-2.1.0-py3126.patch
new file mode 100644
index 000000000000..7c3b96d0b568
--- /dev/null
+++ b/dev-python/executing/files/executing-2.1.0-py3126.patch
@@ -0,0 +1,178 @@
+From 4acebfaa89196785ccc893d56b97ac8598c30e71 Mon Sep 17 00:00:00 2001
+From: Frank Hoffmann <15r10nk-git@polarbit.de>
+Date: Mon, 26 Aug 2024 21:43:13 +0200
+Subject: [PATCH 1/2] fix: backward compatibility fix for changed source
+ positions in 3.12.6 (#85)
+
+---
+ executing/_position_node_finder.py | 15 +++++++++++++++
+ tests/generate_small_sample.py     |  9 ++++++---
+ tests/test_main.py                 |  5 +++++
+ 3 files changed, 26 insertions(+), 3 deletions(-)
+
+diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
+index 7a81415..c923822 100644
+--- a/executing/_position_node_finder.py
++++ b/executing/_position_node_finder.py
+@@ -242,6 +242,21 @@ def fix_result(
+             # keeping the old behaviour makes it possible to distinguish both cases.
+ 
+             return node.parent
++
++        if (
++            sys.version_info >= (3, 12, 6)
++            and instruction.opname in ("GET_ITER", "FOR_ITER")
++            and isinstance(
++                node.parent.parent,
++                (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp),
++            )
++            and isinstance(node.parent,ast.comprehension)
++            and node is node.parent.iter
++        ):
++            # same as above but only for comprehensions, see:
++            # https://github.com/python/cpython/issues/123142
++
++            return node.parent.parent
+         return node
+ 
+     def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
+diff --git a/tests/generate_small_sample.py b/tests/generate_small_sample.py
+index 89c7477..573d17a 100644
+--- a/tests/generate_small_sample.py
++++ b/tests/generate_small_sample.py
+@@ -18,6 +18,7 @@
+ from rich.syntax import Syntax
+ from rich.console import Console
+ import argparse
++import ast
+ 
+ last_samples_dir = Path(__file__).parent / "last_samples"
+ last_samples_dir.mkdir(exist_ok=True)
+@@ -63,6 +64,11 @@ def test_file(filename: Path):
+             delattr(Source, cache_name)
+ 
+     test = TestFiles()
++    try:
++        ast.parse(code)
++    except (RecursionError,SyntaxError):
++        return True
++
+     try:
+         with open(os.devnull, "w") as dev_null:
+             with contextlib.redirect_stderr(dev_null):
+@@ -122,9 +128,6 @@ def main():
+                     break_file.unlink()
+                     sys.exit(0)
+ 
+-                if time.time() > end_time:
+-                    print("Timeout")
+-                    sys.exit(0)
+ 
+                 if not result:
+                     print(f"{filename} is failing the tests -> minimize\n")
+diff --git a/tests/test_main.py b/tests/test_main.py
+index 5d4f83b..a3f92ee 100644
+--- a/tests/test_main.py
++++ b/tests/test_main.py
+@@ -609,6 +609,11 @@ def __next__(self):
+             assert {i: i for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
+             assert list(i for i in iter_test(ast.GeneratorExp)) == [1, 2]
+ 
++            assert [i for j in [0] for i in iter_test(ast.ListComp)] == [1, 2]
++            assert {i for j in [0] for i in iter_test(ast.SetComp)} == {1, 2}
++            assert {i: i for j in [0] for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
++            assert list(i for j in [0] for i in iter_test(ast.GeneratorExp)) == [1, 2]
++
+             for i in iter_test(ast.For):
+                 assert i in (1, 2)
+ 
+
+From 6a6925e691681aa5bc05b42bf1f1f06adeb25722 Mon Sep 17 00:00:00 2001
+From: Frank Hoffmann <15r10nk-git@polarbit.de>
+Date: Sun, 15 Sep 2024 14:24:10 +0200
+Subject: [PATCH 2/2] fix: handle changed positions for __exit__ of ast.With
+
+---
+ executing/_position_node_finder.py            | 50 +++++++++++++++++++
+ ...3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py |  3 ++
+ 2 files changed, 53 insertions(+)
+ create mode 100644 tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
+
+diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
+index c923822..0f83441 100644
+--- a/executing/_position_node_finder.py
++++ b/executing/_position_node_finder.py
+@@ -257,6 +257,51 @@ def fix_result(
+             # https://github.com/python/cpython/issues/123142
+ 
+             return node.parent.parent
++
++        if sys.version_info >= (3, 12,6) and instruction.opname == "CALL":
++            before = self.instruction_before(instruction)
++            if (
++                before is not None
++                and before.opname == "LOAD_CONST"
++                and before.positions == instruction.positions
++                and isinstance(node.parent, ast.withitem)
++                and node is node.parent.context_expr
++            ):
++                # node positions for with-statements have change
++                # and is now equal to the expression which created the context-manager
++                # https://github.com/python/cpython/pull/120763
++
++                # with context_manager:
++                #     ...
++
++                # but there is one problem to distinguish call-expressions from __exit__()
++
++                # with context_manager():
++                #     ...
++
++                # the call for __exit__
++
++                # 20  1:5    1:22  LOAD_CONST(None)
++                # 22  1:5    1:22  LOAD_CONST(None)
++                # 24  1:5    1:22  LOAD_CONST(None)
++                # 26  1:5    1:22  CALL()         # <-- same source range as context_manager()
++
++                # but we can use the fact that the previous load for None
++                # has the same source range as the call, wich can not happen for normal calls
++
++                # we return the same ast.With statement at the and to preserve backward compatibility
++
++                return node.parent.parent
++
++        if (
++            sys.version_info >= (3, 12,6)
++            and instruction.opname == "BEFORE_WITH"
++            and isinstance(node.parent, ast.withitem)
++            and node is node.parent.context_expr
++        ):
++            # handle positions changes for __enter__
++            return node.parent.parent
++
+         return node
+ 
+     def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
+@@ -895,6 +940,11 @@ def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool:
+     def instruction(self, index: int) -> Optional[dis.Instruction]:
+         return self.bc_dict.get(index,None)
+ 
++    def instruction_before(
++        self, instruction: dis.Instruction
++    ) -> Optional[dis.Instruction]:
++        return self.bc_dict.get(instruction.offset - 2, None)
++
+     def opname(self, index: int) -> str:
+         i=self.instruction(index)
+         if i is None:
+diff --git a/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
+new file mode 100644
+index 0000000..bfffc14
+--- /dev/null
++++ b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
+@@ -0,0 +1,3 @@
++async def wait():
++    async with something:
++        pass
+\ No newline at end of file


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/executing/, dev-python/executing/files/
@ 2024-11-13  6:55 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2024-11-13  6:55 UTC (permalink / raw
  To: gentoo-commits

commit:     ab244656c6100a6067d3179bf9e4fdac843bfff5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 13 06:05:56 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Nov 13 06:55:03 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ab244656

dev-python/executing: Remove old

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

 dev-python/executing/Manifest                      |  2 -
 dev-python/executing/executing-2.0.1.ebuild        | 69 ----------------------
 .../executing/executing-2.0.2_pre20240626.ebuild   | 65 --------------------
 dev-python/executing/executing-2.1.0.ebuild        | 60 -------------------
 .../executing-2.0.1-additional-slow-tests.patch    | 38 ------------
 5 files changed, 234 deletions(-)

diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index e2e7180fa798..d437483fb0de 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,3 +1 @@
-DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
 DIST executing-2.1.0.gh.tar.gz 980727 BLAKE2B 0d7a3f0a7e83a1607fdc5bd618b7484bd2eb27443568ee6542d7caad050ff7f5a2ddf71518d434059bdc5f17bff81badf393b91628754b5d6b8ec5a4dbe8146a SHA512 0918ed3eca37d55a1c19b20a959538c46d65688979e0808270b7060a25d3db44bb593d2f8de202740af9f008f273e1e7565ba5b20b90c678e070b52a12bed4cd
-DIST executing-b3821ddf99132b61d8d32adfdae450e2418610ca.gh.tar.gz 983168 BLAKE2B 6f305aff1ff027efc5dc18288a1373623dc8e87f0a66f35ad6c92954fa1e6fc2422d50aaec128216efd1e090f1f69428447700b0adc8d4b61f40a777b3768c29 SHA512 049f95e363660052538b9d4c07123705663680d1c415ee43895678e4b740b3b2697c62c78e150fd14f75836727512e138c312ece7a48b2d3d11393f522b2ce60

diff --git a/dev-python/executing/executing-2.0.1.ebuild b/dev-python/executing/executing-2.0.1.ebuild
deleted file mode 100644
index 4ced1fea6aa4..000000000000
--- a/dev-python/executing/executing-2.0.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
-	https://github.com/alexmojaki/executing/
-	https://pypi.org/project/executing/
-"
-SRC_URI="
-	https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
-		-> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
-		dev-python/littleutils[${PYTHON_USEDEP}]
-		dev-python/rich[${PYTHON_USEDEP}]
-	)
-"
-
-PATCHES=(
-	"${FILESDIR}/${PN}-2.0.1-additional-slow-tests.patch"
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	case ${EPYTHON} in
-		pypy3)
-			EPYTEST_DESELECT+=(
-				"tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
-			)
-			;;
-		python3.10)
-			EPYTEST_DESELECT+=(
-				# crashes with infinite recursion (?)
-				"tests/test_main.py::test_small_samples[1656dc52edd2385921104de7bb255ca369713f4b8c034ebeba5cf946058109bc.py]"
-			)
-			;;
-	esac
-	if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/test_ipython.py
-		)
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	epytest
-}
-
-pkg_postinst() {
-	optfeature "getting node's source code" dev-python/asttokens
-}

diff --git a/dev-python/executing/executing-2.0.2_pre20240626.ebuild b/dev-python/executing/executing-2.0.2_pre20240626.ebuild
deleted file mode 100644
index a7d942f45ed8..000000000000
--- a/dev-python/executing/executing-2.0.2_pre20240626.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 optfeature
-
-# https://github.com/alexmojaki/executing/commits/3.13
-EGIT_COMMIT="b3821ddf99132b61d8d32adfdae450e2418610ca"
-MY_P="${PN}-${EGIT_COMMIT}"
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
-	https://github.com/alexmojaki/executing/
-	https://pypi.org/project/executing/
-"
-SRC_URI="
-	https://github.com/alexmojaki/executing/archive/${EGIT_COMMIT}.tar.gz
-		-> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
-		dev-python/littleutils[${PYTHON_USEDEP}]
-		dev-python/rich[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_pre/.dev}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	case ${EPYTHON} in
-		pypy3)
-			EPYTEST_DESELECT+=(
-				"tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
-				"tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
-			)
-			;;
-	esac
-	if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/test_ipython.py
-		)
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	epytest
-}
-
-pkg_postinst() {
-	optfeature "getting node's source code" dev-python/asttokens
-}

diff --git a/dev-python/executing/executing-2.1.0.ebuild b/dev-python/executing/executing-2.1.0.ebuild
deleted file mode 100644
index 1c00bfb1efb2..000000000000
--- a/dev-python/executing/executing-2.1.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
-	https://github.com/alexmojaki/executing/
-	https://pypi.org/project/executing/
-"
-SRC_URI="
-	https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
-		-> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
-		dev-python/littleutils[${PYTHON_USEDEP}]
-		dev-python/rich[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	case ${EPYTHON} in
-		pypy3)
-			EPYTEST_DESELECT+=(
-				"tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
-				"tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
-			)
-			;;
-	esac
-	if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/test_ipython.py
-		)
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	epytest
-}
-
-pkg_postinst() {
-	optfeature "getting node's source code" dev-python/asttokens
-}

diff --git a/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch b/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
deleted file mode 100644
index 36346e7363fb..000000000000
--- a/dev-python/executing/files/executing-2.0.1-additional-slow-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=909738
-https://github.com/alexmojaki/executing/pull/78
-
-From 9990d20a28d46e8a911c370a019f9231cad977f0 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Sun, 5 Nov 2023 19:54:34 -0500
-Subject: [PATCH] Add many_calls tests to EXECUTING_SLOW_TESTS
-
----
- tests/test_main.py | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/tests/test_main.py b/tests/test_main.py
-index 7e33247..bc015cd 100644
---- a/tests/test_main.py
-+++ b/tests/test_main.py
-@@ -279,6 +279,10 @@ def test_future_import(self):
-         print(1 / 2)
-         tester(4)
- 
-+    @pytest.mark.skipif(
-+        not os.getenv("EXECUTING_SLOW_TESTS"),
-+        reason="These tests are very slow, enable them explicitly",
-+    )
-     def test_many_calls(self):
-         node = None
-         start = time.time()
-@@ -290,6 +294,10 @@ def test_many_calls(self):
-                 self.assertIs(node, new_node)
-         self.assertLess(time.time() - start, 1)
- 
-+    @pytest.mark.skipif(
-+        not os.getenv("EXECUTING_SLOW_TESTS"),
-+        reason="These tests are very slow, enable them explicitly",
-+    )
-     def test_many_source_for_filename_calls(self):
-         source = None
-         start = time.time()


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

* [gentoo-commits] repo/gentoo:master commit in: dev-python/executing/, dev-python/executing/files/
@ 2025-02-23  3:23 Michał Górny
  0 siblings, 0 replies; 4+ messages in thread
From: Michał Górny @ 2025-02-23  3:23 UTC (permalink / raw
  To: gentoo-commits

commit:     7b9571362ea0a60d2776b3ca9246c4aea8f4717f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 23 02:44:53 2025 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Sun Feb 23 03:23:12 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7b957136

dev-python/executing: Remove old

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

 dev-python/executing/Manifest                      |   1 -
 dev-python/executing/executing-2.1.0-r1.ebuild     |  65 --------
 .../executing/files/executing-2.1.0-py3126.patch   | 178 ---------------------
 3 files changed, 244 deletions(-)

diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index 5853f01d7ec4..d8f41c63d5b8 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1,2 +1 @@
-DIST executing-2.1.0.gh.tar.gz 980727 BLAKE2B 0d7a3f0a7e83a1607fdc5bd618b7484bd2eb27443568ee6542d7caad050ff7f5a2ddf71518d434059bdc5f17bff81badf393b91628754b5d6b8ec5a4dbe8146a SHA512 0918ed3eca37d55a1c19b20a959538c46d65688979e0808270b7060a25d3db44bb593d2f8de202740af9f008f273e1e7565ba5b20b90c678e070b52a12bed4cd
 DIST executing-2.2.0.gh.tar.gz 981774 BLAKE2B 81fb081f3835b8d389ac90fd91db769d0e7171e99b05a3e7ba0edb2910fed0fcd26ff24c6b84bece138de93166571df09c85d47eeec816806c47b816d7b12b96 SHA512 e8f6a399e57519149a15ae84c1d4a01c7cd6fdb81415939ef66f19a4abd9bf2ddbb156a9f59e95328a26504b8f8775a48e8da44af2027dd4763071b1997b8b84

diff --git a/dev-python/executing/executing-2.1.0-r1.ebuild b/dev-python/executing/executing-2.1.0-r1.ebuild
deleted file mode 100644
index db3a4e2df1d2..000000000000
--- a/dev-python/executing/executing-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..13} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Get information about what a Python frame is currently doing"
-HOMEPAGE="
-	https://github.com/alexmojaki/executing/
-	https://pypi.org/project/executing/
-"
-SRC_URI="
-	https://github.com/alexmojaki/executing/archive/v${PV}.tar.gz
-		-> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
-	dev-python/setuptools-scm[${PYTHON_USEDEP}]
-	test? (
-		>=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
-		dev-python/littleutils[${PYTHON_USEDEP}]
-		dev-python/rich[${PYTHON_USEDEP}]
-	)
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-PATCHES=(
-	# https://github.com/alexmojaki/executing/pull/86
-	"${FILESDIR}/${P}-py3126.patch"
-)
-
-python_test() {
-	local EPYTEST_DESELECT=()
-	case ${EPYTHON} in
-		pypy3)
-			EPYTEST_DESELECT+=(
-				"tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
-				"tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
-			)
-			;;
-	esac
-	if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
-		EPYTEST_DESELECT+=(
-			tests/test_ipython.py
-		)
-	fi
-
-	local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-	epytest
-}
-
-pkg_postinst() {
-	optfeature "getting node's source code" dev-python/asttokens
-}

diff --git a/dev-python/executing/files/executing-2.1.0-py3126.patch b/dev-python/executing/files/executing-2.1.0-py3126.patch
deleted file mode 100644
index 7c3b96d0b568..000000000000
--- a/dev-python/executing/files/executing-2.1.0-py3126.patch
+++ /dev/null
@@ -1,178 +0,0 @@
-From 4acebfaa89196785ccc893d56b97ac8598c30e71 Mon Sep 17 00:00:00 2001
-From: Frank Hoffmann <15r10nk-git@polarbit.de>
-Date: Mon, 26 Aug 2024 21:43:13 +0200
-Subject: [PATCH 1/2] fix: backward compatibility fix for changed source
- positions in 3.12.6 (#85)
-
----
- executing/_position_node_finder.py | 15 +++++++++++++++
- tests/generate_small_sample.py     |  9 ++++++---
- tests/test_main.py                 |  5 +++++
- 3 files changed, 26 insertions(+), 3 deletions(-)
-
-diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
-index 7a81415..c923822 100644
---- a/executing/_position_node_finder.py
-+++ b/executing/_position_node_finder.py
-@@ -242,6 +242,21 @@ def fix_result(
-             # keeping the old behaviour makes it possible to distinguish both cases.
- 
-             return node.parent
-+
-+        if (
-+            sys.version_info >= (3, 12, 6)
-+            and instruction.opname in ("GET_ITER", "FOR_ITER")
-+            and isinstance(
-+                node.parent.parent,
-+                (ast.ListComp, ast.SetComp, ast.DictComp, ast.GeneratorExp),
-+            )
-+            and isinstance(node.parent,ast.comprehension)
-+            and node is node.parent.iter
-+        ):
-+            # same as above but only for comprehensions, see:
-+            # https://github.com/python/cpython/issues/123142
-+
-+            return node.parent.parent
-         return node
- 
-     def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
-diff --git a/tests/generate_small_sample.py b/tests/generate_small_sample.py
-index 89c7477..573d17a 100644
---- a/tests/generate_small_sample.py
-+++ b/tests/generate_small_sample.py
-@@ -18,6 +18,7 @@
- from rich.syntax import Syntax
- from rich.console import Console
- import argparse
-+import ast
- 
- last_samples_dir = Path(__file__).parent / "last_samples"
- last_samples_dir.mkdir(exist_ok=True)
-@@ -63,6 +64,11 @@ def test_file(filename: Path):
-             delattr(Source, cache_name)
- 
-     test = TestFiles()
-+    try:
-+        ast.parse(code)
-+    except (RecursionError,SyntaxError):
-+        return True
-+
-     try:
-         with open(os.devnull, "w") as dev_null:
-             with contextlib.redirect_stderr(dev_null):
-@@ -122,9 +128,6 @@ def main():
-                     break_file.unlink()
-                     sys.exit(0)
- 
--                if time.time() > end_time:
--                    print("Timeout")
--                    sys.exit(0)
- 
-                 if not result:
-                     print(f"{filename} is failing the tests -> minimize\n")
-diff --git a/tests/test_main.py b/tests/test_main.py
-index 5d4f83b..a3f92ee 100644
---- a/tests/test_main.py
-+++ b/tests/test_main.py
-@@ -609,6 +609,11 @@ def __next__(self):
-             assert {i: i for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
-             assert list(i for i in iter_test(ast.GeneratorExp)) == [1, 2]
- 
-+            assert [i for j in [0] for i in iter_test(ast.ListComp)] == [1, 2]
-+            assert {i for j in [0] for i in iter_test(ast.SetComp)} == {1, 2}
-+            assert {i: i for j in [0] for i in iter_test(ast.DictComp)} == {1: 1, 2: 2}
-+            assert list(i for j in [0] for i in iter_test(ast.GeneratorExp)) == [1, 2]
-+
-             for i in iter_test(ast.For):
-                 assert i in (1, 2)
- 
-
-From 6a6925e691681aa5bc05b42bf1f1f06adeb25722 Mon Sep 17 00:00:00 2001
-From: Frank Hoffmann <15r10nk-git@polarbit.de>
-Date: Sun, 15 Sep 2024 14:24:10 +0200
-Subject: [PATCH 2/2] fix: handle changed positions for __exit__ of ast.With
-
----
- executing/_position_node_finder.py            | 50 +++++++++++++++++++
- ...3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py |  3 ++
- 2 files changed, 53 insertions(+)
- create mode 100644 tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-
-diff --git a/executing/_position_node_finder.py b/executing/_position_node_finder.py
-index c923822..0f83441 100644
---- a/executing/_position_node_finder.py
-+++ b/executing/_position_node_finder.py
-@@ -257,6 +257,51 @@ def fix_result(
-             # https://github.com/python/cpython/issues/123142
- 
-             return node.parent.parent
-+
-+        if sys.version_info >= (3, 12,6) and instruction.opname == "CALL":
-+            before = self.instruction_before(instruction)
-+            if (
-+                before is not None
-+                and before.opname == "LOAD_CONST"
-+                and before.positions == instruction.positions
-+                and isinstance(node.parent, ast.withitem)
-+                and node is node.parent.context_expr
-+            ):
-+                # node positions for with-statements have change
-+                # and is now equal to the expression which created the context-manager
-+                # https://github.com/python/cpython/pull/120763
-+
-+                # with context_manager:
-+                #     ...
-+
-+                # but there is one problem to distinguish call-expressions from __exit__()
-+
-+                # with context_manager():
-+                #     ...
-+
-+                # the call for __exit__
-+
-+                # 20  1:5    1:22  LOAD_CONST(None)
-+                # 22  1:5    1:22  LOAD_CONST(None)
-+                # 24  1:5    1:22  LOAD_CONST(None)
-+                # 26  1:5    1:22  CALL()         # <-- same source range as context_manager()
-+
-+                # but we can use the fact that the previous load for None
-+                # has the same source range as the call, wich can not happen for normal calls
-+
-+                # we return the same ast.With statement at the and to preserve backward compatibility
-+
-+                return node.parent.parent
-+
-+        if (
-+            sys.version_info >= (3, 12,6)
-+            and instruction.opname == "BEFORE_WITH"
-+            and isinstance(node.parent, ast.withitem)
-+            and node is node.parent.context_expr
-+        ):
-+            # handle positions changes for __enter__
-+            return node.parent.parent
-+
-         return node
- 
-     def known_issues(self, node: EnhancedAST, instruction: dis.Instruction) -> None:
-@@ -895,6 +940,11 @@ def node_match(node_type: Union[Type, Tuple[Type, ...]], **kwargs: Any) -> bool:
-     def instruction(self, index: int) -> Optional[dis.Instruction]:
-         return self.bc_dict.get(index,None)
- 
-+    def instruction_before(
-+        self, instruction: dis.Instruction
-+    ) -> Optional[dis.Instruction]:
-+        return self.bc_dict.get(instruction.offset - 2, None)
-+
-     def opname(self, index: int) -> str:
-         i=self.instruction(index)
-         if i is None:
-diff --git a/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-new file mode 100644
-index 0000000..bfffc14
---- /dev/null
-+++ b/tests/small_samples/3e40f2921fbaf6ccbabb2fa5c3cd3a42b54914d66f7a67f8b2ade36f89ed761b.py
-@@ -0,0 +1,3 @@
-+async def wait():
-+    async with something:
-+        pass
-\ No newline at end of file


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

end of thread, other threads:[~2025-02-23  3:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-30 15:31 [gentoo-commits] repo/gentoo:master commit in: dev-python/executing/, dev-python/executing/files/ Michał Górny
  -- strict thread matches above, loose matches on Subject: below --
2025-02-23  3:23 Michał Górny
2024-11-13  6:55 Michał Górny
2023-11-07 20:35 Sam James

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