Refs #34986 -- Added django.utils.version.PYPY.

This commit is contained in:
Nick Pope 2023-11-21 15:11:09 +00:00 committed by Mariusz Felisiak
parent 174369a990
commit 9baaf89eed
3 changed files with 7 additions and 4 deletions

View File

@ -6,6 +6,9 @@ import sys
from django.utils.regex_helper import _lazy_re_compile
# Private, stable API for detecting the Python implementation.
PYPY = sys.implementation.name == "pypy"
# Private, stable API for detecting the Python version. PYXY means "Python X.Y
# or later". So that third-party apps can use these values, each constant
# should remain as long as the oldest supported Django version supports that

View File

@ -1,13 +1,13 @@
import gc
import sys
import weakref
from types import TracebackType
from django.dispatch import Signal, receiver
from django.test import SimpleTestCase
from django.test.utils import override_settings
from django.utils.version import PYPY
if hasattr(sys, "pypy_version_info"):
if PYPY:
def garbage_collect():
# Collecting weakreferences can take two collections on PyPy.

View File

@ -30,7 +30,7 @@ else:
from django.test.utils import NullTimeKeeper, TimeKeeper, get_runner
from django.utils.deprecation import RemovedInDjango60Warning
from django.utils.log import DEFAULT_LOGGING
from django.utils.version import PY312
from django.utils.version import PY312, PYPY
try:
import MySQLdb
@ -52,7 +52,7 @@ warnings.simplefilter("error", RuntimeWarning)
# references, which are a minority, so the garbage collection threshold can be
# larger than the default threshold of 700 allocations + deallocations without
# much increase in memory usage.
if not hasattr(sys, "pypy_version_info"):
if not PYPY:
gc.set_threshold(100_000)
RUNTESTS_DIR = os.path.abspath(os.path.dirname(__file__))