Merge pull request #4001 from ThomasWaldmann/py37

argparse fix for py37, enable py37 testing
This commit is contained in:
TW 2018-07-31 00:40:41 +01:00 committed by GitHub
commit 87d48d7748
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 12 additions and 2 deletions

View File

@ -20,6 +20,10 @@ matrix:
os: linux
dist: trusty
env: TOXENV=py36
- python: "3.7"
os: linux
dist: xenial
env: TOXENV=py37
- language: generic
os: osx
osx_image: xcode8.3

View File

@ -3669,7 +3669,13 @@ class TestCommonOptions:
@pytest.fixture
def subparsers(self, basic_parser):
return basic_parser.add_subparsers(title='required arguments', metavar='<command>')
if sys.version_info >= (3, 7):
# py37 pre-release defaults to unwanted required=True, in 3.7.0+ it was fixed to =False
return basic_parser.add_subparsers(title='required arguments', metavar='<command>', required=False)
else:
# py36 does not support required=... argument (but behaves like required=False).
# note: use below call for 3.6 and 3.7 when there are no alphas/betas/RCs of 3.7.0 around any more.
return basic_parser.add_subparsers(title='required arguments', metavar='<command>')
@pytest.fixture
def parser(self, basic_parser):

View File

@ -2,7 +2,7 @@
# fakeroot -u tox --recreate
[tox]
envlist = py{36},flake8
envlist = py{36,37},flake8
[testenv]
deps =