Merge pull request #1180 from tahoe-lafs/3697-pypy3

pypy3 and Python 3.10 support

Fixes ticket:3697
This commit is contained in:
Itamar Turner-Trauring 2022-02-28 12:12:48 -05:00 committed by GitHub
commit 8ddf21358a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 24 additions and 12 deletions

View File

@ -38,14 +38,22 @@ jobs:
- windows-latest
- ubuntu-latest
python-version:
- 3.7
- 3.8
- 3.9
- "3.7"
- "3.8"
- "3.9"
- "3.10"
include:
# On macOS don't bother with 3.7-3.8, just to get faster builds.
- os: macos-latest
python-version: 3.9
python-version: "3.9"
- os: macos-latest
python-version: "3.10"
# We only support PyPy on Linux at the moment.
- os: ubuntu-latest
python-version: "pypy-3.7"
- os: ubuntu-latest
python-version: "pypy-3.8"
steps:
# See https://github.com/actions/checkout. A fetch-depth of 0
# fetches all tags and branches.

1
newsfragments/3697.minor Normal file
View File

@ -0,0 +1 @@
Added support for Python 3.10. Added support for PyPy3 (3.7 and 3.8, on Linux only).

View File

@ -366,8 +366,8 @@ setup(name="tahoe-lafs", # also set in __init__.py
package_dir = {'':'src'},
packages=find_packages('src') + ['allmydata.test.plugins'],
classifiers=trove_classifiers,
# We support Python 3.7 or later. 3.10 is not supported quite yet.
python_requires=">=3.7, <3.10",
# We support Python 3.7 or later. 3.11 is not supported yet.
python_requires=">=3.7, <3.11",
install_requires=install_requires,
extras_require={
# Duplicate the Twisted pywin32 dependency here. See

View File

@ -203,10 +203,10 @@ class BinTahoe(common_util.SignalMixin, unittest.TestCase):
# but on Windows we parse the whole command line string ourselves so
# we have to have our own implementation of skipping these options.
# -t is a harmless option that warns about tabs so we can add it
# -B is a harmless option that prevents writing bytecode so we can add it
# without impacting other behavior noticably.
out, err, returncode = run_bintahoe([u"--version"], python_options=[u"-t"])
self.assertEqual(returncode, 0)
out, err, returncode = run_bintahoe([u"--version"], python_options=[u"-B"])
self.assertEqual(returncode, 0, f"Out:\n{out}\nErr:\n{err}")
self.assertTrue(out.startswith(allmydata.__appname__ + '/'))
def test_help_eliot_destinations(self):

View File

@ -10,13 +10,16 @@ python =
3.7: py37-coverage,typechecks,codechecks
3.8: py38-coverage
3.9: py39-coverage
pypy-3.7: pypy3
3.10: py310-coverage
pypy-3.7: pypy37
pypy-3.8: pypy38
pypy-3.9: pypy39
[pytest]
twisted = 1
[tox]
envlist = typechecks,codechecks,py{37,38,39}-{coverage},pypy27,pypy3,integration
envlist = typechecks,codechecks,py{37,38,39,310}-{coverage},pypy27,pypy37,pypy38,pypy39,integration
minversion = 2.4
[testenv]