add python3.9 testing and related llfuse changes (backport to 1.1-maint) (#5389)

also:

do brew update again with dev/null redirect to avoid "too much log output" on travis-ci
This commit is contained in:
pamaron 2020-10-06 18:11:55 +02:00 committed by GitHub
parent a0fa6eb22a
commit 9df0e61f79
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 31 additions and 27 deletions

View file

@ -7,10 +7,6 @@ cache:
matrix:
fast_finish: true
include:
- python: "3.4"
os: linux
dist: trusty
env: TOXENV=flake8
- python: "3.4"
os: linux
dist: trusty
@ -31,6 +27,18 @@ matrix:
os: linux
dist: xenial
env: TOXENV=py38
- python: "3.9-dev"
os: linux
dist: xenial
env: TOXENV=py39
- python: "3.9-dev"
os: linux
dist: focal
env: TOXENV=py39
- python: "3.6"
os: linux
dist: xenial
env: TOXENV=flake8
- language: generic
os: osx
osx_image: xcode8.3 # This is the latest working xcode image with osxfuse compatibility; later images come with an OS X version which doesn't allow kernel extensions

View file

@ -11,9 +11,8 @@ then
# Update brew itself
export HOMEBREW_NO_AUTO_UPDATE=1 # Auto-updating everything would take too much time
brew update
brew update > /dev/null
brew cleanup # Preempt possible scheduled clean-up so it doesn't clutter the log later
# Install and/or upgrade dependencies
brew install lz4 || brew upgrade lz4
brew install xz || brew upgrade xz # Required for Python lzma module
@ -61,14 +60,16 @@ python -m pip install virtualenv
python -m virtualenv ~/.venv
source ~/.venv/bin/activate
# Install requirements
pip install -r requirements.d/development.txt
pip install codecov
python setup.py --version
# Recent versions of OS X don't allow kernel extensions which makes the osxfuse tests fail; those versions are marked with SKIPFUSE=true in .travis.yml
if [ "${SKIPFUSE}" = "true" ]
then
truncate -s 0 requirements.d/fuse.txt
pip install -e .
else
pip install -e .[fuse]
fi
# Install requirements
pip install -r requirements.d/development.lock.txt
pip install codecov
python setup.py --version
pip install -e .[fuse]

4
Vagrantfile vendored
View file

@ -317,10 +317,10 @@ def run_tests(boxname)
# otherwise: just use the system python
if which fakeroot 2> /dev/null; then
echo "Running tox WITH fakeroot -u"
fakeroot -u tox --skip-missing-interpreters
fakeroot -u tox --skip-missing-interpreters -e py35,py36,py37,py38,py39
else
echo "Running tox WITHOUT fakeroot -u"
tox --skip-missing-interpreters
tox --skip-missing-interpreters -e py35,py36,py37,py38,py39
fi
EOF
end

View file

@ -1,4 +1,4 @@
# low-level FUSE support library for "borg mount"
# please see the comments in setup.py about llfuse.
llfuse<2.0
llfuse >=1.3.4, <1.3.7; python_version <"3.9" # broken on py39
llfuse >=1.3.7, <2.0; python_version >="3.9" # broken on freebsd

View file

@ -52,17 +52,12 @@ extras_require = {
# llfuse 1.2 (tested shortly, looks ok), needs FUSE version >= 2.8.0
# llfuse 1.3 (tested shortly, looks ok), needs FUSE version >= 2.8.0
# llfuse 2.0 will break API
'fuse': ['llfuse<2.0', ],
'fuse': [
'llfuse >=1.3.4, <1.3.7; python_version <"3.9"', # broken on py39
'llfuse >=1.3.7, <2.0; python_version >="3.9"', # broken on freebsd
],
}
if sys.platform.startswith('freebsd'):
# llfuse was frequently broken / did not build on freebsd
# llfuse 0.41.1, 1.1 are ok
extras_require['fuse'] = ['llfuse <2.0, !=0.42.*, !=0.43, !=1.0', ]
if my_python >= (3, 7):
extras_require['fuse'][0] += ', >=1.3.4'
from setuptools import setup, find_packages, Extension
from setuptools.command.sdist import sdist
from distutils.command.clean import clean
@ -89,7 +84,6 @@ cython_c_sources = [
hashindex_source,
item_source,
checksums_source,
platform_posix_source,
platform_linux_source,
platform_syncfilerange_source,
@ -870,6 +864,7 @@ setup(
'Programming Language :: Python :: 3.6',
'Programming Language :: Python :: 3.7',
'Programming Language :: Python :: 3.8',
'Programming Language :: Python :: 3.9',
'Topic :: Security :: Cryptography',
'Topic :: System :: Archiving :: Backup',
],

View file

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