diff --git a/.travis.yml b/.travis.yml index bc821a434..afe2ad0a2 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,10 @@ cache: # note: use py 3.5.2, it has lzma support. 3.5(.0) on travis.org/trusty does not. matrix: include: + - python: 3.4 + os: linux + dist: trusty + env: TOXENV=flake8 - python: 3.4 os: linux dist: trusty @@ -21,14 +25,10 @@ matrix: os: linux dist: trusty env: TOXENV=py36 - - python: 3.4 + - python: 3.7 os: linux - dist: trusty - env: TOXENV=flake8 - - python: "3.6-dev" - os: linux - dist: trusty - env: TOXENV=py36 + dist: xenial + env: TOXENV=py37 - language: generic os: osx osx_image: xcode8.3 diff --git a/setup.py b/setup.py index 69f1c10f9..253a050a1 100644 --- a/setup.py +++ b/setup.py @@ -830,6 +830,7 @@ setup( 'Programming Language :: Python :: 3.4', 'Programming Language :: Python :: 3.5', 'Programming Language :: Python :: 3.6', + 'Programming Language :: Python :: 3.7', 'Topic :: Security :: Cryptography', 'Topic :: System :: Archiving :: Backup', ], diff --git a/src/borg/testsuite/archiver.py b/src/borg/testsuite/archiver.py index a165866ca..7bf9887a5 100644 --- a/src/borg/testsuite/archiver.py +++ b/src/borg/testsuite/archiver.py @@ -3673,7 +3673,13 @@ class TestCommonOptions: @pytest.fixture def subparsers(self, basic_parser): - return basic_parser.add_subparsers(title='required arguments', metavar='') + 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='', 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='') @pytest.fixture def parser(self, basic_parser): diff --git a/tox.ini b/tox.ini index 2e04bf2e7..7b317986b 100644 --- a/tox.ini +++ b/tox.ini @@ -2,7 +2,7 @@ # fakeroot -u tox --recreate [tox] -envlist = py{34,35,36},flake8 +envlist = py{34,35,36,37},flake8 [testenv] deps =