From abcce63c00d4483042a56326cf1962b5e69d8981 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Mon, 12 Feb 2024 14:30:54 +0100 Subject: [PATCH 1/3] fix hpy import command --- mx.graalpython/mx_graalpython.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mx.graalpython/mx_graalpython.py b/mx.graalpython/mx_graalpython.py index 31cb7a7bcf..4e6eedea47 100644 --- a/mx.graalpython/mx_graalpython.py +++ b/mx.graalpython/mx_graalpython.py @@ -3241,8 +3241,8 @@ def exclude_files(*files): tracker_file_dest = join(jni_project_dir, "src", "ctx_tracker.c") import_file(tracker_file_src, tracker_file_dest) - # tests go to 'com.oracle.graal.python.hpy.test/src/test' - test_files_dest = _hpy_test_root() + # tests go to 'com.oracle.graal.python.hpy.test/src/hpytest' + test_files_dest = join(mx.dependency(HPY_TEST_PROJECT).dir, "src", "hpytest") import_files(hpy_repo_test_dir, test_files_dest) remove_inexistent_files(hpy_repo_test_dir, test_files_dest) From 9baaf7ca7e7ab5576dff872382d99b919ad9050b Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Mon, 12 Feb 2024 14:37:20 +0100 Subject: [PATCH 2/3] Update HPy inlined files: f6114734 --- .../include/hpy/hpymodule.h | 2 +- .../include/hpy/version.h | 4 +- .../src/{test => hpytest}/__init__.py | 0 .../{test => hpytest}/check_py27_compat.py | 0 .../src/{test => hpytest}/conftest.py | 0 .../debug/test_builder_invalid.py | 0 .../{test => hpytest}/debug/test_charptr.py | 0 .../debug/test_context_reuse.py | 0 .../debug/test_handles_invalid.py | 0 .../debug/test_handles_leak.py | 0 .../src/{test => hpytest}/debug/test_misc.py | 0 .../hpy_devel/test_abitag.py | 0 .../hpy_devel/test_distutils.py | 0 .../src/{test => hpytest}/support.py | 0 .../src/{test => hpytest}/test_00_basic.py | 0 .../src/{test => hpytest}/test_argparse.py | 0 .../src/{test => hpytest}/test_call.py | 0 .../src/{test => hpytest}/test_capsule.py | 0 .../{test => hpytest}/test_capsule_legacy.py | 0 .../src/{test => hpytest}/test_contextvar.py | 0 .../src/{test => hpytest}/test_cpy_compat.py | 0 .../src/{test => hpytest}/test_eval.py | 0 .../src/{test => hpytest}/test_helpers.py | 0 .../{test => hpytest}/test_hpybuildvalue.py | 0 .../src/{test => hpytest}/test_hpybytes.py | 0 .../src/{test => hpytest}/test_hpydict.py | 0 .../src/{test => hpytest}/test_hpyerr.py | 0 .../src/{test => hpytest}/test_hpyfield.py | 0 .../src/{test => hpytest}/test_hpyglobal.py | 0 .../src/{test => hpytest}/test_hpyimport.py | 0 .../src/{test => hpytest}/test_hpylist.py | 0 .../src/{test => hpytest}/test_hpylong.py | 0 .../src/{test => hpytest}/test_hpymodule.py | 0 .../src/{test => hpytest}/test_hpyslice.py | 0 .../{test => hpytest}/test_hpystructseq.py | 0 .../src/{test => hpytest}/test_hpytuple.py | 0 .../src/{test => hpytest}/test_hpytype.py | 0 .../{test => hpytest}/test_hpytype_legacy.py | 0 .../src/{test => hpytest}/test_hpyunicode.py | 0 .../src/{test => hpytest}/test_importing.py | 0 .../test_legacy_forbidden.py | 0 .../src/{test => hpytest}/test_number.py | 0 .../src/{test => hpytest}/test_object.py | 0 .../src/{test => hpytest}/test_slots.py | 0 .../{test => hpytest}/test_slots_legacy.py | 0 .../src/{test => hpytest}/test_support.py | 0 .../src/{test => hpytest}/test_tracker.py | 0 .../src/{test => hpytest}/trace/test_trace.py | 0 .../src/debug/debug_ctx.c | 2 +- .../modules/hpy/devel/src/runtime/structseq.c | 10 ++++- .../modules/hpy/devel/version.py | 4 +- .../modules/hpy/trace/leakdetector.py | 43 ------------------- .../modules/hpy/trace/pytest.py | 31 ------------- 53 files changed, 15 insertions(+), 81 deletions(-) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/__init__.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/check_py27_compat.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/conftest.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_builder_invalid.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_charptr.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_context_reuse.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_handles_invalid.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_handles_leak.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/debug/test_misc.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/hpy_devel/test_abitag.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/hpy_devel/test_distutils.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/support.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_00_basic.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_argparse.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_call.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_capsule.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_capsule_legacy.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_contextvar.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_cpy_compat.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_eval.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_helpers.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpybuildvalue.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpybytes.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpydict.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyerr.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyfield.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyglobal.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyimport.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpylist.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpylong.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpymodule.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyslice.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpystructseq.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpytuple.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpytype.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpytype_legacy.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_hpyunicode.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_importing.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_legacy_forbidden.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_number.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_object.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_slots.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_slots_legacy.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_support.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/test_tracker.py (100%) rename graalpython/com.oracle.graal.python.hpy.test/src/{test => hpytest}/trace/test_trace.py (100%) delete mode 100644 graalpython/lib-graalpython/modules/hpy/trace/leakdetector.py delete mode 100644 graalpython/lib-graalpython/modules/hpy/trace/pytest.py diff --git a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h index 324e9ea6d3..1ad5802aa2 100644 --- a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h +++ b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h @@ -119,7 +119,7 @@ typedef struct { * structure that will serve as a specification of the module that should be * created by the interpreter. HPy supports only multi-phase module * initialization (PEP 451). Any module initialization code can be added - * to the HPy_mod_execute slot of the module if needed. + * to the HPy_mod_exec slot of the module if needed. * * Example: * diff --git a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h index 9c6736d092..decdc2922f 100644 --- a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h +++ b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h @@ -1,4 +1,4 @@ // automatically generated by setup.py:get_scm_config() -#define HPY_VERSION "0.9.0rc2" -#define HPY_GIT_REVISION "5ddcbc8d" +#define HPY_VERSION "0.9.0" +#define HPY_GIT_REVISION "f6114734" diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/__init__.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/__init__.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/__init__.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/__init__.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/check_py27_compat.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/check_py27_compat.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/check_py27_compat.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/check_py27_compat.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/conftest.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/conftest.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/conftest.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/conftest.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_builder_invalid.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_builder_invalid.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_builder_invalid.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_builder_invalid.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_charptr.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_charptr.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_charptr.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_charptr.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_context_reuse.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_context_reuse.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_context_reuse.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_context_reuse.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_handles_invalid.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_handles_invalid.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_handles_invalid.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_handles_invalid.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_handles_leak.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_handles_leak.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_handles_leak.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_handles_leak.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_misc.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_misc.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/debug/test_misc.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/debug/test_misc.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/hpy_devel/test_abitag.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/hpy_devel/test_abitag.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/hpy_devel/test_abitag.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/hpy_devel/test_abitag.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/hpy_devel/test_distutils.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/hpy_devel/test_distutils.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/hpy_devel/test_distutils.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/hpy_devel/test_distutils.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/support.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/support.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/support.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/support.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_00_basic.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_00_basic.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_00_basic.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_00_basic.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_argparse.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_argparse.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_argparse.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_argparse.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_call.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_call.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_call.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_call.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_capsule.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_capsule.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_capsule.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_capsule.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_capsule_legacy.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_capsule_legacy.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_capsule_legacy.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_capsule_legacy.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_contextvar.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_contextvar.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_contextvar.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_contextvar.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_cpy_compat.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_cpy_compat.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_cpy_compat.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_cpy_compat.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_eval.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_eval.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_eval.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_eval.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_helpers.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_helpers.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_helpers.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_helpers.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpybuildvalue.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpybuildvalue.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpybuildvalue.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpybuildvalue.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpybytes.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpybytes.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpybytes.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpybytes.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpydict.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpydict.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpydict.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpydict.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyerr.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyerr.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyerr.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyerr.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyfield.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyfield.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyfield.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyfield.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyglobal.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyglobal.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyglobal.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyglobal.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyimport.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyimport.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpylist.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpylist.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpylist.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpylist.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpylong.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpylong.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpylong.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpylong.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpymodule.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpymodule.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpymodule.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpymodule.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyslice.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyslice.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyslice.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyslice.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpystructseq.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpystructseq.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpystructseq.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpystructseq.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytuple.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytuple.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytuple.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytuple.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytype.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytype.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytype.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytype.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytype_legacy.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytype_legacy.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpytype_legacy.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpytype_legacy.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyunicode.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyunicode.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_hpyunicode.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyunicode.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_importing.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_importing.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_importing.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_importing.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_legacy_forbidden.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_legacy_forbidden.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_legacy_forbidden.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_legacy_forbidden.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_number.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_number.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_number.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_number.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_object.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_object.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_object.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_object.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_slots.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_slots.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_slots.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_slots.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_slots_legacy.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_slots_legacy.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_slots_legacy.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_slots_legacy.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_support.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_support.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_support.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_support.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/test_tracker.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_tracker.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/test_tracker.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_tracker.py diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/test/trace/test_trace.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/trace/test_trace.py similarity index 100% rename from graalpython/com.oracle.graal.python.hpy.test/src/test/trace/test_trace.py rename to graalpython/com.oracle.graal.python.hpy.test/src/hpytest/trace/test_trace.py diff --git a/graalpython/com.oracle.graal.python.jni/src/debug/debug_ctx.c b/graalpython/com.oracle.graal.python.jni/src/debug/debug_ctx.c index fbcb0b21e5..1f021daa5c 100644 --- a/graalpython/com.oracle.graal.python.jni/src/debug/debug_ctx.c +++ b/graalpython/com.oracle.graal.python.jni/src/debug/debug_ctx.c @@ -559,7 +559,7 @@ const char *debug_ctx_Type_GetName(HPyContext *dctx, DHPy type) ctx_info->is_valid = false; const char *name = HPyType_GetName(uctx, uh_type); ctx_info->is_valid = true; - n_name = strlen(name); + n_name = strlen(name) + 1; return (const char *)protect_and_associate_data_ptr(type, (void *)name, n_name); } diff --git a/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c b/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c index 8feb27d6f1..9acd237756 100644 --- a/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c +++ b/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c @@ -224,7 +224,15 @@ HPyStructSequence_New(HPyContext *ctx, HPy type, HPy_ssize_t nargs, HPy *args) tp = (PyTypeObject *)_h2py(type); name = PyUnicode_FromStringAndSize(s_n_fields, sizeof(s_n_fields)); // CPython also accesses the dict directly - v = PyDict_GetItemWithError(tp->tp_dict, name); +#if PY_VERSION_HEX >= 0x030C0000 + PyObject *dict = PyType_GetDict(tp); +#else + PyObject *dict = tp->tp_dict; +#endif + v = PyDict_GetItemWithError(dict, name); +#if PY_VERSION_HEX >= 0x030C0000 + Py_DECREF(dict); +#endif Py_DECREF(name); if (v == NULL && !PyErr_Occurred()) { goto type_error; diff --git a/graalpython/lib-graalpython/modules/hpy/devel/version.py b/graalpython/lib-graalpython/modules/hpy/devel/version.py index a93b872b11..356bae1ebb 100644 --- a/graalpython/lib-graalpython/modules/hpy/devel/version.py +++ b/graalpython/lib-graalpython/modules/hpy/devel/version.py @@ -1,4 +1,4 @@ # automatically generated by setup.py:get_scm_config() -__version__ = "0.9.0rc2" -__git_revision__ = "5ddcbc8d" +__version__ = "0.9.0" +__git_revision__ = "f6114734" diff --git a/graalpython/lib-graalpython/modules/hpy/trace/leakdetector.py b/graalpython/lib-graalpython/modules/hpy/trace/leakdetector.py deleted file mode 100644 index 56a68d344c..0000000000 --- a/graalpython/lib-graalpython/modules/hpy/trace/leakdetector.py +++ /dev/null @@ -1,43 +0,0 @@ -from hpy.universal import _debug - -class HPyDebugError(Exception): - pass - -class HPyLeakError(HPyDebugError): - def __init__(self, leaks): - super().__init__() - self.leaks = leaks - - def __str__(self): - lines = [] - n = len(self.leaks) - s = 's' if n != 1 else '' - lines.append(f'{n} unclosed handle{s}:') - for dh in self.leaks: - lines.append(' %r' % dh) - return '\n'.join(lines) - - -class LeakDetector: - - def __init__(self): - self.generation = None - - def start(self): - if self.generation is not None: - raise ValueError('LeakDetector already started') - self.generation = _debug.new_generation() - - def stop(self): - if self.generation is None: - raise ValueError('LeakDetector not started yet') - leaks = _debug.get_open_handles(self.generation) - if leaks: - raise HPyLeakError(leaks) - - def __enter__(self): - self.start() - return self - - def __exit__(self, etype, evalue, tb): - self.stop() diff --git a/graalpython/lib-graalpython/modules/hpy/trace/pytest.py b/graalpython/lib-graalpython/modules/hpy/trace/pytest.py deleted file mode 100644 index 9a33c51343..0000000000 --- a/graalpython/lib-graalpython/modules/hpy/trace/pytest.py +++ /dev/null @@ -1,31 +0,0 @@ -# hpy.debug / pytest integration - -import pytest -from .leakdetector import LeakDetector - -# For now "hpy_debug" just does leak detection, but in the future it might -# grows extra features: that's why it's called generically "hpy_debug" instead -# of "detect_leaks". - -# NOTE: the fixture itself is currently untested :(. It turns out that testing -# that the fixture raises during the teardown is complicated and probably -# requires to write a full-fledged plugin. We might want to turn this into a -# real plugin in the future, but for now I think this is enough. - -# pypy still uses a very ancient version of pytest, 2.9.2: pytest<3.x needs to -# use @yield_fixture, which is deprecated in newer version of pytest (where -# you can just use @fixture) -if pytest.__version__ < '3': - fixture = pytest.yield_fixture -else: - fixture = pytest.fixture - -@fixture -def hpy_debug(request): - """ - pytest fixture which makes it possible to control hpy.debug from within a test. - - In particular, it automatically check that the test doesn't leak. - """ - with LeakDetector() as ld: - yield ld From 8e2417b33495209cecd49328fdd827f7d951cb30 Mon Sep 17 00:00:00 2001 From: Tim Felgentreff Date: Mon, 12 Feb 2024 14:49:17 +0100 Subject: [PATCH 3/3] update copyrights --- .../com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h | 2 +- .../com.oracle.graal.python.hpy.llvm/include/hpy/version.h | 2 +- .../src/hpytest/test_hpyimport.py | 2 +- .../lib-graalpython/modules/hpy/devel/src/runtime/structseq.c | 2 +- graalpython/lib-graalpython/modules/hpy/devel/version.py | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h index 55e2731fd0..4badb12cfa 100644 --- a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h +++ b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/hpymodule.h @@ -1,6 +1,6 @@ /* MIT License * - * Copyright (c) 2020, 2023, Oracle and/or its affiliates. + * Copyright (c) 2020, 2024, Oracle and/or its affiliates. * Copyright (c) 2019 pyhandle * * Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h index 245227fb55..eb57b14570 100644 --- a/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h +++ b/graalpython/com.oracle.graal.python.hpy.llvm/include/hpy/version.h @@ -1,6 +1,6 @@ /* MIT License * - * Copyright (c) 2020, 2023, Oracle and/or its affiliates. + * Copyright (c) 2020, 2024, Oracle and/or its affiliates. * Copyright (c) 2019 pyhandle * * Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py index 856b7fc339..bf9b2edb55 100644 --- a/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py +++ b/graalpython/com.oracle.graal.python.hpy.test/src/hpytest/test_hpyimport.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2021, 2023, Oracle and/or its affiliates. +# Copyright (c) 2021, 2024, Oracle and/or its affiliates. # Copyright (c) 2019 pyhandle # # Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c b/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c index fad9f5c70b..df79ab79e7 100644 --- a/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c +++ b/graalpython/lib-graalpython/modules/hpy/devel/src/runtime/structseq.c @@ -1,6 +1,6 @@ /* MIT License * - * Copyright (c) 2022, 2023, Oracle and/or its affiliates. + * Copyright (c) 2022, 2024, Oracle and/or its affiliates. * Copyright (c) 2019 pyhandle * * Permission is hereby granted, free of charge, to any person obtaining a copy diff --git a/graalpython/lib-graalpython/modules/hpy/devel/version.py b/graalpython/lib-graalpython/modules/hpy/devel/version.py index c967f4fe5a..a24768ea89 100644 --- a/graalpython/lib-graalpython/modules/hpy/devel/version.py +++ b/graalpython/lib-graalpython/modules/hpy/devel/version.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2020, 2023, Oracle and/or its affiliates. +# Copyright (c) 2020, 2024, Oracle and/or its affiliates. # Copyright (c) 2019 pyhandle # # Permission is hereby granted, free of charge, to any person obtaining a copy