"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
+ "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
raise unittest.SkipTest(
"Subprocess tests not compatible with " "LayeredTwistedIOLoop"
)
+ # In Python 3.13.0b1, the new repl logs an error on exit if terminfo
+ # doesn't exist, the -i flag is used, and stdin is not a tty. This bug may
+ # have been fixed in beta 2, so for now we disable the new repl in this test
+ # and the next. Once we've tested with beta 2 we can either remove this env var
+ # or file a bug upstream if it still exists.
+ env = dict(os.environ)
+ env["PYTHON_BASIC_REPL"] = "1"
subproc = Subprocess(
[sys.executable, "-u", "-i"],
stdin=Subprocess.STREAM,
stdout=Subprocess.STREAM,
stderr=subprocess.STDOUT,
+ env=env,
)
self.addCleanup(lambda: self.term_and_wait(subproc))
self.addCleanup(subproc.stdout.close)
@gen_test
def test_close_stdin(self):
# Close the parent's stdin handle and see that the child recognizes it.
+ env = dict(os.environ)
+ env["PYTHON_BASIC_REPL"] = "1"
subproc = Subprocess(
[sys.executable, "-u", "-i"],
stdin=Subprocess.STREAM,
stdout=Subprocess.STREAM,
stderr=subprocess.STDOUT,
+ env=env,
)
self.addCleanup(lambda: self.term_and_wait(subproc))
yield subproc.stdout.read_until(b">>> ")
[tox]
envlist =
# Basic configurations: Run the tests for each python version.
- py38-full,py39-full,py310-full,py311-full,pypy3-full
+ py38-full,py39-full,py310-full,py311-full,py312-full,pypy3-full
# Build and test the docs with sphinx.
docs
py310: python3.10
py311: python3.11
py312: python3.12
+ py313: python3.13
pypy3: pypy3
# In theory, it doesn't matter which python version is used here.
# In practice, things like changes to the ast module can alter
setenv =
# Treat the extension as mandatory in testing (but not on pypy)
- {py3,py38,py39,py310,py311,py312}: TORNADO_EXTENSION=1
+ {py3,py38,py39,py310,py311,py312,py313}: TORNADO_EXTENSION=1
# CI workers are often overloaded and can cause our tests to exceed
# the default timeout of 5s.
ASYNC_TEST_TIMEOUT=25
# during sdist installation (and it doesn't seem to be
# possible to set environment variables during that phase of
# tox).
- {py3,py38,py39,py310,py311,pypy3}: PYTHONWARNINGS=error:::tornado
+ {py3,py38,py39,py310,py311,py312,py313,pypy3}: PYTHONWARNINGS=error:::tornado
# Warn if we try to open a file with an unspecified encoding.
# (New in python 3.10, becomes obsolete when utf8 becomes the
# default in 3.15)
# something new than of depending on something old and deprecated.
# But sometimes something we depend on gets removed so we should also
# test the newest version.
- mypy --platform linux --python-version 3.12 {posargs:tornado}
+ mypy --platform linux --python-version 3.13 {posargs:tornado}
changedir = {toxinidir}