From 6959baa9b9dc5efe42917c198f9cac55332e1abe Mon Sep 17 00:00:00 2001 From: stepan Date: Tue, 14 Apr 2026 17:23:04 +0200 Subject: [PATCH 1/2] Enable test_remove_subclass --- .../src/tests/unittest_tags/test_descr.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_descr.txt b/graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_descr.txt index 46fc5b1766..a5a1fb7ed8 100644 --- a/graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_descr.txt +++ b/graalpython/com.oracle.graal.python.test/src/tests/unittest_tags/test_descr.txt @@ -71,8 +71,7 @@ test.test_descr.ClassPropertiesAndMethods.test_python_lists @ darwin-arm64,linux test.test_descr.ClassPropertiesAndMethods.test_qualname @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github test.test_descr.ClassPropertiesAndMethods.test_qualname_dict @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github test.test_descr.ClassPropertiesAndMethods.test_recursive_call @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github -# GR-71917 -!test.test_descr.ClassPropertiesAndMethods.test_remove_subclass +test.test_descr.ClassPropertiesAndMethods.test_remove_subclass @ linux-x86_64 test.test_descr.ClassPropertiesAndMethods.test_repr_as_str @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github test.test_descr.ClassPropertiesAndMethods.test_repr_with_module_str_subclass @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github test.test_descr.ClassPropertiesAndMethods.test_restored_object_new @ darwin-arm64,linux-aarch64,linux-aarch64-github,linux-x86_64,linux-x86_64-github,win32-AMD64,win32-AMD64-github From 2bafac76d12693744c7a17959f867ccb25965ff0 Mon Sep 17 00:00:00 2001 From: stepan Date: Wed, 15 Apr 2026 13:26:40 +0200 Subject: [PATCH 2/2] Use support.gc_collect in test_descr + heap dump on support.gc_collect failure --- ci/AGENTS.md | 1 + ci/python-gate.libsonnet | 4 ++++ graalpython/lib-python/3/test/support/__init__.py | 3 +++ graalpython/lib-python/3/test/test_descr.py | 2 +- 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ci/AGENTS.md b/ci/AGENTS.md index f10f0c1aeb..ce604096dc 100644 --- a/ci/AGENTS.md +++ b/ci/AGENTS.md @@ -16,3 +16,4 @@ Jsonnet/libsonnet CI definitions consumed by GitHub Actions matrix generation. ## ANTI-PATTERNS - Don’t encode secrets or environment-specific paths here. - Keep changes compatible with matrix generation (small diffs, deterministic output). +- NEVER edit CI files in `./graal` diff --git a/ci/python-gate.libsonnet b/ci/python-gate.libsonnet index 70fe178c10..135fdeb99a 100644 --- a/ci/python-gate.libsonnet +++ b/ci/python-gate.libsonnet @@ -408,6 +408,10 @@ python_version: "3.8", targets: [self.target], logs+: $.logs(self.os, self.arch), + catch_files+: [ + // generated by patch in CPython test support + "HEAP DUMP: (?P.+\\.hprof)", + ], // all gates share the same base set of downloads downloads+: $.downloads(self.os, self.arch), // all gates share the same base environment diff --git a/graalpython/lib-python/3/test/support/__init__.py b/graalpython/lib-python/3/test/support/__init__.py index a43cd96830..740b9b2bab 100644 --- a/graalpython/lib-python/3/test/support/__init__.py +++ b/graalpython/lib-python/3/test/support/__init__.py @@ -793,6 +793,9 @@ def gc_collect(until = None): i += 1 if i > 1000: print("WARNING: timeout while waiting for GC") + if is_graalpy and hasattr(__graalpython__, 'dump_heap'): + dump_path = __graalpython__.dump_heap() + print(f"HEAP DUMP: {dump_path}") break @contextlib.contextmanager diff --git a/graalpython/lib-python/3/test/test_descr.py b/graalpython/lib-python/3/test/test_descr.py index ba12c92fd9..4109187efd 100644 --- a/graalpython/lib-python/3/test/test_descr.py +++ b/graalpython/lib-python/3/test/test_descr.py @@ -5016,7 +5016,7 @@ class Child(Parent): self.assertEqual(Parent.__subclasses__(), [Child]) del Child - gc.collect() + support.gc_collect(lambda: len(Parent.__subclasses__()) > 0) self.assertEqual(Parent.__subclasses__(), []) def test_attr_raise_through_property(self):