Merge pull request #7179 from asottile/py39
This commit is contained in:
commit
63e94b986b
|
@ -39,6 +39,7 @@ jobs:
|
||||||
"ubuntu-py37-pluggy",
|
"ubuntu-py37-pluggy",
|
||||||
"ubuntu-py37-freeze",
|
"ubuntu-py37-freeze",
|
||||||
"ubuntu-py38",
|
"ubuntu-py38",
|
||||||
|
"ubuntu-py39",
|
||||||
"ubuntu-pypy3",
|
"ubuntu-pypy3",
|
||||||
|
|
||||||
"macos-py37",
|
"macos-py37",
|
||||||
|
@ -98,6 +99,10 @@ jobs:
|
||||||
python: "3.8"
|
python: "3.8"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
tox_env: "py38-xdist"
|
tox_env: "py38-xdist"
|
||||||
|
- name: "ubuntu-py39"
|
||||||
|
python: "3.8"
|
||||||
|
os: ubuntu-latest
|
||||||
|
tox_env: "py39-xdist"
|
||||||
- name: "ubuntu-pypy3"
|
- name: "ubuntu-pypy3"
|
||||||
python: "pypy3"
|
python: "pypy3"
|
||||||
os: ubuntu-latest
|
os: ubuntu-latest
|
||||||
|
@ -133,6 +138,12 @@ jobs:
|
||||||
uses: actions/setup-python@v1
|
uses: actions/setup-python@v1
|
||||||
with:
|
with:
|
||||||
python-version: ${{ matrix.python }}
|
python-version: ${{ matrix.python }}
|
||||||
|
- name: install python3.9
|
||||||
|
if: matrix.tox_env == 'py39-xdist'
|
||||||
|
run: |
|
||||||
|
sudo add-apt-repository ppa:deadsnakes/nightly
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y --no-install-recommends python3.9-dev python3.9-distutils
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
|
|
|
@ -26,6 +26,7 @@ classifiers =
|
||||||
Programming Language :: Python :: 3.6
|
Programming Language :: Python :: 3.6
|
||||||
Programming Language :: Python :: 3.7
|
Programming Language :: Python :: 3.7
|
||||||
Programming Language :: Python :: 3.8
|
Programming Language :: Python :: 3.8
|
||||||
|
Programming Language :: Python :: 3.9
|
||||||
platforms = unix, linux, osx, cygwin, win32
|
platforms = unix, linux, osx, cygwin, win32
|
||||||
|
|
||||||
[options]
|
[options]
|
||||||
|
|
|
@ -122,7 +122,8 @@ def test_syntaxerror_rerepresentation() -> None:
|
||||||
assert ex is not None
|
assert ex is not None
|
||||||
assert ex.value.lineno == 1
|
assert ex.value.lineno == 1
|
||||||
assert ex.value.offset in {5, 7} # cpython: 7, pypy3.6 7.1.1: 5
|
assert ex.value.offset in {5, 7} # cpython: 7, pypy3.6 7.1.1: 5
|
||||||
assert ex.value.text == "xyz xyz\n"
|
assert ex.value.text
|
||||||
|
assert ex.value.text.rstrip("\n") == "xyz xyz"
|
||||||
|
|
||||||
|
|
||||||
def test_isparseable() -> None:
|
def test_isparseable() -> None:
|
||||||
|
@ -521,7 +522,7 @@ def test_getfslineno() -> None:
|
||||||
class B:
|
class B:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
B.__name__ = "B2"
|
B.__name__ = B.__qualname__ = "B2"
|
||||||
assert getfslineno(B)[1] == -1
|
assert getfslineno(B)[1] == -1
|
||||||
|
|
||||||
co = compile("...", "", "eval")
|
co = compile("...", "", "eval")
|
||||||
|
|
Loading…
Reference in New Issue