Pull request event #2496.3 failed

  • Ran for
AMD64
no language set
Git
Raw log
Scroll to End of Log
0.20s0.12s3.11 is not installed; attempting download0.07s0.00s
worker_info
1Worker information
2hostname: 4248e6ba-cad9-48d4-8f65-46b7c2266580@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-3
3version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f030
4instance: travis-job-3b018f30-f015-4aed-b257-78bf538a345d travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)
5startup: 5.965213915s
60.37s0.01s0.00s0.02s
system_info
7Build system information
8Build language: python
9Build dist: jammy
10Build id: 274236385
11Job id: 630633625
12Runtime kernel version: 6.8.0-1018-gcp
13VM: default
14travis-build version: 6b157a1c
15Build image provisioning date and time
16Fri Nov 22 04:28:26 PM UTC 2024
17Operating System Details
18Distributor ID: Ubuntu
19Description: Ubuntu 22.04.5 LTS
20Release: 22.04
21Codename: jammy
22Systemd Version
23systemd 249 (249.11-0ubuntu3.12)
24Cookbooks Version
25be2ab50 https://github.com/travis-ci/travis-cookbooks/tree/be2ab50
26git version
27git version 2.47.0
28bash version
29GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
30gcc version
31gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
32docker version
33Client:
34 Version: 24.0.7
35 API version: 1.43
36 Go version: go1.21.1
37 Git commit: 24.0.7-0ubuntu2~22.04.1
38 Built: Wed Mar 13 20:23:54 2024
39 OS/Arch: linux/amd64
40 Context: default
42Server:
43 Engine:
44 Version: 24.0.7
45 API version: 1.43 (minimum version 1.12)
46 Go version: go1.21.1
47 Git commit: 24.0.7-0ubuntu2~22.04.1
48 Built: Wed Mar 13 20:23:54 2024
49 OS/Arch: linux/amd64
50 Experimental: false
51 containerd:
52 Version: 1.7.12
53 GitCommit:
54 runc:
55 Version: 1.1.12-0ubuntu2~22.04.1
56 GitCommit:
57 docker-init:
58 Version: 0.19.0
59 GitCommit:
60clang version
61clang version 18.1.8
62jq version
63jq-1.7.1
64bats version
65Bats 1.11.0
66shellcheck version
670.10.0
68shfmt version
69v3.8.0
70ccache version
714.5.1
72cmake version
73cmake version 3.29.0
74heroku version
75heroku/9.5.0 linux-x64 node-v16.20.2
76imagemagick version
77Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
78md5deep version
794.4
80mercurial version
81version 6.5.2
82mysql version
83mysql Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
84openssl version
85OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
86packer version
87Packer v1.11.2
88postgresql client version
89psql (PostgreSQL) 14.13 (Ubuntu 14.13-0ubuntu0.22.04.1)
90ragel version
91Ragel State Machine Compiler version 6.10 March 2017
92sudo version
931.9.9
94gzip version
95gzip 1.10
96zip version
97Zip 3.0
98vim version
99VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 16 2024 17:27:14)
100iptables version
101iptables v1.8.7 (nf_tables)
102curl version
103curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.18
104wget version
105GNU Wget 1.21.2 built on linux-gnu.
106rsync version
107rsync version 3.2.7 protocol version 31
108nvm version
1090.40.1
110perlbrew version
111/home/travis/perl5/perlbrew/bin/perlbrew - App::perlbrew/0.95
112phpenv version
113rbenv 1.3.0
114rvm version
115rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
116default ruby version
117ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]
118default python version
119Python 3.10.14
120ElasticSearch version
1217.16.3
122Installed Firefox version
123firefox 99.0
124MongoDB version
125MongoDB 6.0.19
126ant version
127Apache Ant(TM) version 1.10.12 compiled on January 17 1970
128mvn version
129Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
130gradle version
131Gradle 8.3!
132lein version
133Leiningen 2.11.2 on Java 11.0.21 OpenJDK 64-Bit Server VM
134Pre-installed Node.js versions
135v10.24.1
136v12.22.12
137v14.21.3
138v16.15
139v16.20.2
140v18.20.3
141v18.20.5
142v20.18.1
143v22.11.0
144v4.9.1
145v6.17.1
146v8.17.0
147phpenv versions
148 system
149 8.1
150* 8.1.2 (set by /home/travis/.phpenv/version)
151 hhvm-stable
152 hhvm
153composer --version
154Composer version 2.3.7 2022-06-06 16:43:28
155Pre-installed Ruby versions
156ruby-2.7.8
157ruby-3.3.5
1590.02s0.01s0.56s0.28s0.06s0.00s0.04s0.00s0.03s0.01s0.02s0.01s0.01s0.00s0.46sOK
1600.00s0.07s0.00s0.02s0.15s0.00s0.00s0.00s0.01s0.00s0.13s0.00s1.04s0.00s0.00s21.43s0.00s3.75s0.00s3.78s
docker_mtu_and_registry_mirrors
Docker
resolvconf
161Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/22.04/x86_64/python-3.11.tar.bz2
1620.60s$ curl -sSf --retry 5 -o python-3.11.tar.bz2 ${archive_url}
16316.15s$ sudo tar xjf python-3.11.tar.bz2 --directory /
1640.00s
ssh_known_hosts.0
165Adding ssh known hosts
166$ mkdir -p ${TRAVIS_HOME}/.ssh
1670.06s$ ssh-keyscan -t $TRAVIS_SSH_KEY_TYPES -H localhost 2>&1 | tee -a ${TRAVIS_HOME}/.ssh/known_hosts
168# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
169# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
170# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
171|1|Qd9y5rLI62hLFJWgmfKOOUg/SzA=|l+C50SscT6KkBDItTMT3KpVR1DQ= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=
172|1|FRNCitLK+K3MxbRQdUYLi+DCLMI=|QMgkAzGLzYDnu7iD5c6OqKAwjl8= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=
git.checkout
1740.01s1.12s$ git clone --depth=50 https://github.com/bit-team/backintime.git bit-team/backintime
175Cloning into 'bit-team/backintime'...
176remote: Enumerating objects: 932, done.
177remote: Counting objects: 100% (932/932), done.
178remote: Compressing objects: 100% (558/558), done.
179remote: Total 932 (delta 541), reused 632 (delta 345), pack-reused 0 (from 0)
180Receiving objects: 100% (932/932), 4.82 MiB | 21.64 MiB/s, done.
181Resolving deltas: 100% (541/541), done.
182$ cd bit-team/backintime
1830.27s$ git fetch origin +refs/pull/2039/merge: --depth=50
184remote: Enumerating objects: 47, done.
185remote: Counting objects: 100% (42/42), done.
186remote: Compressing objects: 100% (14/14), done.
187remote: Total 33 (delta 25), reused 26 (delta 19), pack-reused 0 (from 0)
188Unpacking objects: 100% (33/33), 4.91 KiB | 359.00 KiB/s, done.
189From https://github.com/bit-team/backintime
190 * branch refs/pull/2039/merge -> FETCH_HEAD
191$ git checkout -qf FETCH_HEAD
1930.00s
194Setting environment variables from .travis.yml
195$ export PYTHONUNBUFFERED=1
1970.01s$ source ~/virtualenv/python3.11/bin/activate
198$ python --version
199Python 3.11.9
200$ pip --version
201pip 24.1.2 from /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages/pip (python 3.11)
before_install.1
2020.01s$ sudo rm -f /etc/apt/sources.list.d/mongodb*.list
before_install.2
2030.12s$ sudo apt-key del 90CFB1F5
204Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
205OK
before_install.3
2062.69s$ sudo apt-get -qq update
207W: http://package.perforce.com/apt/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
208W: http://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
before_install.4
2096.21s$ sudo apt-get install -y sshfs screen util-linux libdbus-1-dev
210Reading package lists... Done
211Building dependency tree... Done
212Reading state information... Done
213screen is already the newest version (4.9.0-1).
214libdbus-1-dev is already the newest version (1.12.20-2ubuntu4.1).
215util-linux is already the newest version (2.37.2-4ubuntu3.4).
216The following NEW packages will be installed:
217 sshfs
2180 upgraded, 1 newly installed, 0 to remove and 134 not upgraded.
219Need to get 45.1 kB of archives.
220After this operation, 126 kB of additional disk space will be used.
221Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 sshfs amd64 3.7.1+repack-2 [45.1 kB]
222Fetched 45.1 kB in 0s (115 kB/s)
223Selecting previously unselected package sshfs.
224(Reading database ... 132481 files and directories currently installed.)
225Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...
226Unpacking sshfs (3.7.1+repack-2) ...
227Setting up sshfs (3.7.1+repack-2) ...
228Processing triggers for man-db (2.10.2-1) ...
229NEEDRESTART-VER: 3.5
230NEEDRESTART-KCUR: 6.8.0-1018-gcp
231NEEDRESTART-KEXP: 6.8.0-1018-gcp
232NEEDRESTART-KSTA: 1
install.1
2331.85s$ pip install -U pip
234Requirement already satisfied: pip in /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages (24.1.2)
235Collecting pip
236 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)
237Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)
238Installing collected packages: pip
239 Attempting uninstall: pip
240 Found existing installation: pip 24.1.2
241 Uninstalling pip-24.1.2:
242 Successfully uninstalled pip-24.1.2
243Successfully installed pip-25.0.1
install.2
2445.32s$ pip install pylint ruff flake8 pyfakefs keyring
245Collecting pylint
246 Downloading pylint-3.3.4-py3-none-any.whl.metadata (12 kB)
247Collecting ruff
248 Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)
249Collecting flake8
250 Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)
251Collecting pyfakefs
252 Downloading pyfakefs-5.7.4-py3-none-any.whl.metadata (7.8 kB)
253Collecting keyring
254 Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)
255Collecting dill>=0.3.6 (from pylint)
256 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)
257Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages (from pylint) (4.2.2)
258Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)
259 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)
260Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)
261 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)
262Collecting mccabe<0.8,>=0.6 (from pylint)
263 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)
264Collecting tomlkit>=0.10.1 (from pylint)
265 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)
266Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)
267 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)
268Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)
269 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)
270Collecting SecretStorage>=3.2 (from keyring)
271 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)
272Collecting jeepney>=0.4.2 (from keyring)
273 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)
274Collecting importlib_metadata>=4.11.4 (from keyring)
275 Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)
276Collecting jaraco.classes (from keyring)
277 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
278Collecting jaraco.functools (from keyring)
279 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
280Collecting jaraco.context (from keyring)
281 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
282Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring)
283 Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
284Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)
285 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
286Collecting more-itertools (from jaraco.classes->keyring)
287 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
288Collecting backports.tarfile (from jaraco.context->keyring)
289 Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
290Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)
291 Downloading cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
292Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)
293 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
294Downloading pylint-3.3.4-py3-none-any.whl (522 kB)
295Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)
296Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)
297Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)
298Downloading keyring-25.6.0-py3-none-any.whl (39 kB)
299Downloading astroid-3.3.8-py3-none-any.whl (275 kB)
300Downloading dill-0.3.9-py3-none-any.whl (119 kB)
301Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)
302Downloading isort-6.0.0-py3-none-any.whl (94 kB)
303Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)
304Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
305Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)
306Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)
307Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)
308Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
309Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
310Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
311Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
312Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)
313Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)
314Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
315Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
316Downloading cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (467 kB)
317Downloading pycparser-2.22-py3-none-any.whl (117 kB)
318Installing collected packages: zipp, tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, isort, dill, backports.tarfile, astroid, pylint, jaraco.functools, jaraco.context, jaraco.classes, importlib_metadata, flake8, cffi, cryptography, SecretStorage, keyring
319Successfully installed SecretStorage-3.3.3 astroid-3.3.8 backports.tarfile-1.2.0 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 importlib_metadata-8.6.1 isort-6.0.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.6.0 mccabe-0.7.0 more-itertools-10.6.0 pycodestyle-2.12.1 pycparser-2.22 pyfakefs-5.7.4 pyflakes-3.2.0 pylint-3.3.4 ruff-0.9.6 tomlkit-0.13.2 zipp-3.21.0
install.3
32016.04s$ pip install pyqt6 dbus-python
321Collecting pyqt6
322 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
323Collecting dbus-python
324 Downloading dbus-python-1.3.2.tar.gz (605 kB)
325 Installing build dependencies ... done
326 Getting requirements to build wheel ... done
327 Preparing metadata (pyproject.toml) ... done
328Collecting PyQt6-sip<14,>=13.8 (from pyqt6)
329 Downloading PyQt6_sip-13.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)
330Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)
331 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)
332Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)
333Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)
334Downloading PyQt6_sip-13.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl (293 kB)
335Building wheels for collected packages: dbus-python
336 Building wheel for dbus-python (pyproject.toml) ... done
337 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp311-cp311-linux_x86_64.whl size=121954 sha256=1ae9e285209fe2a29476d45df94b9c504b7c115458b24846d5f66f3a3e682dad
338 Stored in directory: /home/travis/.cache/pip/wheels/84/33/c2/bb34ffd273446cb228d2154aa702365159f5a7dcc5278584ce
339Successfully built dbus-python
340Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6
341Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1
install.4
3420.09s$ ssh-keygen -b 2048 -t rsa -f /home/travis/.ssh/id_rsa -N ""
343Generating public/private rsa key pair.
344Your identification has been saved in /home/travis/.ssh/id_rsa
345Your public key has been saved in /home/travis/.ssh/id_rsa.pub
346The key fingerprint is:
347SHA256:53MFwZpI/dT9/hgYBYr06i/IkGaDrpQniKTT/OIWWNo travis@travis-job-3b018f30-f015-4aed-b257-78bf538a345d
348The key's randomart image is:
349+---[RSA 2048]----+
350| .. .oo . |
351| ..o..o.o .|
352| ...o=.. .|
353| . ..o o. .|
354| * . . S . o.. |
355|BoE * . o ... .|
356|==o= + .. o . o.|
357|..*. o .. o . .|
358|.+... .. |
359+----[SHA256]-----+
install.5
3600.00s$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
install.6
3610.01s$ eval `ssh-agent -s`
362Agent pid 5167
3630.29s$ python -m compileall common common/test common/plugins qt qt/test qt/plugins
364Listing 'common'...
365Compiling 'common/applicationinstance.py'...
366Compiling 'common/askpass.py'...
367Compiling 'common/backintime.py'...
368Listing 'common/bash-completion'...
369Compiling 'common/bcolors.py'...
370Compiling 'common/bitbase.py'...
371Compiling 'common/cli.py'...
372Compiling 'common/config.py'...
373Compiling 'common/configfile.py'...
374Compiling 'common/daemon.py'...
375Compiling 'common/diagnostics.py'...
376Listing 'common/doc-dev'...
377Listing 'common/doc-dev/_static'...
378Listing 'common/doc-dev/_templates'...
379Compiling 'common/doc-dev/conf.py'...
380Listing 'common/doc-dev/plugins'...
381Compiling 'common/encfstools.py'...
382Compiling 'common/encode.py'...
383Compiling 'common/exceptions.py'...
384Compiling 'common/flock.py'...
385Compiling 'common/guiapplicationinstance.py'...
386Compiling 'common/languages.py'...
387Compiling 'common/logger.py'...
388Listing 'common/man'...
389Listing 'common/man/C'...
390Compiling 'common/mount.py'...
391Compiling 'common/password.py'...
392Compiling 'common/password_ipc.py'...
393Compiling 'common/pluginmanager.py'...
394Listing 'common/plugins'...
395Compiling 'common/plugins/usercallbackplugin.py'...
396Listing 'common/po'...
397Compiling 'common/progress.py'...
398Compiling 'common/qt_probing.py'...
399Compiling 'common/schedule.py'...
400Compiling 'common/singleton.py'...
401Compiling 'common/snapshotlog.py'...
402Compiling 'common/snapshots.py'...
403Compiling 'common/ssh_max_arg.py'...
404Compiling 'common/sshtools.py'...
405Listing 'common/test'...
406Compiling 'common/test/__init__.py'...
407Compiling 'common/test/constants.py'...
408Compiling 'common/test/generic.py'...
409Compiling 'common/test/test_applicationinstance.py'...
410Compiling 'common/test/test_argparser.py'...
411Compiling 'common/test/test_backintime.py'...
412Compiling 'common/test/test_backup.py'...
413Compiling 'common/test/test_config.py'...
414Compiling 'common/test/test_config_crontab.py'...
415Compiling 'common/test/test_configfile.py'...
416Compiling 'common/test/test_diagnostics.py'...
417Compiling 'common/test/test_encfstools.py'...
418Compiling 'common/test/test_languages.py'...
419Compiling 'common/test/test_lint.py'...
420Compiling 'common/test/test_mount.py'...
421Compiling 'common/test/test_plugin_usercallback.py'...
422Compiling 'common/test/test_restore.py'...
423Compiling 'common/test/test_schedule.py'...
424Compiling 'common/test/test_sid.py'...
425Compiling 'common/test/test_singleton.py'...
426Compiling 'common/test/test_snapshotlog.py'...
427Compiling 'common/test/test_snapshots.py'...
428Compiling 'common/test/test_snapshots_autoremove.py'...
429Compiling 'common/test/test_sshtools.py'...
430Compiling 'common/test/test_takeSnapshot.py'...
431Compiling 'common/test/test_tools.py'...
432Compiling 'common/test/test_uniquenessset.py'...
433Compiling 'common/tools.py'...
434Compiling 'common/uniquenessset.py'...
435Compiling 'common/version.py'...
436Listing 'common/test'...
437Listing 'common/plugins'...
438Listing 'qt'...
439Compiling 'qt/aboutdlg.py'...
440Compiling 'qt/app.py'...
441Compiling 'qt/editusercallback.py'...
442Compiling 'qt/encfsmsgbox.py'...
443Compiling 'qt/icon.py'...
444Listing 'qt/icons'...
445Listing 'qt/icons/16x16'...
446Listing 'qt/icons/16x16/actions'...
447Listing 'qt/icons/22x22'...
448Listing 'qt/icons/22x22/actions'...
449Listing 'qt/icons/24x24'...
450Listing 'qt/icons/24x24/actions'...
451Listing 'qt/icons/32x32'...
452Listing 'qt/icons/32x32/actions'...
453Listing 'qt/icons/48x48'...
454Listing 'qt/icons/48x48/actions'...
455Listing 'qt/icons/scalable'...
456Listing 'qt/icons/scalable/actions'...
457Compiling 'qt/languagedialog.py'...
458Compiling 'qt/logviewdialog.py'...
459Listing 'qt/man'...
460Listing 'qt/man/C'...
461Listing 'qt/manageprofiles'...
462Compiling 'qt/manageprofiles/__init__.py'...
463Compiling 'qt/manageprofiles/combobox.py'...
464Compiling 'qt/manageprofiles/schedulewidget.py'...
465Compiling 'qt/manageprofiles/spinboxunit.py'...
466Compiling 'qt/manageprofiles/sshproxywidget.py'...
467Compiling 'qt/manageprofiles/statebindcheckbox.py'...
468Compiling 'qt/manageprofiles/tab_expert_options.py'...
469Compiling 'qt/manageprofiles/tab_general.py'...
470Compiling 'qt/manageprofiles/tab_options.py'...
471Compiling 'qt/manageprofiles/tab_remove_retention.py'...
472Compiling 'qt/messagebox.py'...
473Listing 'qt/plugins'...
474Compiling 'qt/plugins/notifyplugin.py'...
475Compiling 'qt/plugins/systrayiconplugin.py'...
476Compiling 'qt/qtsystrayicon.py'...
477Compiling 'qt/qttools.py'...
478Compiling 'qt/qttools_path.py'...
479Compiling 'qt/restoreconfigdialog.py'...
480Compiling 'qt/restoredialog.py'...
481Compiling 'qt/serviceHelper.py'...
482Compiling 'qt/snapshotsdialog.py'...
483Compiling 'qt/statedata.py'...
484Listing 'qt/test'...
485Compiling 'qt/test/__init__.py'...
486Compiling 'qt/test/test_lint.py'...
487Compiling 'qt/test/test_statedata.py'...
488Compiling 'qt/usermessagedialog.py'...
489Listing 'qt/test'...
490Listing 'qt/plugins'...
491The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.
4920.00s$ cd common
493The command "cd common" exited with 0.
4940.15s$ ./configure
495Replacement of python path with "/usr/bin/python3" successful.
496All OK. Now run:
497 make
498 sudo make install
499The command "./configure" exited with 0.
500$ make unittest-v
501/home/travis/virtualenv/python3.11.9/bin/pytest -v
502============================= test session starts ==============================
503platform linux -- Python 3.11.9, pytest-8.3.2, pluggy-1.5.0 -- /home/travis/virtualenv/python3.11.9/bin/python
504cachedir: .pytest_cache
505rootdir: /home/travis/build/bit-team/backintime/common
506plugins: pyfakefs-5.7.4
507collected 427 items
509test/test_applicationinstance.py::General::test_autoExit_other_running_process PASSED [ 0%]
510test/test_applicationinstance.py::General::test_autoExit_unique_process PASSED [ 0%]
511test/test_applicationinstance.py::General::test_auto_flock PASSED [ 0%]
512test/test_applicationinstance.py::General::test_create_and_remove_pid_file PASSED [ 0%]
513test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]
514test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]
515test/test_applicationinstance.py::General::test_existing_process_with_wrong_pid PASSED [ 1%]
516test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]
517test/test_applicationinstance.py::General::test_flock_exclusive PASSED [ 2%]
518test/test_applicationinstance.py::General::test_flock_exclusive_fail PASSED [ 2%]
519test/test_applicationinstance.py::General::test_killing_existing_process PASSED [ 2%]
520test/test_applicationinstance.py::General::test_leftover_empty_lockfile PASSED [ 2%]
521test/test_applicationinstance.py::General::test_no_pid_file PASSED [ 3%]
522test/test_applicationinstance.py::General::test_non_existing_process PASSED [ 3%]
523test/test_applicationinstance.py::General::test_pid_file_content PASSED [ 3%]
524test/test_applicationinstance.py::General::test_readPidFile PASSED [ 3%]
525test/test_applicationinstance.py::General::test_readPidFile_fail PASSED [ 3%]
526test/test_applicationinstance.py::General::test_thread_write_without_flock PASSED [ 4%]
527test/test_applicationinstance.py::General::test_write_pid_fail PASSED [ 4%]
528test/test_argparser.py::General::test_config PASSED [ 4%]
529test/test_argparser.py::General::test_config_no_path PASSED [ 4%]
530test/test_argparser.py::General::test_debug PASSED [ 5%]
531test/test_argparser.py::General::test_invalid_arg PASSED [ 5%]
532test/test_argparser.py::General::test_quiet PASSED [ 5%]
533test/test_argparser.py::Backup::test_backwards_compatiblity_alias PASSED [ 5%]
534test/test_argparser.py::Backup::test_multi_args PASSED [ 6%]
535test/test_argparser.py::Backup::test_profile PASSED [ 6%]
536test/test_argparser.py::Backup::test_profile_and_profile_id PASSED [ 6%]
537test/test_argparser.py::Backup::test_profile_id PASSED [ 6%]
538test/test_argparser.py::Backup::test_quiet PASSED [ 7%]
539test/test_argparser.py::Backup::test_simple PASSED [ 7%]
540test/test_argparser.py::Restore::test_empty_where PASSED [ 7%]
541test/test_argparser.py::Restore::test_local_backup_and_no_local_backup PASSED [ 7%]
542test/test_argparser.py::Restore::test_multi_args PASSED [ 7%]
543test/test_argparser.py::Restore::test_simple PASSED [ 8%]
544test/test_argparser.py::Restore::test_snapshot_id_index PASSED [ 8%]
545test/test_argparser.py::Restore::test_what_space_in_path PASSED [ 8%]
546test/test_argparser.py::Restore::test_what_where_snapshot_id PASSED [ 8%]
547test/test_argparser.py::Restore::test_what_where_snapshot_id_multi_args PASSED [ 9%]
548test/test_argparser.py::Restore::test_where_space_in_path PASSED [ 9%]
549test/test_backintime.py::BackInTime::test_diagnostics_arg PASSED [ 9%]
550test/test_backintime.py::BackInTime::test_local_snapshot_is_successful FAILED [ 9%]
551test/test_backintime.py::BackInTime::test_quiet_mode PASSED [ 10%]
552test/test_backup.py::TestBackup::test_already_running PASSED [ 10%]
553test/test_backup.py::TestBackup::test_backup PASSED [ 10%]
554test/test_backup.py::TestBackup::test_backup_async PASSED [ 10%]
555test/test_backup.py::TestBackup::test_backup_async_profile_2 PASSED [ 11%]
556test/test_backup.py::TestBackup::test_backup_async_with_checksum PASSED [ 11%]
557test/test_backup.py::TestBackup::test_cant_backup PASSED [ 11%]
558test/test_backup.py::TestBackup::test_mount_exception PASSED [ 11%]
559test/test_backup.py::TestBackup::test_no_backup_on_battery PASSED [ 11%]
560test/test_backup.py::TestBackup::test_no_changes PASSED [ 12%]
561test/test_backup.py::TestBackup::test_not_configured PASSED [ 12%]
562test/test_backup.py::TestBackup::test_plugin_prevented_backup PASSED [ 12%]
563test/test_backup.py::TestBackup::test_scheduled PASSED [ 12%]
564test/test_backup.py::TestBackup::test_takeSnapshot_exception_cleanup PASSED [ 13%]
565test/test_backup.py::TestBackup::test_umount_exception PASSED [ 13%]
566test/test_backup.py::TestBackup::test_with_errors PASSED [ 13%]
567test/test_config.py::RemoveOldSnapshotsDate::test_day PASSED [ 13%]
568test/test_config.py::RemoveOldSnapshotsDate::test_invalid_unit PASSED [ 14%]
569test/test_config.py::RemoveOldSnapshotsDate::test_week_always_monday PASSED [ 14%]
570test/test_config.py::RemoveOldSnapshotsDate::test_week_ignore_current PASSED [ 14%]
571test/test_config.py::RemoveOldSnapshotsDate::test_year_ignore_current_month PASSED [ 14%]
572test/test_config.py::SshCommand::test_cipher_aes256_cbc PASSED [ 14%]
573test/test_config.py::SshCommand::test_cipher_disabled PASSED [ 15%]
574test/test_config.py::SshCommand::test_custom_args PASSED [ 15%]
575test/test_config.py::SshCommand::test_disable_args PASSED [ 15%]
576test/test_config.py::SshCommand::test_full_command PASSED [ 15%]
577test/test_config.py::SshCommand::test_nice_and_ionice PASSED [ 16%]
578test/test_config.py::SshCommand::test_nice_and_ionice_without_command PASSED [ 16%]
579test/test_config.py::SshCommand::test_prefix PASSED [ 16%]
580test/test_config.py::SshCommand::test_prefix_false PASSED [ 16%]
581test/test_config.py::SshCommand::test_quote PASSED [ 17%]
582test/test_config.py::SshCommand::test_quote_without_command PASSED [ 17%]
583test/test_config.py::SshCommand::test_without_command PASSED [ 17%]
584test/test_config_crontab.py::Cron::test_cron_lines PASSED [ 17%]
585test/test_config_crontab.py::CrontabDebug::test_crontab_contains_debug PASSED [ 18%]
586test/test_config_crontab.py::CrontabDebug::test_crontab_without_debug PASSED [ 18%]
587test/test_configfile.py::TestConfigFile::test_boolValue PASSED [ 18%]
588test/test_configfile.py::TestConfigFile::test_boolValue_default PASSED [ 18%]
589test/test_configfile.py::TestConfigFile::test_hasKey PASSED [ 18%]
590test/test_configfile.py::TestConfigFile::test_intValue PASSED [ 19%]
591test/test_configfile.py::TestConfigFile::test_intValue_default PASSED [ 19%]
592test/test_configfile.py::TestConfigFile::test_listValue_bool PASSED [ 19%]
593test/test_configfile.py::TestConfigFile::test_listValue_default PASSED [ 19%]
594test/test_configfile.py::TestConfigFile::test_listValue_empty_list PASSED [ 20%]
595test/test_configfile.py::TestConfigFile::test_listValue_int PASSED [ 20%]
596test/test_configfile.py::TestConfigFile::test_listValue_invalid_type PASSED [ 20%]
597test/test_configfile.py::TestConfigFile::test_listValue_missing_values PASSED [ 20%]
598test/test_configfile.py::TestConfigFile::test_listValue_str PASSED [ 21%]
599test/test_configfile.py::TestConfigFile::test_listValue_tuple PASSED [ 21%]
600test/test_configfile.py::TestConfigFile::test_listValue_tuple_missing_values PASSED [ 21%]
601test/test_configfile.py::TestConfigFile::test_listValue_wrong_size PASSED [ 21%]
602test/test_configfile.py::TestConfigFile::test_listValue_zero_count PASSED [ 22%]
603test/test_configfile.py::TestConfigFile::test_load PASSED [ 22%]
604test/test_configfile.py::TestConfigFile::test_remapKey PASSED [ 22%]
605test/test_configfile.py::TestConfigFile::test_remapKeyRegex PASSED [ 22%]
606test/test_configfile.py::TestConfigFile::test_remove_key PASSED [ 22%]
607test/test_configfile.py::TestConfigFile::test_remove_keys_start_with PASSED [ 23%]
608test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]
609test/test_configfile.py::TestConfigFile::test_save PASSED [ 23%]
610test/test_configfile.py::TestConfigFile::test_setBoolValue PASSED [ 23%]
611test/test_configfile.py::TestConfigFile::test_setIntValue PASSED [ 24%]
612test/test_configfile.py::TestConfigFile::test_setListValue_bool PASSED [ 24%]
613test/test_configfile.py::TestConfigFile::test_setListValue_int PASSED [ 24%]
614test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]
615test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_value PASSED [ 25%]
616test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers PASSED [ 25%]
617test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers_tuple PASSED [ 25%]
618test/test_configfile.py::TestConfigFile::test_setListValue_str PASSED [ 25%]
619test/test_configfile.py::TestConfigFile::test_setListValue_tuple PASSED [ 25%]
620test/test_configfile.py::TestConfigFile::test_setListValue_tuple_missing_values PASSED [ 26%]
621test/test_configfile.py::TestConfigFile::test_setStrValue PASSED [ 26%]
622test/test_configfile.py::TestConfigFile::test_strValue PASSED [ 26%]
623test/test_configfile.py::TestConfigFile::test_strValue_default PASSED [ 26%]
624test/test_configfile.py::TestConfigFileWithProfiles::test_addProfile PASSED [ 27%]
625test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile PASSED [ 27%]
626test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile_by_name PASSED [ 27%]
627test/test_configfile.py::TestConfigFileWithProfiles::test_get_profile_key PASSED [ 27%]
628test/test_configfile.py::TestConfigFileWithProfiles::test_hasProfileKey PASSED [ 28%]
629test/test_configfile.py::TestConfigFileWithProfiles::test_load PASSED [ 28%]
630test/test_configfile.py::TestConfigFileWithProfiles::test_profileExists PASSED [ 28%]
631test/test_configfile.py::TestConfigFileWithProfiles::test_profileExistsByName PASSED [ 28%]
632test/test_configfile.py::TestConfigFileWithProfiles::test_profileName PASSED [ 29%]
633test/test_configfile.py::TestConfigFileWithProfiles::test_profiles PASSED [ 29%]
634test/test_configfile.py::TestConfigFileWithProfiles::test_profilesSortedByName PASSED [ 29%]
635test/test_configfile.py::TestConfigFileWithProfiles::test_remapProfileKey PASSED [ 29%]
636test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfile PASSED [ 29%]
637test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKey PASSED [ 30%]
638test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]
639test/test_configfile.py::TestConfigFileWithProfiles::test_setProfileName PASSED [ 30%]
640test/test_configfile.py::TestConfigFileWithProfiles::test_set_profile_value PASSED [ 30%]
641test/test_diagnostics.py::Diagnostics::test_content_minimal PASSED [ 31%]
642test/test_diagnostics.py::Diagnostics::test_no_extern_version PASSED [ 31%]
643test/test_diagnostics.py::Diagnostics::test_no_ressource_warning PASSED [ 31%]
644test/test_diagnostics.py::Diagnostics::test_replace_user_path PASSED [ 31%]
645test/test_diagnostics.py::Diagnostics::test_some_content PASSED [ 32%]
646test/test_encfstools.py::TestEncFS_mount::test_dummy PASSED [ 32%]
647test/test_encfstools.py::TestEncFS_mount::test_initialise_encfs PASSED [ 32%]
648test/test_languages.py::General::test_completeness_key_types PASSED [ 32%]
649test/test_languages.py::General::test_completeness_value_types PASSED [ 33%]
650test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 33%]
651test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset FAILED [ 33%]
652test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset FAILED [ 33%]
653test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset FAILED [ 33%]
654test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset FAILED [ 34%]
655test/test_lint.py::MirrorMirrorOnTheWall::test060_reuse SKIPPED (Usi...) [ 34%]
656test/test_mount.py::CheckLocks::test_foreign_lock PASSED [ 34%]
657test/test_mount.py::CheckLocks::test_foreign_lock_notexisting_pid PASSED [ 34%]
658test/test_mount.py::CheckLocks::test_ignore_own_lock PASSED [ 35%]
659test/test_mount.py::CheckLocks::test_lock_remove PASSED [ 35%]
660test/test_mount.py::CheckLocks::test_not_existing_dir PASSED [ 35%]
661test/test_mount.py::CheckLocks::test_own_lock_but_diff_tmpmount PASSED [ 35%]
662test/test_mount.py::CheckLocks::test_symlinks_remove PASSED [ 36%]
663test/test_mount.py::CheckHighLevelLocalMount::test_first_preMountCheck PASSED [ 36%]
664test/test_mount.py::CheckHighLevelLocalMount::test_initialised_preMountCheck PASSED [ 36%]
665test/test_mount.py::CheckHighLevelLocalMount::test_mount PASSED [ 36%]
666test/test_mount.py::CheckHighLevelLocalMount::test_remount_to_new_local_mount PASSED [ 37%]
667test/test_mount.py::CheckHighLevelLocalMount::test_umount PASSED [ 37%]
668test/test_plugin_usercallback.py::UserCallback::test_reason_appExit PASSED [ 37%]
669test/test_plugin_usercallback.py::UserCallback::test_reason_appStart PASSED [ 37%]
670test/test_plugin_usercallback.py::UserCallback::test_reason_error PASSED [ 37%]
671test/test_plugin_usercallback.py::UserCallback::test_reason_mount PASSED [ 38%]
672test/test_plugin_usercallback.py::UserCallback::test_reason_processBegin PASSED [ 38%]
673test/test_plugin_usercallback.py::UserCallback::test_reason_processEnd PASSED [ 38%]
674test/test_plugin_usercallback.py::UserCallback::test_reason_processnewSnapshot PASSED [ 38%]
675test/test_plugin_usercallback.py::UserCallback::test_reason_unmount PASSED [ 39%]
676test/test_plugin_usercallback.py::SystemTest::test_local_snapshot FAILED [ 39%]
677test/test_restore.py::TestRestore::test_backup PASSED [ 39%]
678test/test_restore.py::TestRestore::test_delete PASSED [ 39%]
679test/test_restore.py::TestRestore::test_no_backup PASSED [ 40%]
680test/test_restore.py::TestRestore::test_only_new PASSED [ 40%]
681test/test_restore.py::TestRestore::test_restore_folder_to_different_destination PASSED [ 40%]
682test/test_restore.py::TestRestore::test_restore_multiple_files PASSED [ 40%]
683test/test_restore.py::TestRestore::test_restore_to_different_destination PASSED [ 40%]
684test/test_restore.py::TestRestoreLocal::test_restore PASSED [ 41%]
685test/test_restore.py::TestRestoreLocal::test_restore_file_with_spaces PASSED [ 41%]
686test/test_restore.py::TestRestoreSSH::test_restore PASSED [ 41%]
687test/test_restore.py::TestRestoreSSH::test_restore_file_with_spaces PASSED [ 41%]
688test/test_schedule.py::Schedule::test_bit_to_crontab PASSED [ 42%]
689test/test_schedule.py::Schedule::test_remove_bit_entries PASSED [ 42%]
690test/test_sid.py::TestSID::test_displayID PASSED [ 42%]
691test/test_sid.py::TestSID::test_displayName PASSED [ 42%]
692test/test_sid.py::TestSID::test_equal_sid PASSED [ 43%]
693test/test_sid.py::TestSID::test_exists PASSED [ 43%]
694test/test_sid.py::TestSID::test_failed PASSED [ 43%]
695test/test_sid.py::TestSID::test_fileInfo PASSED [ 43%]
696test/test_sid.py::TestSID::test_fileInfoErrorRead PASSED [ 44%]
697test/test_sid.py::TestSID::test_fileInfoErrorWrite PASSED [ 44%]
698test/test_sid.py::TestSID::test_hash PASSED [ 44%]
699test/test_sid.py::TestSID::test_info PASSED [ 44%]
700test/test_sid.py::TestSID::test_isExistingPathInsideSnapshotFolder PASSED [ 44%]
701test/test_sid.py::TestSID::test_lastChecked PASSED [ 45%]
702test/test_sid.py::TestSID::test_log PASSED [ 45%]
703test/test_sid.py::TestSID::test_log_filter PASSED [ 45%]
704test/test_sid.py::TestSID::test_makeDirs PASSED [ 45%]
705test/test_sid.py::TestSID::test_makeWritable PASSED [ 46%]
706test/test_sid.py::TestSID::test_name PASSED [ 46%]
707test/test_sid.py::TestSID::test_new_object_with_invalid_type PASSED [ 46%]
708test/test_sid.py::TestSID::test_new_object_with_invalid_value PASSED [ 46%]
709test/test_sid.py::TestSID::test_new_object_with_valid_date PASSED [ 47%]
710test/test_sid.py::TestSID::test_path PASSED [ 47%]
711test/test_sid.py::TestSID::test_setLog_binary PASSED [ 47%]
712test/test_sid.py::TestSID::test_sort_sids PASSED [ 47%]
713test/test_sid.py::TestSID::test_split PASSED [ 48%]
714test/test_sid.py::TestSID::test_tag PASSED [ 48%]
715test/test_sid.py::TestSID::test_withoutTag PASSED [ 48%]
716test/test_sid.py::TestNewSnapshot::test_create_new PASSED [ 48%]
717test/test_sid.py::TestNewSnapshot::test_hasChanges PASSED [ 48%]
718test/test_sid.py::TestNewSnapshot::test_saveToContinue PASSED [ 49%]
719test/test_sid.py::TestRootSnapshot::test_create PASSED [ 49%]
720test/test_sid.py::TestRootSnapshot::test_path PASSED [ 49%]
721test/test_sid.py::TestIterSnapshots::test_iter_snapshots PASSED [ 49%]
722test/test_sid.py::TestIterSnapshots::test_lastSnapshot PASSED [ 50%]
723test/test_sid.py::TestIterSnapshots::test_list_invalid_snapshot PASSED [ 50%]
724test/test_sid.py::TestIterSnapshots::test_list_new_snapshot PASSED [ 50%]
725test/test_sid.py::TestIterSnapshots::test_list_not_reverse PASSED [ 50%]
726test/test_sid.py::TestIterSnapshots::test_list_snapshot_without_backup PASSED [ 51%]
727test/test_sid.py::TestIterSnapshots::test_list_symlink_last_snapshot PASSED [ 51%]
728test/test_sid.py::TestIterSnapshots::test_list_valid PASSED [ 51%]
729test/test_sid.py::TestIterSnapshots::test_list_without_new_snapshot PASSED [ 51%]
730test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_iterSnapshots PASSED [ 51%]
731test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_lastSnapshots PASSED [ 52%]
732test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_listSnapshots PASSED [ 52%]
733test/test_singleton.py::Test::test_multi_class PASSED [ 52%]
734test/test_singleton.py::Test::test_share_value PASSED [ 52%]
735test/test_singleton.py::Test::test_twins PASSED [ 53%]
736test/test_snapshotlog.py::TestLogFilter::test_filter PASSED [ 53%]
737test/test_snapshotlog.py::TestSnapshotLog::test_append PASSED [ 53%]
738test/test_snapshotlog.py::TestSnapshotLog::test_append_log_level PASSED [ 53%]
739test/test_snapshotlog.py::TestSnapshotLog::test_get PASSED [ 54%]
740test/test_snapshotlog.py::TestSnapshotLog::test_get_filter PASSED [ 54%]
741test/test_snapshotlog.py::TestSnapshotLog::test_new PASSED [ 54%]
742test/test_snapshotlog.py::TestSnapshotLog::test_new_continue PASSED [ 54%]
743test/test_snapshotlog.py::TestSnapshotLog::test_skipLines PASSED [ 55%]
744test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_filtered PASSED [ 55%]
745test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_show_all PASSED [ 55%]
746test/test_snapshots.py::SetTakeSnapshotMessage::test_error PASSED [ 55%]
747test/test_snapshots.py::SetTakeSnapshotMessage::test_info PASSED [ 55%]
748test/test_snapshots.py::UserAndGroups::test_gid_backup PASSED [ 56%]
749test/test_snapshots.py::UserAndGroups::test_gid_invalid PASSED [ 56%]
750test/test_snapshots.py::UserAndGroups::test_gid_valid PASSED [ 56%]
751test/test_snapshots.py::UserAndGroups::test_groupname_invalid PASSED [ 56%]
752test/test_snapshots.py::UserAndGroups::test_groupname_valid PASSED [ 57%]
753test/test_snapshots.py::UserAndGroups::test_uid_backup PASSED [ 57%]
754test/test_snapshots.py::UserAndGroups::test_uid_invalid PASSED [ 57%]
755test/test_snapshots.py::UserAndGroups::test_uid_valid PASSED [ 57%]
756test/test_snapshots.py::UserAndGroups::test_username_invalid PASSED [ 58%]
757test/test_snapshots.py::UserAndGroups::test_username_valid PASSED [ 58%]
758test/test_snapshots.py::HelperScripts::test_create_last_snapshot_symlink PASSED [ 58%]
759test/test_snapshots.py::HelperScripts::test_make_dirs PASSED [ 58%]
760test/test_snapshots.py::HelperScripts::test_rsync_remote_path PASSED [ 59%]
761test/test_snapshots.py::HelperScripts::test_stat_free_space_local PASSED [ 59%]
762test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_exclude_unique_items PASSED [ 59%]
763test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_root PASSED [ 59%]
764test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_unique_items PASSED [ 59%]
765test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_rsync_suffix PASSED [ 60%]
766test/test_snapshots.py::Callbacks::test_callback PASSED [ 60%]
767test/test_snapshots.py::Callbacks::test_dir PASSED [ 60%]
768test/test_snapshots.py::Callbacks::test_error PASSED [ 60%]
769test/test_snapshots.py::Callbacks::test_keep_params PASSED [ 61%]
770test/test_snapshots.py::Callbacks::test_restore PASSED [ 61%]
771test/test_snapshots.py::Callbacks::test_transfer PASSED [ 61%]
772test/test_snapshots.py::SnapshotWithSID::test_backup_config PASSED [ 61%]
773test/test_snapshots.py::SnapshotWithSID::test_backup_info_file PASSED [ 62%]
774test/test_snapshots.py::SnapshotWithSID::test_backup_permissions FAILED [ 62%]
775test/test_snapshots.py::SnapshotWithSID::test_collect_permission PASSED [ 62%]
776test/test_snapshots.py::RestorePathInfo::test_change_group PASSED [ 62%]
777test/test_snapshots.py::RestorePathInfo::test_change_owner_without_root PASSED [ 62%]
778test/test_snapshots.py::RestorePathInfo::test_change_permissions PASSED [ 63%]
779test/test_snapshots.py::RestorePathInfo::test_no_changes PASSED [ 63%]
780test/test_snapshots.py::DeletePath::test_dir PASSED [ 63%]
781test/test_snapshots.py::DeletePath::test_dir_readonly PASSED [ 63%]
782test/test_snapshots.py::DeletePath::test_file PASSED [ 64%]
783test/test_snapshots.py::DeletePath::test_file_readonly PASSED [ 64%]
784test/test_snapshots.py::DeletePath::test_pardir_readonly PASSED [ 64%]
785test/test_snapshots.py::RemoveSnapshot::test_remove PASSED [ 64%]
786test/test_snapshots.py::RemoveSnapshot::test_remove_read_only PASSED [ 65%]
787test/test_snapshots.py::SshSnapshots::test_stat_free_space_ssh PASSED [ 65%]
788test/test_snapshots.py::SshPermissions::test_backup_permissions FAILED [ 65%]
789test/test_snapshots.py::SshRemoveSnapshots::test_remove PASSED [ 65%]
790test/test_snapshots.py::SshRemoveSnapshots::test_remove_with_blank PASSED [ 66%]
791test/test_snapshots_autoremove.py::KeepFirst::test_all_invalid PASSED [ 66%]
792test/test_snapshots_autoremove.py::KeepFirst::test_ignore_unhealthy PASSED [ 66%]
793test/test_snapshots_autoremove.py::KeepFirst::test_keep_first_range_outside PASSED [ 66%]
794test/test_snapshots_autoremove.py::KeepFirst::test_min_included_max_not PASSED [ 66%]
795test/test_snapshots_autoremove.py::KeepFirst::test_no_date_ordering PASSED [ 67%]
796test/test_snapshots_autoremove.py::KeepFirst::test_one_but_set PASSED [ 67%]
797test/test_snapshots_autoremove.py::KeepFirst::test_simple_one PASSED [ 67%]
798test/test_snapshots_autoremove.py::KeepAllForLast::test_border PASSED [ 67%]
799test/test_snapshots_autoremove.py::KeepAllForLast::test_simple PASSED [ 68%]
800test/test_snapshots_autoremove.py::KeepOneForLastNDays::test_doc_example PASSED [ 68%]
801test/test_snapshots_autoremove.py::KeepOneForLastNWeeks::test_doc_example PASSED [ 68%]
802test/test_snapshots_autoremove.py::KeepOneForLastNMonths::test_doc_example PASSED [ 68%]
803test/test_snapshots_autoremove.py::KeepOnePerYearForAllYears::test_doc_example PASSED [ 69%]
804test/test_snapshots_autoremove.py::IncDecMonths::test_dec_leap_months PASSED [ 69%]
805test/test_snapshots_autoremove.py::IncDecMonths::test_dec_simple PASSED [ 69%]
806test/test_snapshots_autoremove.py::IncDecMonths::test_dec_year PASSED [ 69%]
807test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_months PASSED [ 70%]
808test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_year PASSED [ 70%]
809test/test_snapshots_autoremove.py::IncDecMonths::test_inc_next_year PASSED [ 70%]
810test/test_snapshots_autoremove.py::IncDecMonths::test_inc_simple PASSED [ 70%]
811test/test_sshtools.py::General::test_can_mount_ssh_rw PASSED [ 70%]
812test/test_sshtools.py::General::test_checkCipher_default PASSED [ 71%]
813test/test_sshtools.py::General::test_checkCipher_fail PASSED [ 71%]
814test/test_sshtools.py::General::test_checkCipher_specific PASSED [ 71%]
815test/test_sshtools.py::General::test_checkKnownHosts PASSED [ 71%]
816test/test_sshtools.py::General::test_checkKnownHosts_fail PASSED [ 72%]
817test/test_sshtools.py::General::test_checkLogin PASSED [ 72%]
818test/test_sshtools.py::General::test_checkLogin_fail_wrong_user PASSED [ 72%]
819test/test_sshtools.py::General::test_checkPingHost PASSED [ 72%]
820test/test_sshtools.py::General::test_checkPingHost_fail PASSED [ 73%]
821test/test_sshtools.py::General::test_checkRemoteFolder PASSED [ 73%]
822test/test_sshtools.py::General::test_checkRemoteFolder_fail_can_not_create PASSED [ 73%]
823test/test_sshtools.py::General::test_checkRemoteFolder_fail_not_a_folder PASSED [ 73%]
824test/test_sshtools.py::General::test_checkRemoteFolder_with_spaces PASSED [ 74%]
825test/test_sshtools.py::General::test_check_remote_command PASSED [ 74%]
826test/test_sshtools.py::General::test_check_remote_command_fail PASSED [ 74%]
827test/test_sshtools.py::General::test_check_remote_command_hard_link_fail PASSED [ 74%]
828test/test_sshtools.py::General::test_check_remote_command_with_spaces PASSED [ 74%]
829test/test_sshtools.py::General::test_randomId PASSED [ 75%]
830test/test_sshtools.py::General::test_unlockSshAgent PASSED [ 75%]
831test/test_sshtools.py::General::test_unlockSshAgent_fail PASSED [ 75%]
832test/test_sshtools.py::SshKey::test_fingerprint PASSED [ 75%]
833test/test_sshtools.py::SshKey::test_generate PASSED [ 76%]
834test/test_sshtools.py::SshKey::test_host_key PASSED [ 76%]
835test/test_sshtools.py::SshKey::test_write_known_host_file PASSED [ 76%]
836test/test_sshtools.py::StartSshAgent::test_equal_sign PASSED [ 76%]
837test/test_sshtools.py::StartSshAgent::test_error PASSED [ 77%]
838test/test_sshtools.py::StartSshAgent::test_export PASSED [ 77%]
839test/test_sshtools.py::StartSshAgent::test_just_start PASSED [ 77%]
840test/test_sshtools.py::StartSshAgent::test_missing PASSED [ 77%]
841test/test_sshtools.py::StartSshAgent::test_space PASSED [ 77%]
842test/test_sshtools.py::SSHCopyID::test_complete_command PASSED [ 78%]
843test/test_sshtools.py::SSHCopyID::test_custom_port PASSED [ 78%]
844test/test_sshtools.py::SSHCopyID::test_default_port PASSED [ 78%]
845test/test_sshtools.py::SSHCopyID::test_proxy_with_custom_port PASSED [ 78%]
846test/test_sshtools.py::SSHCopyID::test_proxy_with_default_port PASSED [ 79%]
847test/test_takeSnapshot.py::Take::test_error FAILED [ 79%]
848test/test_takeSnapshot.py::Take::test_error_without_continue PASSED [ 79%]
849test/test_takeSnapshot.py::Take::test_exclude FAILED [ 79%]
850test/test_takeSnapshot.py::Take::test_fail_create_new_snapshot PASSED [ 80%]
851test/test_takeSnapshot.py::Take::test_four_snapshots FAILED [ 80%]
852test/test_takeSnapshot.py::Take::test_new_exists FAILED [ 80%]
853test/test_takeSnapshot.py::Take::test_new_exists_continue FAILED [ 80%]
854test/test_takeSnapshot.py::Take::test_spaces_in_exclude FAILED [ 81%]
855test/test_takeSnapshot.py::Take::test_spaces_in_include FAILED [ 81%]
856test/test_takeSnapshot.py::TakeSSH::test_error FAILED [ 81%]
857test/test_takeSnapshot.py::TakeSSH::test_error_without_continue PASSED [ 81%]
858test/test_takeSnapshot.py::TakeSSH::test_exclude FAILED [ 81%]
859test/test_takeSnapshot.py::TakeSSH::test_fail_create_new_snapshot PASSED [ 82%]
860test/test_takeSnapshot.py::TakeSSH::test_four_snapshots FAILED [ 82%]
861test/test_takeSnapshot.py::TakeSSH::test_new_exists FAILED [ 82%]
862test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue FAILED [ 82%]
863test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude FAILED [ 83%]
864test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include FAILED [ 83%]
865test/test_tools.py::TestTools::test_addSourceToPathEnviron PASSED [ 83%]
866test/test_tools.py::TestTools::test_backintimePath PASSED [ 83%]
867test/test_tools.py::TestTools::test_checkCommand PASSED [ 84%]
868test/test_tools.py::TestTools::test_checkCronPattern PASSED [ 84%]
869test/test_tools.py::TestTools::test_checkXServer PASSED [ 84%]
870test/test_tools.py::TestTools::test_decodeOctalEscape PASSED [ 84%]
871test/test_tools.py::TestTools::test_isRoot PASSED [ 85%]
872test/test_tools.py::TestTools::test_makeDirs PASSED [ 85%]
873test/test_tools.py::TestTools::test_makeDirs_not_writable PASSED [ 85%]
874test/test_tools.py::TestTools::test_md5sum PASSED [ 85%]
875test/test_tools.py::TestTools::test_mkdir PASSED [ 85%]
876test/test_tools.py::TestTools::test_mountArgs PASSED [ 86%]
877test/test_tools.py::TestTools::test_mountpoint PASSED [ 86%]
878test/test_tools.py::TestTools::test_patternHasNotEncryptableWildcard PASSED [ 86%]
879test/test_tools.py::TestTools::test_pids PASSED [ 86%]
880test/test_tools.py::TestTools::test_pidsWithName PASSED [ 87%]
881test/test_tools.py::TestTools::test_powerStatusAvailable PASSED [ 87%]
882test/test_tools.py::TestTools::test_preparePath PASSED [ 87%]
883test/test_tools.py::TestTools::test_processAlive PASSED [ 87%]
884test/test_tools.py::TestTools::test_processCmdline PASSED [ 88%]
885test/test_tools.py::TestTools::test_processCmdline_exception PASSED [ 88%]
886test/test_tools.py::TestTools::test_processExists PASSED [ 88%]
887test/test_tools.py::TestTools::test_processName PASSED [ 88%]
888test/test_tools.py::TestTools::test_processPaused PASSED [ 88%]
889test/test_tools.py::TestTools::test_processStat PASSED [ 89%]
890test/test_tools.py::TestTools::test_processStat_exception PASSED [ 89%]
891test/test_tools.py::TestTools::test_readFile PASSED [ 89%]
892test/test_tools.py::TestTools::test_readFileLines PASSED [ 89%]
893test/test_tools.py::TestTools::test_readTimeStamp PASSED [ 90%]
894test/test_tools.py::TestTools::test_registerBackintimePath PASSED [ 90%]
895test/test_tools.py::TestTools::test_rsyncCaps PASSED [ 90%]
896test/test_tools.py::TestTools::test_runningFromSource PASSED [ 90%]
897test/test_tools.py::TestTools::test_sharePath PASSED [ 91%]
898test/test_tools.py::TestTools::test_splitCommands PASSED [ 91%]
899test/test_tools.py::TestTools::test_usingSudo PASSED [ 91%]
900test/test_tools.py::TestTools::test_which PASSED [ 91%]
901test/test_tools.py::TestTools::test_writeTimeStamp PASSED [ 92%]
902test/test_tools.py::EscapeIPv6::test_escaped PASSED [ 92%]
903test/test_tools.py::EscapeIPv6::test_invalid PASSED [ 92%]
904test/test_tools.py::EscapeIPv6::test_passed PASSED [ 92%]
905test/test_tools.py::Environ::test_envLoad_do_not_overwrite_previous_values PASSED [ 92%]
906test/test_tools.py::Environ::test_envLoad_without_previous_values PASSED [ 93%]
907test/test_tools.py::Environ::test_envSave PASSED [ 93%]
908test/test_tools.py::ExecuteSubprocess::test_callback PASSED [ 93%]
909test/test_tools.py::ExecuteSubprocess::test_pausable PASSED [ 93%]
910test/test_tools.py::ExecuteSubprocess::test_returncode PASSED [ 94%]
911test/test_tools.py::Tools_FakeFS::test_git_repo_info PASSED [ 94%]
912test/test_tools.py::Tools_FakeFS::test_git_repo_info_none PASSED [ 94%]
913test/test_tools.py::ValidateSnapshotsPath::test_fails_on_ro PASSED [ 94%]
914test/test_tools.py::ValidateSnapshotsPath::test_permission_fail PASSED [ 95%]
915test/test_tools.py::ValidateSnapshotsPath::test_writes PASSED [ 95%]
916test/test_tools.py::OlderThan::test_days_not_older PASSED [ 95%]
917test/test_tools.py::OlderThan::test_days_older PASSED [ 95%]
918test/test_tools.py::OlderThan::test_hours_not_older PASSED [ 96%]
919test/test_tools.py::OlderThan::test_hours_older PASSED [ 96%]
920test/test_tools.py::OlderThan::test_month_31th PASSED [ 96%]
921test/test_tools.py::OlderThan::test_month_31th_plus_ms PASSED [ 96%]
922test/test_tools.py::OlderThan::test_month_next_year PASSED [ 96%]
923test/test_tools.py::OlderThan::test_month_next_year_plus_ms PASSED [ 97%]
924test/test_tools.py::OlderThan::test_month_not_older PASSED [ 97%]
925test/test_tools.py::OlderThan::test_month_older PASSED [ 97%]
926test/test_tools.py::OlderThan::test_week_not_older PASSED [ 97%]
927test/test_tools.py::OlderThan::test_week_older PASSED [ 98%]
928test/test_tools.py::NestedDictUpdate::test_simple PASSED [ 98%]
929test/test_uniquenessset.py::General::test_001_depency_workaround SKIPPED [ 98%]
930test/test_uniquenessset.py::General::test_ctor_defaults PASSED [ 98%]
931test/test_uniquenessset.py::General::test_deep_check PASSED [ 99%]
932test/test_uniquenessset.py::General::test_fail_equal_without_equal_to PASSED [ 99%]
933test/test_uniquenessset.py::General::test_size_mtime PASSED [ 99%]
934test/test_uniquenessset.py::General::test_unique_myself PASSED [ 99%]
935test/test_uniquenessset.py::General::test_unique_size_but_different_mtime PASSED [100%]
937=================================== FAILURES ===================================
938_________________ BackInTime.test_local_snapshot_is_successful _________________
940self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>
942 def test_local_snapshot_is_successful(self):
943 """From BIT initialization through snapshot
945 From BIT initialization all the way through successful snapshot on a
946 local mount. test one of the highest level interfaces a user could
947 work with - the command line ensures that argument parsing,
948 functionality, and output all work as expected is NOT intended to
949 replace individual method tests, which are incredibly useful as well.
951 Development notes (by Buhtz, 2023):
952 Multiple tests do compare return codes and output on stdout. It is NOT
953 tested what is on the file system. The intention might be a system
954 test. But the asserts not qualified to answer the important questions
955 and observe the intended behavior. Heavy refactoring is needed. But
956 because of the "level" of that tests it won't happen in the near
957 future. Also maintenance costs of this tests are damn high because
958 every tiny modification of BIT gives a false fail of this test.
960 Development notes (by Buhtz, 2024-05):
961 It is just dumb stdout parsing. I tend to remove this test because of
962 the calculation of its value and its maintenance costs.
963 """
965 # ensure that we see full diffs of assert output if there are any
966 self.maxDiff = None
968 # create pristine source directory with single file
969 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")
970 os.mkdir('/tmp/test')
972 with open('/tmp/test/testfile', 'w') as f:
973 f.write('some data')
975 # create pristine snapshot directory
976 subprocess.getoutput(
977 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")
978 os.mkdir('/tmp/snapshots')
980 # remove restored directory
981 subprocess.getoutput("rm -rf /tmp/restored")
983 # install proper destination filesystem structure and verify output
984 proc = subprocess.Popen(["./backintime",
985 "--config",
986 "test/config",
987 "--share-path",
988 self.sharePath,
989 "check-config",
990 # do not overwrite users crontab
991 "--no-crontab"],
992 stdout=subprocess.PIPE,
993 stderr=subprocess.PIPE)
995 output, error = proc.communicate()
996 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
997 .format(proc.returncode, error.decode(), output.decode())
999 self.assertEqual(proc.returncode, 0, msg)
1001 self.assertRegex(output.decode(), re.compile(r'''
1002 Back In Time
1003 Version: \d+.\d+.\d+.*
1005 Back In Time comes with ABSOLUTELY NO WARRANTY.
1006 This is free software, and you are welcome to redistribute it
1007 under certain conditions; type `backintime --license' for details.
1009 (INFO: Update to config version \d+
1010 )?
1011 \+--------------------------------\+
1012 | Check/prepare snapshot path |
1013 \+--------------------------------\+
1014 Check/prepare snapshot path: done
1016 \+--------------------------------\+
1017 | Check config |
1018 \+--------------------------------\+
1019 Check config: done
1021 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))
1023 # execute backup and verify output
1024 proc = subprocess.Popen(["./backintime",
1025 "--config", "test/config",
1026 "--share-path", self.sharePath,
1027 "backup"],
1028 stdout=subprocess.PIPE,
1029 stderr=subprocess.PIPE)
1030 output, error = proc.communicate()
1031 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
1032 .format(proc.returncode, error.decode(), output.decode())
1033> self.assertEqual(proc.returncode, 0, msg)
1034E AssertionError: 1 != 0 : Returncode: 1
1035E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1036E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1037E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1038E INFO: Lock
1039E INFO: Take a new snapshot. Profile: 1 Main profile
1040E INFO: Call rsync to take the snapshot
1041E INFO: Save config file
1042E INFO: Save permissions
1043E Traceback (most recent call last):
1044E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
1045E startApp()
1046E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
1047E args.func(args)
1048E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
1049E ret = takeSnapshot(cfg, force)
1050E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
1051E ret = snapshots.Snapshots(cfg).backup(force)
1052E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
1053E ret_val, ret_error = self.takeSnapshot(
1054E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
1055E self.backupPermissions(new_snapshot)
1056E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
1057E decode = encfstools.Bounce()
1058E AttributeError: module 'encfstools' has no attribute 'Bounce'
1060E stdout:
1061E Back In Time
1062E Version: 1.5.4-rc1
1064E Back In Time comes with ABSOLUTELY NO WARRANTY.
1065E This is free software, and you are welcome to redistribute it
1066E under certain conditions; type `backintime --license' for details.
1068test/test_backintime.py:124: AssertionError
1069______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________
1071self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>
1073 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))
1074 def test010_ruff_default_ruleset(self):
1075 """Ruff in default mode."""
1077 # ATTENTIION: Some settings are found in pyproject.toml
1078 cmd = [
1079 'ruff',
1080 'check',
1081 # Additionally activate subset of special rules:
1082 # - PyLint (PL)
1083 # - PyCodestyle (E, W)
1084 # - flake8-gettext (INT)
1085 # - useless noqua (RUF100)
1086 '--extend-select=PL,E,W,INT,RUF100',
1087 # Ignore: redefined-loop-name
1088 '--ignore=PLW2901',
1089 '--line-length', str(PEP8_MAX_LINE_LENGTH),
1090 # Because of globally installed GNU gettext functions
1091 '--config', 'builtins=["_", "ngettext"]',
1092 # Ruff counting branches different from PyLint.
1093 # See: <https://www.reddit.com/r/learnpython/comments/
1094 # 1buojae/comment/kxu0mp3>
1095 '--config', 'pylint.max-branches=13',
1096 '--config', 'flake8-quotes.inline-quotes = "single"',
1097 # one error per line (no context lines)
1098 '--output-format=concise',
1099 '--quiet',
1102 cmd.extend(full_test_files)
1104 proc = subprocess.run(
1105 cmd,
1106 check=False,
1107 universal_newlines=True,
1108 capture_output=True
1111 # No errors other then linter rules
1112 self.assertIn(proc.returncode, [0, 1], proc.stderr)
1114 error_n = len(proc.stdout.splitlines())
1115 if error_n > 0:
1116 print(proc.stdout)
1118> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')
1119E AssertionError: 0 != 1 : Ruff found 1 problem(s).
1121test/test_lint.py:229: AssertionError
1122----------------------------- Captured stdout call -----------------------------
1123test/test_mount.py:205:80: E501 Line too long (89 > 79)
1125_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________
1127self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>
1129 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))
1130 def test020_flake8_default_ruleset(self):
1131 """Flake8 in default mode."""
1132 cmd = [
1133 'flake8',
1134 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',
1135 '--builtins=_,ngettext',
1136 # '--enable-extensions='
1139 cmd.extend(full_test_files)
1141 proc = subprocess.run(
1142 cmd,
1143 check=False,
1144 universal_newlines=True,
1145 capture_output=True
1148 error_n = len(proc.stdout.splitlines())
1149 if error_n > 0:
1150 print(proc.stdout)
1152> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')
1153E AssertionError: 0 != 2 : Flake8 found 2 problem(s).
1155test/test_lint.py:257: AssertionError
1156----------------------------- Captured stdout call -----------------------------
1157/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)
1158/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)
1160_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________
1162self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>
1164 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1165 def test030_pylint_default_ruleset(self):
1166 """Use Pylint with all default rules to check specific files.
1167 """
1169 cmd = create_pylint_cmd()
1171 # Add py-files
1172 cmd.extend(full_test_files)
1174 r = subprocess.run(
1175 cmd,
1176 check=False,
1177 universal_newlines=True,
1178 capture_output=True)
1180 # Count lines except module headings
1181 error_n = len(list(filter(lambda line: not line.startswith('*****'),
1182 r.stdout.splitlines())))
1183 print(r.stdout)
1185> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1186E AssertionError: 0 != 8 : PyLint found 8 problems.
1188test/test_lint.py:283: AssertionError
1189----------------------------- Captured stdout call -----------------------------
1190************* Module test.test_mount
1191test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)
1192test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)
1193test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1194test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)
1195test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1196test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)
1197test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)
1198test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)
1200____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________
1202self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>
1204 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1205 def test050_pylint_exclusive_ruleset(self):
1206 """Use Pylint to check for specific rules only.
1208 Some facts about PyLint
1209 - It is one of the slowest available linters.
1210 - It is able to catch lints other linters miss.
1211 """
1213 # Explicit activate checks
1214 err_codes = [
1215 'C0305', # trailing-newlines
1216 'C0325', # superfluous-parens
1217 'C0410', # multiple-imports
1218 'C0303', # trailing-whitespace
1219 'E0100', # init-is-generator
1220 'E0101', # return-in-init
1221 'E0102', # function-redefined
1222 'E0103', # not-in-loop
1223 'E0106', # return-arg-in-generator
1224 'E0213', # no-self-argument
1225 'E0401', # import-error
1226 'E0602', # undefined-variable
1227 'E1101', # no-member
1228 'I0021', # useless-suppression
1229 'W0123', # eval-used
1230 'W0237', # arguments-renamed
1231 'W0311', # bad-indentation
1232 'W0404', # reimported
1233 'W0611', # unused-import
1234 'W0612', # unused-variable
1235 'W0614', # unused-wildcard-import
1236 'W0707', # raise-missing-from
1237 'W1301', # unused-format-string-key
1238 'W1401', # anomalous-backslash-in-string (invalid escape sequence)
1239 'W1515', # forgotten-debug-statement
1240 'W4902', # deprecated-method
1241 'W4904', # deprecated-class
1242 'R0202', # no-classmethod-decorator
1243 'R0203', # no-staticmethod-decorator
1244 # See PyLint bugs:
1245 # https://github.com/pylint-dev/pylint/issues/214
1246 # https://github.com/pylint-dev/pylint/issues/7920
1247 # 'R0801', # duplicate-code
1249 # Enable asap. This list is a selection of existing (not all!)
1250 # problems currently existing in the BIT code base. Quite easy to
1251 # fix because their count is low.
1252 # 'W0237', # arguments-renamed
1253 # 'W0221', # arguments-differ
1254 # 'W0603', # global-statement
1257 cmd = create_pylint_cmd(err_codes)
1259 # Add py-files
1260 cmd.extend(self._collect_py_files())
1262 r = subprocess.run(
1263 cmd,
1264 check=False,
1265 universal_newlines=True,
1266 capture_output=True)
1268 # Count lines except module headings and output about duplicate code
1269 error_n = len(list(filter(
1270 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),
1271 r.stdout.splitlines())))
1272 print(r.stdout)
1274> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1275E AssertionError: 0 != 2 : PyLint found 2 problems.
1277test/test_lint.py:358: AssertionError
1278----------------------------- Captured stdout call -----------------------------
1279************* Module snapshots
1280snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)
1281************* Module test.test_encfstools
1282test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)
1284________________________ SystemTest.test_local_snapshot ________________________
1286self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>
1288 def test_local_snapshot(self):
1289 """User-callback response while doing a local snapshot"""
1291 config = Config(
1292 config_path=str(self.config_fp),
1293 data_path=str(self.temp_path / '.local' / 'share')
1296 full_snapshot_path = config.snapshotsFullPath()
1297 Path(full_snapshot_path).mkdir(parents=True)
1299 snapshot = Snapshots(config)
1301 # DevNote : Because BIT don't use Python's logging module there is
Top