1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
|
gc.collect() is required on PyPy because bf_releasebuffer only triggers when
the HPyBuffer is finalized, not when the memoryview is closed.
diff --git a/extra_tests/hpy_tests/_vendored/test_slots.py b/extra_tests/hpy_tests/_vendored/test_slots.py
--- a/extra_tests/hpy_tests/_vendored/test_slots.py
+++ b/extra_tests/hpy_tests/_vendored/test_slots.py
@@ -267,6 +267,7 @@ class TestSlots(HPyTest):
def test_buffer(self):
import pytest
import sys
+ import gc
mod = self.make_module("""
typedef struct {
HPyObject_HEAD
@@ -347,6 +348,7 @@ class TestSlots(HPyTest):
assert sys.getrefcount(arr) == init_refcount + 1
for i in range(12):
assert mv[i] == i
+ gc.collect()
if self.supports_refcounts():
assert sys.getrefcount(arr) == init_refcount
mv2 = memoryview(arr) # doesn't raise
|