blob: 55b10b98a42a49d7a912d0a29882e60fecf62c2b [file] [log] [blame]
import gc
import platform
import pytest
from markupsafe import escape
@pytest.mark.skipif(
escape.__module__ == "markupsafe._native",
reason="only test memory leak with speedups",
)
def test_markup_leaks():
counts = set()
for _i in range(20):
for _j in range(1000):
escape("foo")
escape("<foo>")
escape("foo")
escape("<foo>")
if platform.python_implementation() == "PyPy":
gc.collect()
counts.add(len(gc.get_objects()))
assert len(counts) == 1