Merge pull request #7857 from ThomasWaldmann/misc-updates-1.2

misc. updates (1.2-maint)
This commit is contained in:
TW 2023-10-09 20:57:11 +02:00 committed by GitHub
commit bc553b1258
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 29 additions and 25 deletions

View File

@ -65,7 +65,7 @@ jobs:
python-version: '3.11'
toxenv: py311-fuse2
- os: ubuntu-22.04
python-version: '3.12-dev'
python-version: '3.12'
toxenv: py312-fuse3
- os: macos-12
python-version: '3.8'

7
Vagrantfile vendored
View File

@ -158,6 +158,7 @@ end
def install_pythons(boxname)
return <<-EOF
. ~/.bash_profile
pyenv install 3.12.0 # tests, version supporting openssl 1.1
pyenv install 3.11.1 # tests, version supporting openssl 1.1
pyenv install 3.10.2 # tests, version supporting openssl 1.1
pyenv install 3.9.18 # tests, version supporting openssl 1.1, binary build
@ -226,8 +227,8 @@ def run_tests(boxname, skip_env)
. ../borg-env/bin/activate
if which pyenv 2> /dev/null; then
# for testing, use the earliest point releases of the supported python versions:
pyenv global 3.9.18 3.10.2 3.11.1
pyenv local 3.9.18 3.10.2 3.11.1
pyenv global 3.9.18 3.10.2 3.11.1 3.12.0
pyenv local 3.9.18 3.10.2 3.11.1 3.12.0
fi
# otherwise: just use the system python
# avoid that git complains about dubious ownership if we use fakeroot:
@ -343,7 +344,7 @@ Vagrant.configure(2) do |config|
end
config.vm.define "stretch64" do |b|
b.vm.box = "debian/stretch64"
b.vm.box = "generic/debian9"
b.vm.provider :virtualbox do |v|
v.memory = 1024 + $wmem
end

View File

@ -1,3 +1,3 @@
[build-system]
requires = ["setuptools", "wheel", "pkgconfig", "Cython", "setuptools_scm>=1.7,<8"]
requires = ["setuptools", "wheel", "pkgconfig", "Cython", "setuptools_scm>=1.7"]
build-backend = "setuptools.build_meta"

View File

@ -1,12 +1,12 @@
setuptools==65.6.3
setuptools-scm==7.1.0
pip==22.3.1
virtualenv==20.17.1
setuptools==68.2.2
setuptools-scm==8.0.4
pip==23.2.1
virtualenv==20.24.5
pkgconfig==1.5.5
tox==4.0.18
pytest==7.2.0
pytest-xdist==3.1.0
pytest-cov==4.0.0
tox==4.11.3
pytest==7.4.2
pytest-xdist==3.3.1
pytest-cov==4.1.0
pytest-benchmark==4.0.0
Cython==0.29.36
python-dateutil==2.8.2

View File

@ -1,5 +1,5 @@
setuptools >=45, !=60.6.0, !=60.7.0
setuptools_scm <8
setuptools_scm
pip
virtualenv
pkgconfig

View File

@ -6,7 +6,7 @@ import re
import sys
import textwrap
from collections import OrderedDict
from datetime import datetime
from datetime import datetime, timezone
import time
from setuptools import Command
@ -460,10 +460,8 @@ class build_man(Command):
self.write_heading(write, description, double_sided=True)
# man page metadata
write(':Author: The Borg Collective')
write(
':Date:',
datetime.utcfromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))).date().isoformat(),
)
source_date_epoch = int(os.environ.get("SOURCE_DATE_EPOCH", time.time()))
write(':Date:', datetime.fromtimestamp(source_date_epoch, timezone.utc).date().isoformat())
write(':Manual section: 1')
write(':Manual group: borg backup tool')
write()

View File

@ -1084,6 +1084,11 @@ def test_swidth_slice_mixed_characters():
assert swidth_slice(string, 6) == '나윤a'
def utcfromtimestamp(timestamp):
"""Returns a naive datetime instance representing the timestamp in the UTC timezone"""
return datetime.fromtimestamp(timestamp, timezone.utc).replace(tzinfo=None)
def test_safe_timestamps():
if SUPPORT_32BIT_PLATFORMS:
# ns fit into int64
@ -1095,9 +1100,9 @@ def test_safe_timestamps():
# datetime won't fall over its y10k problem
beyond_y10k = 2 ** 100
with pytest.raises(OverflowError):
datetime.utcfromtimestamp(beyond_y10k)
assert datetime.utcfromtimestamp(safe_s(beyond_y10k)) > datetime(2038, 1, 1)
assert datetime.utcfromtimestamp(safe_ns(beyond_y10k) / 1000000000) > datetime(2038, 1, 1)
utcfromtimestamp(beyond_y10k)
assert utcfromtimestamp(safe_s(beyond_y10k)) > datetime(2038, 1, 1)
assert utcfromtimestamp(safe_ns(beyond_y10k) / 1000000000) > datetime(2038, 1, 1)
else:
# ns fit into int64
assert safe_ns(2 ** 64) <= 2 ** 63 - 1
@ -1108,9 +1113,9 @@ def test_safe_timestamps():
# datetime won't fall over its y10k problem
beyond_y10k = 2 ** 100
with pytest.raises(OverflowError):
datetime.utcfromtimestamp(beyond_y10k)
assert datetime.utcfromtimestamp(safe_s(beyond_y10k)) > datetime(2262, 1, 1)
assert datetime.utcfromtimestamp(safe_ns(beyond_y10k) / 1000000000) > datetime(2262, 1, 1)
utcfromtimestamp(beyond_y10k)
assert utcfromtimestamp(safe_s(beyond_y10k)) > datetime(2262, 1, 1)
assert utcfromtimestamp(safe_ns(beyond_y10k) / 1000000000) > datetime(2262, 1, 1)
class TestPopenWithErrorHandling: