AMD64
Python: 3.13
Git
PYTHONUNBUFFERED=1
Raw log
Scroll to End of Log
0.21s0.13s3.13 is not installed; attempting download0.07s0.00s
worker_info
1Worker information
2hostname: 92260490-7846-48a3-9686-8d9c88fc5b19@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-3
3version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f030
4instance: travis-job-b4caaaa8-93f7-4ba0-adf5-e0476ef4db52 travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)
5startup: 5.760850643s
60.38s0.01s0.00s0.01s
system_info
7Build system information
8Build language: python
9Build dist: jammy
10Build id: 274236385
11Job id: 630633627
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.03s0.01s0.51s0.29s0.07s0.00s0.04s0.00s0.03s0.02s0.03s0.01s0.02s0.00s0.46sOK
1600.00s0.06s0.00s0.02s0.15s0.00s0.00s0.00s0.01s0.00s0.13s0.00s1.05s0.00s0.00s21.51s0.00s3.78s0.00s3.88s
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.13.tar.bz2
1620.69s$ curl -sSf --retry 5 -o python-3.13.tar.bz2 ${archive_url}
16316.98s$ sudo tar xjf python-3.13.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|yEf2aAIrBofEnqN5arK8+Nmq8TA=|pbqy8RkvNK8H0y/qQyRbrpKJCVw= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=
172|1|zqf6bNFf5l13zi1i+yG62OfcSXE=|3vlDpc/nmNK47PEgnKBx8gr5CIg= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=
git.checkout
1740.01s1.29s$ 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% (559/559), done.
179remote: Total 932 (delta 541), reused 631 (delta 344), pack-reused 0 (from 0)
180Receiving objects: 100% (932/932), 4.82 MiB | 13.70 MiB/s, done.
181Resolving deltas: 100% (541/541), done.
182$ cd bit-team/backintime
1830.30s$ 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 | 335.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.13/bin/activate
198$ python --version
199Python 3.13.1
200$ pip --version
201pip 25.0 from /home/travis/virtualenv/python3.13.1/lib/python3.13/site-packages/pip (python 3.13)
before_install.1
2020.01s$ sudo rm -f /etc/apt/sources.list.d/mongodb*.list
before_install.2
2030.13s$ 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.75s$ 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.23s$ 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 (423 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
2332.45s$ pip install -U pip
234Requirement already satisfied: pip in /home/travis/virtualenv/python3.13.1/lib/python3.13/site-packages (25.0)
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 25.0
241 Uninstalling pip-25.0:
242 Successfully uninstalled pip-25.0
243Successfully installed pip-25.0.1
install.2
2446.09s$ 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.13.1/lib/python3.13/site-packages (from pylint) (4.3.6)
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 jaraco.classes (from keyring)
275 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
276Collecting jaraco.functools (from keyring)
277 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
278Collecting jaraco.context (from keyring)
279 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
280Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)
281 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
282Collecting more-itertools (from jaraco.classes->keyring)
283 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
284Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)
285 Downloading cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
286Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)
287 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
288Downloading pylint-3.3.4-py3-none-any.whl (522 kB)
289Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)
290Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)
291Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)
292Downloading keyring-25.6.0-py3-none-any.whl (39 kB)
293Downloading astroid-3.3.8-py3-none-any.whl (275 kB)
294Downloading dill-0.3.9-py3-none-any.whl (119 kB)
295Downloading isort-6.0.0-py3-none-any.whl (94 kB)
296Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)
297Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
298Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)
299Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)
300Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)
301Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
302Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
303Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
304Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
305Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)
306Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
307Downloading cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)
308Downloading pycparser-2.22-py3-none-any.whl (117 kB)
309Installing collected packages: tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, jaraco.context, isort, dill, astroid, pylint, jaraco.functools, jaraco.classes, flake8, cffi, cryptography, SecretStorage, keyring
310Successfully installed SecretStorage-3.3.3 astroid-3.3.8 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 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
install.3
31115.49s$ pip install pyqt6 dbus-python
312Collecting pyqt6
313 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
314Collecting dbus-python
315 Downloading dbus-python-1.3.2.tar.gz (605 kB)
316 Installing build dependencies ... done
317 Getting requirements to build wheel ... done
318 Preparing metadata (pyproject.toml) ... done
319Collecting PyQt6-sip<14,>=13.8 (from pyqt6)
320 Downloading PyQt6_sip-13.10.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)
321Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)
322 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)
323Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)
324Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)
325Downloading PyQt6_sip-13.10.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl (303 kB)
326Building wheels for collected packages: dbus-python
327 Building wheel for dbus-python (pyproject.toml) ... done
328 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp313-cp313-linux_x86_64.whl size=122684 sha256=741961600e91375a844d9f950bee5e6462566ec70418cdb3f5fa3e62b188cd57
329 Stored in directory: /home/travis/.cache/pip/wheels/5d/23/1a/9e68bd3918c8f34a7ab75dda40f5c012553a32ca87408ce35f
330Successfully built dbus-python
331Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6
332Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1
install.4
3330.35s$ ssh-keygen -b 2048 -t rsa -f /home/travis/.ssh/id_rsa -N ""
334Generating public/private rsa key pair.
335Your identification has been saved in /home/travis/.ssh/id_rsa
336Your public key has been saved in /home/travis/.ssh/id_rsa.pub
337The key fingerprint is:
338SHA256:RCgQhOAFuylrnl293MYJ0AaayvHJv7F4SMaJM98zCBg travis@travis-job-b4caaaa8-93f7-4ba0-adf5-e0476ef4db52
339The key's randomart image is:
340+---[RSA 2048]----+
341|o+=+ .. |
342|o o .... |
343| o o.o . |
344|E.oo . + |
345|++B o o S |
346|oO O .. |
347|..B =o .o . |
348|o o+o*+ o+ |
349| o o.o+o.. |
350+----[SHA256]-----+
install.5
3510.00s$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
install.6
3520.01s$ eval `ssh-agent -s`
353Agent pid 5163
3540.33s$ python -m compileall common common/test common/plugins qt qt/test qt/plugins
355Listing 'common'...
356Compiling 'common/applicationinstance.py'...
357Compiling 'common/askpass.py'...
358Compiling 'common/backintime.py'...
359Listing 'common/bash-completion'...
360Compiling 'common/bcolors.py'...
361Compiling 'common/bitbase.py'...
362Compiling 'common/cli.py'...
363Compiling 'common/config.py'...
364Compiling 'common/configfile.py'...
365Compiling 'common/daemon.py'...
366Compiling 'common/diagnostics.py'...
367Listing 'common/doc-dev'...
368Listing 'common/doc-dev/_static'...
369Listing 'common/doc-dev/_templates'...
370Compiling 'common/doc-dev/conf.py'...
371Listing 'common/doc-dev/plugins'...
372Compiling 'common/encfstools.py'...
373Compiling 'common/encode.py'...
374Compiling 'common/exceptions.py'...
375Compiling 'common/flock.py'...
376Compiling 'common/guiapplicationinstance.py'...
377Compiling 'common/languages.py'...
378Compiling 'common/logger.py'...
379Listing 'common/man'...
380Listing 'common/man/C'...
381Compiling 'common/mount.py'...
382Compiling 'common/password.py'...
383Compiling 'common/password_ipc.py'...
384Compiling 'common/pluginmanager.py'...
385Listing 'common/plugins'...
386Compiling 'common/plugins/usercallbackplugin.py'...
387Listing 'common/po'...
388Compiling 'common/progress.py'...
389Compiling 'common/qt_probing.py'...
390Compiling 'common/schedule.py'...
391Compiling 'common/singleton.py'...
392Compiling 'common/snapshotlog.py'...
393Compiling 'common/snapshots.py'...
394Compiling 'common/ssh_max_arg.py'...
395Compiling 'common/sshtools.py'...
396Listing 'common/test'...
397Compiling 'common/test/__init__.py'...
398Compiling 'common/test/constants.py'...
399Compiling 'common/test/generic.py'...
400Compiling 'common/test/test_applicationinstance.py'...
401Compiling 'common/test/test_argparser.py'...
402Compiling 'common/test/test_backintime.py'...
403Compiling 'common/test/test_backup.py'...
404Compiling 'common/test/test_config.py'...
405Compiling 'common/test/test_config_crontab.py'...
406Compiling 'common/test/test_configfile.py'...
407Compiling 'common/test/test_diagnostics.py'...
408Compiling 'common/test/test_encfstools.py'...
409Compiling 'common/test/test_languages.py'...
410Compiling 'common/test/test_lint.py'...
411Compiling 'common/test/test_mount.py'...
412Compiling 'common/test/test_plugin_usercallback.py'...
413Compiling 'common/test/test_restore.py'...
414Compiling 'common/test/test_schedule.py'...
415Compiling 'common/test/test_sid.py'...
416Compiling 'common/test/test_singleton.py'...
417Compiling 'common/test/test_snapshotlog.py'...
418Compiling 'common/test/test_snapshots.py'...
419Compiling 'common/test/test_snapshots_autoremove.py'...
420Compiling 'common/test/test_sshtools.py'...
421Compiling 'common/test/test_takeSnapshot.py'...
422Compiling 'common/test/test_tools.py'...
423Compiling 'common/test/test_uniquenessset.py'...
424Compiling 'common/tools.py'...
425Compiling 'common/uniquenessset.py'...
426Compiling 'common/version.py'...
427Listing 'common/test'...
428Listing 'common/plugins'...
429Listing 'qt'...
430Compiling 'qt/aboutdlg.py'...
431Compiling 'qt/app.py'...
432Compiling 'qt/editusercallback.py'...
433Compiling 'qt/encfsmsgbox.py'...
434Compiling 'qt/icon.py'...
435Listing 'qt/icons'...
436Listing 'qt/icons/16x16'...
437Listing 'qt/icons/16x16/actions'...
438Listing 'qt/icons/22x22'...
439Listing 'qt/icons/22x22/actions'...
440Listing 'qt/icons/24x24'...
441Listing 'qt/icons/24x24/actions'...
442Listing 'qt/icons/32x32'...
443Listing 'qt/icons/32x32/actions'...
444Listing 'qt/icons/48x48'...
445Listing 'qt/icons/48x48/actions'...
446Listing 'qt/icons/scalable'...
447Listing 'qt/icons/scalable/actions'...
448Compiling 'qt/languagedialog.py'...
449Compiling 'qt/logviewdialog.py'...
450Listing 'qt/man'...
451Listing 'qt/man/C'...
452Listing 'qt/manageprofiles'...
453Compiling 'qt/manageprofiles/__init__.py'...
454Compiling 'qt/manageprofiles/combobox.py'...
455Compiling 'qt/manageprofiles/schedulewidget.py'...
456Compiling 'qt/manageprofiles/spinboxunit.py'...
457Compiling 'qt/manageprofiles/sshproxywidget.py'...
458Compiling 'qt/manageprofiles/statebindcheckbox.py'...
459Compiling 'qt/manageprofiles/tab_expert_options.py'...
460Compiling 'qt/manageprofiles/tab_general.py'...
461Compiling 'qt/manageprofiles/tab_options.py'...
462Compiling 'qt/manageprofiles/tab_remove_retention.py'...
463Compiling 'qt/messagebox.py'...
464Listing 'qt/plugins'...
465Compiling 'qt/plugins/notifyplugin.py'...
466Compiling 'qt/plugins/systrayiconplugin.py'...
467Compiling 'qt/qtsystrayicon.py'...
468Compiling 'qt/qttools.py'...
469Compiling 'qt/qttools_path.py'...
470Compiling 'qt/restoreconfigdialog.py'...
471Compiling 'qt/restoredialog.py'...
472Compiling 'qt/serviceHelper.py'...
473Compiling 'qt/snapshotsdialog.py'...
474Compiling 'qt/statedata.py'...
475Listing 'qt/test'...
476Compiling 'qt/test/__init__.py'...
477Compiling 'qt/test/test_lint.py'...
478Compiling 'qt/test/test_statedata.py'...
479Compiling 'qt/usermessagedialog.py'...
480Listing 'qt/test'...
481Listing 'qt/plugins'...
482The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.
4830.00s$ cd common
484The command "cd common" exited with 0.
4850.15s$ ./configure
486Replacement of python path with "/usr/bin/python3" successful.
487All OK. Now run:
488 make
489 sudo make install
490The command "./configure" exited with 0.
491124.93s$ make unittest-v
492/home/travis/virtualenv/python3.13.1/bin/pytest -v
493============================= test session starts ==============================
494platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.13.1/bin/python
495cachedir: .pytest_cache
496rootdir: /home/travis/build/bit-team/backintime/common
497plugins: pyfakefs-5.7.4
498collected 427 items
500test/test_applicationinstance.py::General::test_autoExit_other_running_process PASSED [ 0%]
501test/test_applicationinstance.py::General::test_autoExit_unique_process PASSED [ 0%]
502test/test_applicationinstance.py::General::test_auto_flock PASSED [ 0%]
503test/test_applicationinstance.py::General::test_create_and_remove_pid_file PASSED [ 0%]
504test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]
505test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]
506test/test_applicationinstance.py::General::test_existing_process_with_wrong_pid PASSED [ 1%]
507test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]
508test/test_applicationinstance.py::General::test_flock_exclusive PASSED [ 2%]
509test/test_applicationinstance.py::General::test_flock_exclusive_fail PASSED [ 2%]
510test/test_applicationinstance.py::General::test_killing_existing_process PASSED [ 2%]
511test/test_applicationinstance.py::General::test_leftover_empty_lockfile PASSED [ 2%]
512test/test_applicationinstance.py::General::test_no_pid_file PASSED [ 3%]
513test/test_applicationinstance.py::General::test_non_existing_process PASSED [ 3%]
514test/test_applicationinstance.py::General::test_pid_file_content PASSED [ 3%]
515test/test_applicationinstance.py::General::test_readPidFile PASSED [ 3%]
516test/test_applicationinstance.py::General::test_readPidFile_fail PASSED [ 3%]
517test/test_applicationinstance.py::General::test_thread_write_without_flock PASSED [ 4%]
518test/test_applicationinstance.py::General::test_write_pid_fail PASSED [ 4%]
519test/test_argparser.py::General::test_config PASSED [ 4%]
520test/test_argparser.py::General::test_config_no_path PASSED [ 4%]
521test/test_argparser.py::General::test_debug PASSED [ 5%]
522test/test_argparser.py::General::test_invalid_arg PASSED [ 5%]
523test/test_argparser.py::General::test_quiet PASSED [ 5%]
524test/test_argparser.py::Backup::test_backwards_compatiblity_alias PASSED [ 5%]
525test/test_argparser.py::Backup::test_multi_args PASSED [ 6%]
526test/test_argparser.py::Backup::test_profile PASSED [ 6%]
527test/test_argparser.py::Backup::test_profile_and_profile_id PASSED [ 6%]
528test/test_argparser.py::Backup::test_profile_id PASSED [ 6%]
529test/test_argparser.py::Backup::test_quiet PASSED [ 7%]
530test/test_argparser.py::Backup::test_simple PASSED [ 7%]
531test/test_argparser.py::Restore::test_empty_where PASSED [ 7%]
532test/test_argparser.py::Restore::test_local_backup_and_no_local_backup PASSED [ 7%]
533test/test_argparser.py::Restore::test_multi_args PASSED [ 7%]
534test/test_argparser.py::Restore::test_simple PASSED [ 8%]
535test/test_argparser.py::Restore::test_snapshot_id_index PASSED [ 8%]
536test/test_argparser.py::Restore::test_what_space_in_path PASSED [ 8%]
537test/test_argparser.py::Restore::test_what_where_snapshot_id PASSED [ 8%]
538test/test_argparser.py::Restore::test_what_where_snapshot_id_multi_args PASSED [ 9%]
539test/test_argparser.py::Restore::test_where_space_in_path PASSED [ 9%]
540test/test_backintime.py::BackInTime::test_diagnostics_arg PASSED [ 9%]
541test/test_backintime.py::BackInTime::test_local_snapshot_is_successful FAILED [ 9%]
542test/test_backintime.py::BackInTime::test_quiet_mode PASSED [ 10%]
543test/test_backup.py::TestBackup::test_already_running PASSED [ 10%]
544test/test_backup.py::TestBackup::test_backup PASSED [ 10%]
545test/test_backup.py::TestBackup::test_backup_async PASSED [ 10%]
546test/test_backup.py::TestBackup::test_backup_async_profile_2 PASSED [ 11%]
547test/test_backup.py::TestBackup::test_backup_async_with_checksum PASSED [ 11%]
548test/test_backup.py::TestBackup::test_cant_backup PASSED [ 11%]
549test/test_backup.py::TestBackup::test_mount_exception PASSED [ 11%]
550test/test_backup.py::TestBackup::test_no_backup_on_battery PASSED [ 11%]
551test/test_backup.py::TestBackup::test_no_changes PASSED [ 12%]
552test/test_backup.py::TestBackup::test_not_configured PASSED [ 12%]
553test/test_backup.py::TestBackup::test_plugin_prevented_backup PASSED [ 12%]
554test/test_backup.py::TestBackup::test_scheduled PASSED [ 12%]
555test/test_backup.py::TestBackup::test_takeSnapshot_exception_cleanup PASSED [ 13%]
556test/test_backup.py::TestBackup::test_umount_exception PASSED [ 13%]
557test/test_backup.py::TestBackup::test_with_errors PASSED [ 13%]
558test/test_config.py::RemoveOldSnapshotsDate::test_day PASSED [ 13%]
559test/test_config.py::RemoveOldSnapshotsDate::test_invalid_unit PASSED [ 14%]
560test/test_config.py::RemoveOldSnapshotsDate::test_week_always_monday PASSED [ 14%]
561test/test_config.py::RemoveOldSnapshotsDate::test_week_ignore_current PASSED [ 14%]
562test/test_config.py::RemoveOldSnapshotsDate::test_year_ignore_current_month PASSED [ 14%]
563test/test_config.py::SshCommand::test_cipher_aes256_cbc PASSED [ 14%]
564test/test_config.py::SshCommand::test_cipher_disabled PASSED [ 15%]
565test/test_config.py::SshCommand::test_custom_args PASSED [ 15%]
566test/test_config.py::SshCommand::test_disable_args PASSED [ 15%]
567test/test_config.py::SshCommand::test_full_command PASSED [ 15%]
568test/test_config.py::SshCommand::test_nice_and_ionice PASSED [ 16%]
569test/test_config.py::SshCommand::test_nice_and_ionice_without_command PASSED [ 16%]
570test/test_config.py::SshCommand::test_prefix PASSED [ 16%]
571test/test_config.py::SshCommand::test_prefix_false PASSED [ 16%]
572test/test_config.py::SshCommand::test_quote PASSED [ 17%]
573test/test_config.py::SshCommand::test_quote_without_command PASSED [ 17%]
574test/test_config.py::SshCommand::test_without_command PASSED [ 17%]
575test/test_config_crontab.py::Cron::test_cron_lines PASSED [ 17%]
576test/test_config_crontab.py::CrontabDebug::test_crontab_contains_debug PASSED [ 18%]
577test/test_config_crontab.py::CrontabDebug::test_crontab_without_debug PASSED [ 18%]
578test/test_configfile.py::TestConfigFile::test_boolValue PASSED [ 18%]
579test/test_configfile.py::TestConfigFile::test_boolValue_default PASSED [ 18%]
580test/test_configfile.py::TestConfigFile::test_hasKey PASSED [ 18%]
581test/test_configfile.py::TestConfigFile::test_intValue PASSED [ 19%]
582test/test_configfile.py::TestConfigFile::test_intValue_default PASSED [ 19%]
583test/test_configfile.py::TestConfigFile::test_listValue_bool PASSED [ 19%]
584test/test_configfile.py::TestConfigFile::test_listValue_default PASSED [ 19%]
585test/test_configfile.py::TestConfigFile::test_listValue_empty_list PASSED [ 20%]
586test/test_configfile.py::TestConfigFile::test_listValue_int PASSED [ 20%]
587test/test_configfile.py::TestConfigFile::test_listValue_invalid_type PASSED [ 20%]
588test/test_configfile.py::TestConfigFile::test_listValue_missing_values PASSED [ 20%]
589test/test_configfile.py::TestConfigFile::test_listValue_str PASSED [ 21%]
590test/test_configfile.py::TestConfigFile::test_listValue_tuple PASSED [ 21%]
591test/test_configfile.py::TestConfigFile::test_listValue_tuple_missing_values PASSED [ 21%]
592test/test_configfile.py::TestConfigFile::test_listValue_wrong_size PASSED [ 21%]
593test/test_configfile.py::TestConfigFile::test_listValue_zero_count PASSED [ 22%]
594test/test_configfile.py::TestConfigFile::test_load PASSED [ 22%]
595test/test_configfile.py::TestConfigFile::test_remapKey PASSED [ 22%]
596test/test_configfile.py::TestConfigFile::test_remapKeyRegex PASSED [ 22%]
597test/test_configfile.py::TestConfigFile::test_remove_key PASSED [ 22%]
598test/test_configfile.py::TestConfigFile::test_remove_keys_start_with PASSED [ 23%]
599test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]
600test/test_configfile.py::TestConfigFile::test_save PASSED [ 23%]
601test/test_configfile.py::TestConfigFile::test_setBoolValue PASSED [ 23%]
602test/test_configfile.py::TestConfigFile::test_setIntValue PASSED [ 24%]
603test/test_configfile.py::TestConfigFile::test_setListValue_bool PASSED [ 24%]
604test/test_configfile.py::TestConfigFile::test_setListValue_int PASSED [ 24%]
605test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]
606test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_value PASSED [ 25%]
607test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers PASSED [ 25%]
608test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers_tuple PASSED [ 25%]
609test/test_configfile.py::TestConfigFile::test_setListValue_str PASSED [ 25%]
610test/test_configfile.py::TestConfigFile::test_setListValue_tuple PASSED [ 25%]
611test/test_configfile.py::TestConfigFile::test_setListValue_tuple_missing_values PASSED [ 26%]
612test/test_configfile.py::TestConfigFile::test_setStrValue PASSED [ 26%]
613test/test_configfile.py::TestConfigFile::test_strValue PASSED [ 26%]
614test/test_configfile.py::TestConfigFile::test_strValue_default PASSED [ 26%]
615test/test_configfile.py::TestConfigFileWithProfiles::test_addProfile PASSED [ 27%]
616test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile PASSED [ 27%]
617test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile_by_name PASSED [ 27%]
618test/test_configfile.py::TestConfigFileWithProfiles::test_get_profile_key PASSED [ 27%]
619test/test_configfile.py::TestConfigFileWithProfiles::test_hasProfileKey PASSED [ 28%]
620test/test_configfile.py::TestConfigFileWithProfiles::test_load PASSED [ 28%]
621test/test_configfile.py::TestConfigFileWithProfiles::test_profileExists PASSED [ 28%]
622test/test_configfile.py::TestConfigFileWithProfiles::test_profileExistsByName PASSED [ 28%]
623test/test_configfile.py::TestConfigFileWithProfiles::test_profileName PASSED [ 29%]
624test/test_configfile.py::TestConfigFileWithProfiles::test_profiles PASSED [ 29%]
625test/test_configfile.py::TestConfigFileWithProfiles::test_profilesSortedByName PASSED [ 29%]
626test/test_configfile.py::TestConfigFileWithProfiles::test_remapProfileKey PASSED [ 29%]
627test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfile PASSED [ 29%]
628test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKey PASSED [ 30%]
629test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]
630test/test_configfile.py::TestConfigFileWithProfiles::test_setProfileName PASSED [ 30%]
631test/test_configfile.py::TestConfigFileWithProfiles::test_set_profile_value PASSED [ 30%]
632test/test_diagnostics.py::Diagnostics::test_content_minimal PASSED [ 31%]
633test/test_diagnostics.py::Diagnostics::test_no_extern_version PASSED [ 31%]
634test/test_diagnostics.py::Diagnostics::test_no_ressource_warning PASSED [ 31%]
635test/test_diagnostics.py::Diagnostics::test_replace_user_path PASSED [ 31%]
636test/test_diagnostics.py::Diagnostics::test_some_content PASSED [ 32%]
637test/test_encfstools.py::TestEncFS_mount::test_dummy PASSED [ 32%]
638test/test_encfstools.py::TestEncFS_mount::test_initialise_encfs PASSED [ 32%]
639test/test_languages.py::General::test_completeness_key_types PASSED [ 32%]
640test/test_languages.py::General::test_completeness_value_types PASSED [ 33%]
641test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 33%]
642test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset FAILED [ 33%]
643test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset FAILED [ 33%]
644test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset FAILED [ 33%]
645test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset FAILED [ 34%]
646test/test_lint.py::MirrorMirrorOnTheWall::test060_reuse SKIPPED (Usi...) [ 34%]
647test/test_mount.py::CheckLocks::test_foreign_lock PASSED [ 34%]
648test/test_mount.py::CheckLocks::test_foreign_lock_notexisting_pid PASSED [ 34%]
649test/test_mount.py::CheckLocks::test_ignore_own_lock PASSED [ 35%]
650test/test_mount.py::CheckLocks::test_lock_remove PASSED [ 35%]
651test/test_mount.py::CheckLocks::test_not_existing_dir PASSED [ 35%]
652test/test_mount.py::CheckLocks::test_own_lock_but_diff_tmpmount PASSED [ 35%]
653test/test_mount.py::CheckLocks::test_symlinks_remove PASSED [ 36%]
654test/test_mount.py::CheckHighLevelLocalMount::test_first_preMountCheck PASSED [ 36%]
655test/test_mount.py::CheckHighLevelLocalMount::test_initialised_preMountCheck PASSED [ 36%]
656test/test_mount.py::CheckHighLevelLocalMount::test_mount PASSED [ 36%]
657test/test_mount.py::CheckHighLevelLocalMount::test_remount_to_new_local_mount PASSED [ 37%]
658test/test_mount.py::CheckHighLevelLocalMount::test_umount PASSED [ 37%]
659test/test_plugin_usercallback.py::UserCallback::test_reason_appExit PASSED [ 37%]
660test/test_plugin_usercallback.py::UserCallback::test_reason_appStart PASSED [ 37%]
661test/test_plugin_usercallback.py::UserCallback::test_reason_error PASSED [ 37%]
662test/test_plugin_usercallback.py::UserCallback::test_reason_mount PASSED [ 38%]
663test/test_plugin_usercallback.py::UserCallback::test_reason_processBegin PASSED [ 38%]
664test/test_plugin_usercallback.py::UserCallback::test_reason_processEnd PASSED [ 38%]
665test/test_plugin_usercallback.py::UserCallback::test_reason_processnewSnapshot PASSED [ 38%]
666test/test_plugin_usercallback.py::UserCallback::test_reason_unmount PASSED [ 39%]
667test/test_plugin_usercallback.py::SystemTest::test_local_snapshot FAILED [ 39%]
668test/test_restore.py::TestRestore::test_backup PASSED [ 39%]
669test/test_restore.py::TestRestore::test_delete PASSED [ 39%]
670test/test_restore.py::TestRestore::test_no_backup PASSED [ 40%]
671test/test_restore.py::TestRestore::test_only_new PASSED [ 40%]
672test/test_restore.py::TestRestore::test_restore_folder_to_different_destination PASSED [ 40%]
673test/test_restore.py::TestRestore::test_restore_multiple_files PASSED [ 40%]
674test/test_restore.py::TestRestore::test_restore_to_different_destination PASSED [ 40%]
675test/test_restore.py::TestRestoreLocal::test_restore PASSED [ 41%]
676test/test_restore.py::TestRestoreLocal::test_restore_file_with_spaces PASSED [ 41%]
677test/test_restore.py::TestRestoreSSH::test_restore PASSED [ 41%]
678test/test_restore.py::TestRestoreSSH::test_restore_file_with_spaces PASSED [ 41%]
679test/test_schedule.py::Schedule::test_bit_to_crontab PASSED [ 42%]
680test/test_schedule.py::Schedule::test_remove_bit_entries PASSED [ 42%]
681test/test_sid.py::TestSID::test_displayID PASSED [ 42%]
682test/test_sid.py::TestSID::test_displayName PASSED [ 42%]
683test/test_sid.py::TestSID::test_equal_sid PASSED [ 43%]
684test/test_sid.py::TestSID::test_exists PASSED [ 43%]
685test/test_sid.py::TestSID::test_failed PASSED [ 43%]
686test/test_sid.py::TestSID::test_fileInfo PASSED [ 43%]
687test/test_sid.py::TestSID::test_fileInfoErrorRead PASSED [ 44%]
688test/test_sid.py::TestSID::test_fileInfoErrorWrite PASSED [ 44%]
689test/test_sid.py::TestSID::test_hash PASSED [ 44%]
690test/test_sid.py::TestSID::test_info PASSED [ 44%]
691test/test_sid.py::TestSID::test_isExistingPathInsideSnapshotFolder PASSED [ 44%]
692test/test_sid.py::TestSID::test_lastChecked PASSED [ 45%]
693test/test_sid.py::TestSID::test_log PASSED [ 45%]
694test/test_sid.py::TestSID::test_log_filter PASSED [ 45%]
695test/test_sid.py::TestSID::test_makeDirs PASSED [ 45%]
696test/test_sid.py::TestSID::test_makeWritable PASSED [ 46%]
697test/test_sid.py::TestSID::test_name PASSED [ 46%]
698test/test_sid.py::TestSID::test_new_object_with_invalid_type PASSED [ 46%]
699test/test_sid.py::TestSID::test_new_object_with_invalid_value PASSED [ 46%]
700test/test_sid.py::TestSID::test_new_object_with_valid_date PASSED [ 47%]
701test/test_sid.py::TestSID::test_path PASSED [ 47%]
702test/test_sid.py::TestSID::test_setLog_binary PASSED [ 47%]
703test/test_sid.py::TestSID::test_sort_sids PASSED [ 47%]
704test/test_sid.py::TestSID::test_split PASSED [ 48%]
705test/test_sid.py::TestSID::test_tag PASSED [ 48%]
706test/test_sid.py::TestSID::test_withoutTag PASSED [ 48%]
707test/test_sid.py::TestNewSnapshot::test_create_new PASSED [ 48%]
708test/test_sid.py::TestNewSnapshot::test_hasChanges PASSED [ 48%]
709test/test_sid.py::TestNewSnapshot::test_saveToContinue PASSED [ 49%]
710test/test_sid.py::TestRootSnapshot::test_create PASSED [ 49%]
711test/test_sid.py::TestRootSnapshot::test_path PASSED [ 49%]
712test/test_sid.py::TestIterSnapshots::test_iter_snapshots PASSED [ 49%]
713test/test_sid.py::TestIterSnapshots::test_lastSnapshot PASSED [ 50%]
714test/test_sid.py::TestIterSnapshots::test_list_invalid_snapshot PASSED [ 50%]
715test/test_sid.py::TestIterSnapshots::test_list_new_snapshot PASSED [ 50%]
716test/test_sid.py::TestIterSnapshots::test_list_not_reverse PASSED [ 50%]
717test/test_sid.py::TestIterSnapshots::test_list_snapshot_without_backup PASSED [ 51%]
718test/test_sid.py::TestIterSnapshots::test_list_symlink_last_snapshot PASSED [ 51%]
719test/test_sid.py::TestIterSnapshots::test_list_valid PASSED [ 51%]
720test/test_sid.py::TestIterSnapshots::test_list_without_new_snapshot PASSED [ 51%]
721test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_iterSnapshots PASSED [ 51%]
722test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_lastSnapshots PASSED [ 52%]
723test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_listSnapshots PASSED [ 52%]
724test/test_singleton.py::Test::test_multi_class PASSED [ 52%]
725test/test_singleton.py::Test::test_share_value PASSED [ 52%]
726test/test_singleton.py::Test::test_twins PASSED [ 53%]
727test/test_snapshotlog.py::TestLogFilter::test_filter PASSED [ 53%]
728test/test_snapshotlog.py::TestSnapshotLog::test_append PASSED [ 53%]
729test/test_snapshotlog.py::TestSnapshotLog::test_append_log_level PASSED [ 53%]
730test/test_snapshotlog.py::TestSnapshotLog::test_get PASSED [ 54%]
731test/test_snapshotlog.py::TestSnapshotLog::test_get_filter PASSED [ 54%]
732test/test_snapshotlog.py::TestSnapshotLog::test_new PASSED [ 54%]
733test/test_snapshotlog.py::TestSnapshotLog::test_new_continue PASSED [ 54%]
734test/test_snapshotlog.py::TestSnapshotLog::test_skipLines PASSED [ 55%]
735test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_filtered PASSED [ 55%]
736test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_show_all PASSED [ 55%]
737test/test_snapshots.py::SetTakeSnapshotMessage::test_error PASSED [ 55%]
738test/test_snapshots.py::SetTakeSnapshotMessage::test_info PASSED [ 55%]
739test/test_snapshots.py::UserAndGroups::test_gid_backup PASSED [ 56%]
740test/test_snapshots.py::UserAndGroups::test_gid_invalid PASSED [ 56%]
741test/test_snapshots.py::UserAndGroups::test_gid_valid PASSED [ 56%]
742test/test_snapshots.py::UserAndGroups::test_groupname_invalid PASSED [ 56%]
743test/test_snapshots.py::UserAndGroups::test_groupname_valid PASSED [ 57%]
744test/test_snapshots.py::UserAndGroups::test_uid_backup PASSED [ 57%]
745test/test_snapshots.py::UserAndGroups::test_uid_invalid PASSED [ 57%]
746test/test_snapshots.py::UserAndGroups::test_uid_valid PASSED [ 57%]
747test/test_snapshots.py::UserAndGroups::test_username_invalid PASSED [ 58%]
748test/test_snapshots.py::UserAndGroups::test_username_valid PASSED [ 58%]
749test/test_snapshots.py::HelperScripts::test_create_last_snapshot_symlink PASSED [ 58%]
750test/test_snapshots.py::HelperScripts::test_make_dirs PASSED [ 58%]
751test/test_snapshots.py::HelperScripts::test_rsync_remote_path PASSED [ 59%]
752test/test_snapshots.py::HelperScripts::test_stat_free_space_local PASSED [ 59%]
753test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_exclude_unique_items PASSED [ 59%]
754test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_root PASSED [ 59%]
755test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_unique_items PASSED [ 59%]
756test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_rsync_suffix PASSED [ 60%]
757test/test_snapshots.py::Callbacks::test_callback PASSED [ 60%]
758test/test_snapshots.py::Callbacks::test_dir PASSED [ 60%]
759test/test_snapshots.py::Callbacks::test_error PASSED [ 60%]
760test/test_snapshots.py::Callbacks::test_keep_params PASSED [ 61%]
761test/test_snapshots.py::Callbacks::test_restore PASSED [ 61%]
762test/test_snapshots.py::Callbacks::test_transfer PASSED [ 61%]
763test/test_snapshots.py::SnapshotWithSID::test_backup_config PASSED [ 61%]
764test/test_snapshots.py::SnapshotWithSID::test_backup_info_file PASSED [ 62%]
765test/test_snapshots.py::SnapshotWithSID::test_backup_permissions FAILED [ 62%]
766test/test_snapshots.py::SnapshotWithSID::test_collect_permission PASSED [ 62%]
767test/test_snapshots.py::RestorePathInfo::test_change_group PASSED [ 62%]
768test/test_snapshots.py::RestorePathInfo::test_change_owner_without_root PASSED [ 62%]
769test/test_snapshots.py::RestorePathInfo::test_change_permissions PASSED [ 63%]
770test/test_snapshots.py::RestorePathInfo::test_no_changes PASSED [ 63%]
771test/test_snapshots.py::DeletePath::test_dir PASSED [ 63%]
772test/test_snapshots.py::DeletePath::test_dir_readonly PASSED [ 63%]
773test/test_snapshots.py::DeletePath::test_file PASSED [ 64%]
774test/test_snapshots.py::DeletePath::test_file_readonly PASSED [ 64%]
775test/test_snapshots.py::DeletePath::test_pardir_readonly PASSED [ 64%]
776test/test_snapshots.py::RemoveSnapshot::test_remove PASSED [ 64%]
777test/test_snapshots.py::RemoveSnapshot::test_remove_read_only PASSED [ 65%]
778test/test_snapshots.py::SshSnapshots::test_stat_free_space_ssh PASSED [ 65%]
779test/test_snapshots.py::SshPermissions::test_backup_permissions FAILED [ 65%]
780test/test_snapshots.py::SshRemoveSnapshots::test_remove PASSED [ 65%]
781test/test_snapshots.py::SshRemoveSnapshots::test_remove_with_blank PASSED [ 66%]
782test/test_snapshots_autoremove.py::KeepFirst::test_all_invalid PASSED [ 66%]
783test/test_snapshots_autoremove.py::KeepFirst::test_ignore_unhealthy PASSED [ 66%]
784test/test_snapshots_autoremove.py::KeepFirst::test_keep_first_range_outside PASSED [ 66%]
785test/test_snapshots_autoremove.py::KeepFirst::test_min_included_max_not PASSED [ 66%]
786test/test_snapshots_autoremove.py::KeepFirst::test_no_date_ordering PASSED [ 67%]
787test/test_snapshots_autoremove.py::KeepFirst::test_one_but_set PASSED [ 67%]
788test/test_snapshots_autoremove.py::KeepFirst::test_simple_one PASSED [ 67%]
789test/test_snapshots_autoremove.py::KeepAllForLast::test_border PASSED [ 67%]
790test/test_snapshots_autoremove.py::KeepAllForLast::test_simple PASSED [ 68%]
791test/test_snapshots_autoremove.py::KeepOneForLastNDays::test_doc_example PASSED [ 68%]
792test/test_snapshots_autoremove.py::KeepOneForLastNWeeks::test_doc_example PASSED [ 68%]
793test/test_snapshots_autoremove.py::KeepOneForLastNMonths::test_doc_example PASSED [ 68%]
794test/test_snapshots_autoremove.py::KeepOnePerYearForAllYears::test_doc_example PASSED [ 69%]
795test/test_snapshots_autoremove.py::IncDecMonths::test_dec_leap_months PASSED [ 69%]
796test/test_snapshots_autoremove.py::IncDecMonths::test_dec_simple PASSED [ 69%]
797test/test_snapshots_autoremove.py::IncDecMonths::test_dec_year PASSED [ 69%]
798test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_months PASSED [ 70%]
799test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_year PASSED [ 70%]
800test/test_snapshots_autoremove.py::IncDecMonths::test_inc_next_year PASSED [ 70%]
801test/test_snapshots_autoremove.py::IncDecMonths::test_inc_simple PASSED [ 70%]
802test/test_sshtools.py::General::test_can_mount_ssh_rw PASSED [ 70%]
803test/test_sshtools.py::General::test_checkCipher_default PASSED [ 71%]
804test/test_sshtools.py::General::test_checkCipher_fail PASSED [ 71%]
805test/test_sshtools.py::General::test_checkCipher_specific PASSED [ 71%]
806test/test_sshtools.py::General::test_checkKnownHosts PASSED [ 71%]
807test/test_sshtools.py::General::test_checkKnownHosts_fail PASSED [ 72%]
808test/test_sshtools.py::General::test_checkLogin PASSED [ 72%]
809test/test_sshtools.py::General::test_checkLogin_fail_wrong_user PASSED [ 72%]
810test/test_sshtools.py::General::test_checkPingHost PASSED [ 72%]
811test/test_sshtools.py::General::test_checkPingHost_fail PASSED [ 73%]
812test/test_sshtools.py::General::test_checkRemoteFolder PASSED [ 73%]
813test/test_sshtools.py::General::test_checkRemoteFolder_fail_can_not_create PASSED [ 73%]
814test/test_sshtools.py::General::test_checkRemoteFolder_fail_not_a_folder PASSED [ 73%]
815test/test_sshtools.py::General::test_checkRemoteFolder_with_spaces PASSED [ 74%]
816test/test_sshtools.py::General::test_check_remote_command PASSED [ 74%]
817test/test_sshtools.py::General::test_check_remote_command_fail PASSED [ 74%]
818test/test_sshtools.py::General::test_check_remote_command_hard_link_fail PASSED [ 74%]
819test/test_sshtools.py::General::test_check_remote_command_with_spaces PASSED [ 74%]
820test/test_sshtools.py::General::test_randomId PASSED [ 75%]
821test/test_sshtools.py::General::test_unlockSshAgent PASSED [ 75%]
822test/test_sshtools.py::General::test_unlockSshAgent_fail PASSED [ 75%]
823test/test_sshtools.py::SshKey::test_fingerprint PASSED [ 75%]
824test/test_sshtools.py::SshKey::test_generate PASSED [ 76%]
825test/test_sshtools.py::SshKey::test_host_key PASSED [ 76%]
826test/test_sshtools.py::SshKey::test_write_known_host_file PASSED [ 76%]
827test/test_sshtools.py::StartSshAgent::test_equal_sign PASSED [ 76%]
828test/test_sshtools.py::StartSshAgent::test_error PASSED [ 77%]
829test/test_sshtools.py::StartSshAgent::test_export PASSED [ 77%]
830test/test_sshtools.py::StartSshAgent::test_just_start PASSED [ 77%]
831test/test_sshtools.py::StartSshAgent::test_missing PASSED [ 77%]
832test/test_sshtools.py::StartSshAgent::test_space PASSED [ 77%]
833test/test_sshtools.py::SSHCopyID::test_complete_command PASSED [ 78%]
834test/test_sshtools.py::SSHCopyID::test_custom_port PASSED [ 78%]
835test/test_sshtools.py::SSHCopyID::test_default_port PASSED [ 78%]
836test/test_sshtools.py::SSHCopyID::test_proxy_with_custom_port PASSED [ 78%]
837test/test_sshtools.py::SSHCopyID::test_proxy_with_default_port PASSED [ 79%]
838test/test_takeSnapshot.py::Take::test_error FAILED [ 79%]
839test/test_takeSnapshot.py::Take::test_error_without_continue PASSED [ 79%]
840test/test_takeSnapshot.py::Take::test_exclude FAILED [ 79%]
841test/test_takeSnapshot.py::Take::test_fail_create_new_snapshot PASSED [ 80%]
842test/test_takeSnapshot.py::Take::test_four_snapshots FAILED [ 80%]
843test/test_takeSnapshot.py::Take::test_new_exists FAILED [ 80%]
844test/test_takeSnapshot.py::Take::test_new_exists_continue FAILED [ 80%]
845test/test_takeSnapshot.py::Take::test_spaces_in_exclude FAILED [ 81%]
846test/test_takeSnapshot.py::Take::test_spaces_in_include FAILED [ 81%]
847test/test_takeSnapshot.py::TakeSSH::test_error FAILED [ 81%]
848test/test_takeSnapshot.py::TakeSSH::test_error_without_continue PASSED [ 81%]
849test/test_takeSnapshot.py::TakeSSH::test_exclude FAILED [ 81%]
850test/test_takeSnapshot.py::TakeSSH::test_fail_create_new_snapshot PASSED [ 82%]
851test/test_takeSnapshot.py::TakeSSH::test_four_snapshots FAILED [ 82%]
852test/test_takeSnapshot.py::TakeSSH::test_new_exists FAILED [ 82%]
853test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue FAILED [ 82%]
854test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude FAILED [ 83%]
855test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include FAILED [ 83%]
856test/test_tools.py::TestTools::test_addSourceToPathEnviron PASSED [ 83%]
857test/test_tools.py::TestTools::test_backintimePath PASSED [ 83%]
858test/test_tools.py::TestTools::test_checkCommand PASSED [ 84%]
859test/test_tools.py::TestTools::test_checkCronPattern PASSED [ 84%]
860test/test_tools.py::TestTools::test_checkXServer PASSED [ 84%]
861test/test_tools.py::TestTools::test_decodeOctalEscape PASSED [ 84%]
862test/test_tools.py::TestTools::test_isRoot PASSED [ 85%]
863test/test_tools.py::TestTools::test_makeDirs PASSED [ 85%]
864test/test_tools.py::TestTools::test_makeDirs_not_writable PASSED [ 85%]
865test/test_tools.py::TestTools::test_md5sum PASSED [ 85%]
866test/test_tools.py::TestTools::test_mkdir PASSED [ 85%]
867test/test_tools.py::TestTools::test_mountArgs PASSED [ 86%]
868test/test_tools.py::TestTools::test_mountpoint PASSED [ 86%]
869test/test_tools.py::TestTools::test_patternHasNotEncryptableWildcard PASSED [ 86%]
870test/test_tools.py::TestTools::test_pids PASSED [ 86%]
871test/test_tools.py::TestTools::test_pidsWithName PASSED [ 87%]
872test/test_tools.py::TestTools::test_powerStatusAvailable PASSED [ 87%]
873test/test_tools.py::TestTools::test_preparePath PASSED [ 87%]
874test/test_tools.py::TestTools::test_processAlive PASSED [ 87%]
875test/test_tools.py::TestTools::test_processCmdline PASSED [ 88%]
876test/test_tools.py::TestTools::test_processCmdline_exception PASSED [ 88%]
877test/test_tools.py::TestTools::test_processExists PASSED [ 88%]
878test/test_tools.py::TestTools::test_processName PASSED [ 88%]
879test/test_tools.py::TestTools::test_processPaused PASSED [ 88%]
880test/test_tools.py::TestTools::test_processStat PASSED [ 89%]
881test/test_tools.py::TestTools::test_processStat_exception PASSED [ 89%]
882test/test_tools.py::TestTools::test_readFile PASSED [ 89%]
883test/test_tools.py::TestTools::test_readFileLines PASSED [ 89%]
884test/test_tools.py::TestTools::test_readTimeStamp PASSED [ 90%]
885test/test_tools.py::TestTools::test_registerBackintimePath PASSED [ 90%]
886test/test_tools.py::TestTools::test_rsyncCaps PASSED [ 90%]
887test/test_tools.py::TestTools::test_runningFromSource PASSED [ 90%]
888test/test_tools.py::TestTools::test_sharePath PASSED [ 91%]
889test/test_tools.py::TestTools::test_splitCommands PASSED [ 91%]
890test/test_tools.py::TestTools::test_usingSudo PASSED [ 91%]
891test/test_tools.py::TestTools::test_which PASSED [ 91%]
892test/test_tools.py::TestTools::test_writeTimeStamp PASSED [ 92%]
893test/test_tools.py::EscapeIPv6::test_escaped PASSED [ 92%]
894test/test_tools.py::EscapeIPv6::test_invalid PASSED [ 92%]
895test/test_tools.py::EscapeIPv6::test_passed PASSED [ 92%]
896test/test_tools.py::Environ::test_envLoad_do_not_overwrite_previous_values PASSED [ 92%]
897test/test_tools.py::Environ::test_envLoad_without_previous_values PASSED [ 93%]
898test/test_tools.py::Environ::test_envSave PASSED [ 93%]
899test/test_tools.py::ExecuteSubprocess::test_callback PASSED [ 93%]
900test/test_tools.py::ExecuteSubprocess::test_pausable PASSED [ 93%]
901test/test_tools.py::ExecuteSubprocess::test_returncode PASSED [ 94%]
902test/test_tools.py::Tools_FakeFS::test_git_repo_info PASSED [ 94%]
903test/test_tools.py::Tools_FakeFS::test_git_repo_info_none PASSED [ 94%]
904test/test_tools.py::ValidateSnapshotsPath::test_fails_on_ro PASSED [ 94%]
905test/test_tools.py::ValidateSnapshotsPath::test_permission_fail PASSED [ 95%]
906test/test_tools.py::ValidateSnapshotsPath::test_writes PASSED [ 95%]
907test/test_tools.py::OlderThan::test_days_not_older PASSED [ 95%]
908test/test_tools.py::OlderThan::test_days_older PASSED [ 95%]
909test/test_tools.py::OlderThan::test_hours_not_older PASSED [ 96%]
910test/test_tools.py::OlderThan::test_hours_older PASSED [ 96%]
911test/test_tools.py::OlderThan::test_month_31th PASSED [ 96%]
912test/test_tools.py::OlderThan::test_month_31th_plus_ms PASSED [ 96%]
913test/test_tools.py::OlderThan::test_month_next_year PASSED [ 96%]
914test/test_tools.py::OlderThan::test_month_next_year_plus_ms PASSED [ 97%]
915test/test_tools.py::OlderThan::test_month_not_older PASSED [ 97%]
916test/test_tools.py::OlderThan::test_month_older PASSED [ 97%]
917test/test_tools.py::OlderThan::test_week_not_older PASSED [ 97%]
918test/test_tools.py::OlderThan::test_week_older PASSED [ 98%]
919test/test_tools.py::NestedDictUpdate::test_simple PASSED [ 98%]
920test/test_uniquenessset.py::General::test_001_depency_workaround PASSED [ 98%]
921test/test_uniquenessset.py::General::test_ctor_defaults PASSED [ 98%]
922test/test_uniquenessset.py::General::test_deep_check PASSED [ 99%]
923test/test_uniquenessset.py::General::test_fail_equal_without_equal_to PASSED [ 99%]
924test/test_uniquenessset.py::General::test_size_mtime PASSED [ 99%]
925test/test_uniquenessset.py::General::test_unique_myself PASSED [ 99%]
926test/test_uniquenessset.py::General::test_unique_size_but_different_mtime PASSED [100%]
928=================================== FAILURES ===================================
929_________________ BackInTime.test_local_snapshot_is_successful _________________
931self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>
933 def test_local_snapshot_is_successful(self):
934 """From BIT initialization through snapshot
936 From BIT initialization all the way through successful snapshot on a
937 local mount. test one of the highest level interfaces a user could
938 work with - the command line ensures that argument parsing,
939 functionality, and output all work as expected is NOT intended to
940 replace individual method tests, which are incredibly useful as well.
942 Development notes (by Buhtz, 2023):
943 Multiple tests do compare return codes and output on stdout. It is NOT
944 tested what is on the file system. The intention might be a system
945 test. But the asserts not qualified to answer the important questions
946 and observe the intended behavior. Heavy refactoring is needed. But
947 because of the "level" of that tests it won't happen in the near
948 future. Also maintenance costs of this tests are damn high because
949 every tiny modification of BIT gives a false fail of this test.
951 Development notes (by Buhtz, 2024-05):
952 It is just dumb stdout parsing. I tend to remove this test because of
953 the calculation of its value and its maintenance costs.
954 """
956 # ensure that we see full diffs of assert output if there are any
957 self.maxDiff = None
959 # create pristine source directory with single file
960 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")
961 os.mkdir('/tmp/test')
963 with open('/tmp/test/testfile', 'w') as f:
964 f.write('some data')
966 # create pristine snapshot directory
967 subprocess.getoutput(
968 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")
969 os.mkdir('/tmp/snapshots')
971 # remove restored directory
972 subprocess.getoutput("rm -rf /tmp/restored")
974 # install proper destination filesystem structure and verify output
975 proc = subprocess.Popen(["./backintime",
976 "--config",
977 "test/config",
978 "--share-path",
979 self.sharePath,
980 "check-config",
981 # do not overwrite users crontab
982 "--no-crontab"],
983 stdout=subprocess.PIPE,
984 stderr=subprocess.PIPE)
986 output, error = proc.communicate()
987 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
988 .format(proc.returncode, error.decode(), output.decode())
990 self.assertEqual(proc.returncode, 0, msg)
992 self.assertRegex(output.decode(), re.compile(r'''
993 Back In Time
994 Version: \d+.\d+.\d+.*
996 Back In Time comes with ABSOLUTELY NO WARRANTY.
997 This is free software, and you are welcome to redistribute it
998 under certain conditions; type `backintime --license' for details.
1000 (INFO: Update to config version \d+
1001 )?
1002 \+--------------------------------\+
1003 | Check/prepare snapshot path |
1004 \+--------------------------------\+
1005 Check/prepare snapshot path: done
1007 \+--------------------------------\+
1008 | Check config |
1009 \+--------------------------------\+
1010 Check config: done
1012 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))
1014 # execute backup and verify output
1015 proc = subprocess.Popen(["./backintime",
1016 "--config", "test/config",
1017 "--share-path", self.sharePath,
1018 "backup"],
1019 stdout=subprocess.PIPE,
1020 stderr=subprocess.PIPE)
1021 output, error = proc.communicate()
1022 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
1023 .format(proc.returncode, error.decode(), output.decode())
1024> self.assertEqual(proc.returncode, 0, msg)
1025E AssertionError: 1 != 0 : Returncode: 1
1026E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1027E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1028E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1029E INFO: Lock
1030E INFO: Take a new snapshot. Profile: 1 Main profile
1031E INFO: Call rsync to take the snapshot
1032E INFO: Save config file
1033E INFO: Save permissions
1034E Traceback (most recent call last):
1035E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
1036E startApp()
1037E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
1038E args.func(args)
1039E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
1040E ret = takeSnapshot(cfg, force)
1041E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
1042E ret = snapshots.Snapshots(cfg).backup(force)
1043E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
1044E ret_val, ret_error = self.takeSnapshot(
1045E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
1046E self.backupPermissions(new_snapshot)
1047E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
1048E decode = encfstools.Bounce()
1049E AttributeError: module 'encfstools' has no attribute 'Bounce'
1051E stdout:
1052E Back In Time
1053E Version: 1.5.4-rc1
1055E Back In Time comes with ABSOLUTELY NO WARRANTY.
1056E This is free software, and you are welcome to redistribute it
1057E under certain conditions; type `backintime --license' for details.
1059test/test_backintime.py:124: AssertionError
1060______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________
1062self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>
1064 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))
1065 def test010_ruff_default_ruleset(self):
1066 """Ruff in default mode."""
1068 # ATTENTIION: Some settings are found in pyproject.toml
1069 cmd = [
1070 'ruff',
1071 'check',
1072 # Additionally activate subset of special rules:
1073 # - PyLint (PL)
1074 # - PyCodestyle (E, W)
1075 # - flake8-gettext (INT)
1076 # - useless noqua (RUF100)
1077 '--extend-select=PL,E,W,INT,RUF100',
1078 # Ignore: redefined-loop-name
1079 '--ignore=PLW2901',
1080 '--line-length', str(PEP8_MAX_LINE_LENGTH),
1081 # Because of globally installed GNU gettext functions
1082 '--config', 'builtins=["_", "ngettext"]',
1083 # Ruff counting branches different from PyLint.
1084 # See: <https://www.reddit.com/r/learnpython/comments/
1085 # 1buojae/comment/kxu0mp3>
1086 '--config', 'pylint.max-branches=13',
1087 '--config', 'flake8-quotes.inline-quotes = "single"',
1088 # one error per line (no context lines)
1089 '--output-format=concise',
1090 '--quiet',
1093 cmd.extend(full_test_files)
1095 proc = subprocess.run(
1096 cmd,
1097 check=False,
1098 universal_newlines=True,
1099 capture_output=True
1102 # No errors other then linter rules
1103 self.assertIn(proc.returncode, [0, 1], proc.stderr)
1105 error_n = len(proc.stdout.splitlines())
1106 if error_n > 0:
1107 print(proc.stdout)
1109> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')
1110E AssertionError: 0 != 1 : Ruff found 1 problem(s).
1112test/test_lint.py:229: AssertionError
1113----------------------------- Captured stdout call -----------------------------
1114test/test_mount.py:205:80: E501 Line too long (89 > 79)
1116_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________
1118self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>
1120 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))
1121 def test020_flake8_default_ruleset(self):
1122 """Flake8 in default mode."""
1123 cmd = [
1124 'flake8',
1125 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',
1126 '--builtins=_,ngettext',
1127 # '--enable-extensions='
1130 cmd.extend(full_test_files)
1132 proc = subprocess.run(
1133 cmd,
1134 check=False,
1135 universal_newlines=True,
1136 capture_output=True
1139 error_n = len(proc.stdout.splitlines())
1140 if error_n > 0:
1141 print(proc.stdout)
1143> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')
1144E AssertionError: 0 != 2 : Flake8 found 2 problem(s).
1146test/test_lint.py:257: AssertionError
1147----------------------------- Captured stdout call -----------------------------
1148/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)
1149/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)
1151_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________
1153self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>
1155 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1156 def test030_pylint_default_ruleset(self):
1157 """Use Pylint with all default rules to check specific files.
1158 """
1160 cmd = create_pylint_cmd()
1162 # Add py-files
1163 cmd.extend(full_test_files)
1165 r = subprocess.run(
1166 cmd,
1167 check=False,
1168 universal_newlines=True,
1169 capture_output=True)
1171 # Count lines except module headings
1172 error_n = len(list(filter(lambda line: not line.startswith('*****'),
1173 r.stdout.splitlines())))
1174 print(r.stdout)
1176> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1177E AssertionError: 0 != 8 : PyLint found 8 problems.
1179test/test_lint.py:283: AssertionError
1180----------------------------- Captured stdout call -----------------------------
1181************* Module test.test_mount
1182test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)
1183test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)
1184test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1185test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)
1186test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1187test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)
1188test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)
1189test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)
1191____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________
1193self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>
1195 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1196 def test050_pylint_exclusive_ruleset(self):
1197 """Use Pylint to check for specific rules only.
1199 Some facts about PyLint
1200 - It is one of the slowest available linters.
1201 - It is able to catch lints other linters miss.
1202 """
1204 # Explicit activate checks
1205 err_codes = [
1206 'C0305', # trailing-newlines
1207 'C0325', # superfluous-parens
1208 'C0410', # multiple-imports
1209 'C0303', # trailing-whitespace
1210 'E0100', # init-is-generator
1211 'E0101', # return-in-init
1212 'E0102', # function-redefined
1213 'E0103', # not-in-loop
1214 'E0106', # return-arg-in-generator
1215 'E0213', # no-self-argument
1216 'E0401', # import-error
1217 'E0602', # undefined-variable
1218 'E1101', # no-member
1219 'I0021', # useless-suppression
1220 'W0123', # eval-used
1221 'W0237', # arguments-renamed
1222 'W0311', # bad-indentation
1223 'W0404', # reimported
1224 'W0611', # unused-import
1225 'W0612', # unused-variable
1226 'W0614', # unused-wildcard-import
1227 'W0707', # raise-missing-from
1228 'W1301', # unused-format-string-key
1229 'W1401', # anomalous-backslash-in-string (invalid escape sequence)
1230 'W1515', # forgotten-debug-statement
1231 'W4902', # deprecated-method
1232 'W4904', # deprecated-class
1233 'R0202', # no-classmethod-decorator
1234 'R0203', # no-staticmethod-decorator
1235 # See PyLint bugs:
1236 # https://github.com/pylint-dev/pylint/issues/214
1237 # https://github.com/pylint-dev/pylint/issues/7920
1238 # 'R0801', # duplicate-code
1240 # Enable asap. This list is a selection of existing (not all!)
1241 # problems currently existing in the BIT code base. Quite easy to
1242 # fix because their count is low.
1243 # 'W0237', # arguments-renamed
1244 # 'W0221', # arguments-differ
1245 # 'W0603', # global-statement
1248 cmd = create_pylint_cmd(err_codes)
1250 # Add py-files
1251 cmd.extend(self._collect_py_files())
1253 r = subprocess.run(
1254 cmd,
1255 check=False,
1256 universal_newlines=True,
1257 capture_output=True)
1259 # Count lines except module headings and output about duplicate code
1260 error_n = len(list(filter(
1261 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),
1262 r.stdout.splitlines())))
1263 print(r.stdout)
1265> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1266E AssertionError: 0 != 2 : PyLint found 2 problems.
1268test/test_lint.py:358: AssertionError
1269----------------------------- Captured stdout call -----------------------------
1270************* Module snapshots
1271snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)
1272************* Module test.test_encfstools
1273test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)
1275________________________ SystemTest.test_local_snapshot ________________________
1277self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>
1279 def test_local_snapshot(self):
1280 """User-callback response while doing a local snapshot"""
1282 config = Config(
1283 config_path=str(self.config_fp),
1284 data_path=str(self.temp_path / '.local' / 'share')
1287 full_snapshot_path = config.snapshotsFullPath()
1288 Path(full_snapshot_path).mkdir(parents=True)
1290 snapshot = Snapshots(config)
1292 # DevNote : Because BIT don't use Python's logging module there is
1293 # no way to use assertLogs(). Current solution is to capture
1294 # stdout/stderr.
1295 stdout = io.StringIO()
1296 stderr = io.StringIO()
1298 with redirect_stdout(stdout), redirect_stderr(stderr):
1299 # Result is inverted. 'True' means there was an error.
1300> self.assertFalse(snapshot.backup())
1302test/test_plugin_usercallback.py:288:
1303_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1304snapshots.py:896: in backup
1305 ret_val, ret_error = self.takeSnapshot(
1306snapshots.py:1493: in takeSnapshot
1307 self.backupPermissions(new_snapshot)
1308_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1310self = <snapshots.Snapshots object at 0x7ed60766f350>, sid = new_snapshot
1312 def backupPermissions(self, sid):
1313 """
1314 Save permissions (owner, group, read-, write- and executable)
1315 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1317 Args:
1318 sid (SID): snapshot that should be scanned
1320 Returns:
1321 int: Return code of rsync.
1322 """
1323 logger.info('Save permissions', self)
1324 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1326 fileInfoDict = FileInfoDict()
1328 if self.config.snapshotsMode() == 'ssh_encfs':
1329 decode = encfstools.Decode(self.config, False)
1330 else:
1331> decode = encfstools.Bounce()
1332E AttributeError: module 'encfstools' has no attribute 'Bounce'
1334snapshots.py:1182: AttributeError
1335----------------------------- Captured stderr call -----------------------------
1336DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1337WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1338WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1339WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1340DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1341DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1342___________________ SnapshotWithSID.test_backup_permissions ____________________
1344self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>
1346 def test_backup_permissions(self):
1347 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)
1348 infoFilePath = os.path.join(self.snapshotPath,
1349 '20151219-010324-123',
1350 'fileinfo.bz2')
1352 include = self.cfg.include()[0][0]
1353 with TemporaryDirectory(dir = include) as tmp:
1355 file_path = os.path.join(tmp, 'foo')
1356 with open(file_path, 'wt') as f:
1357 f.write('bar')
1358 f.flush()
1360 self.sid.makeDirs(tmp)
1361 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:
1362 snapshot_f.write('bar')
1363 snapshot_f.flush()
1365> self.sn.backupPermissions(self.sid)
1367test/test_snapshots.py:347:
1368_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1370self = <snapshots.Snapshots object at 0x7ed5f9d38ff0>, sid = 20151219-010324-123
1372 def backupPermissions(self, sid):
1373 """
1374 Save permissions (owner, group, read-, write- and executable)
1375 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1377 Args:
1378 sid (SID): snapshot that should be scanned
1380 Returns:
1381 int: Return code of rsync.
1382 """
1383 logger.info('Save permissions', self)
1384 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1386 fileInfoDict = FileInfoDict()
1388 if self.config.snapshotsMode() == 'ssh_encfs':
1389 decode = encfstools.Decode(self.config, False)
1390 else:
1391> decode = encfstools.Bounce()
1392E AttributeError: module 'encfstools' has no attribute 'Bounce'
1394snapshots.py:1182: AttributeError
1395----------------------------- Captured stderr call -----------------------------
1396DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1397WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1398WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1399WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1400DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1401DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1402INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1403____________________ SshPermissions.test_backup_permissions ____________________
1405self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>
1407 def test_backup_permissions(self):
1408 """Backup file permissions in SSH backup mode."""
1410 # --- prepare environment ---
1412 # config instance
1413 cfg = _init_basic_config()
1414 # snapshots profile
1415 snapshot = _init_ssh_profile(cfg)
1416 # backup source directory
1417 _init_source_path(cfg)
1418 # simulate a taken snapshot
1419 sid = _init_concrete_snapshot(cfg)
1421 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand
1422 # all details yet.
1423 # mount
1424 mount_obj = _init_mounting(cfg)
1425 # ...unmount when test finished
1426 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))
1428 # --- prepare the backup source ---
1430 # Does the concrete snapshot exists?
1431 self.assertTrue(sid.exists())
1433 # The backup source path
1434 # e.g. /tmp/e2uij3y
1435 source_path = pathlib.Path(cfg.include()[0][0])
1436 # ...exists?
1437 self.assertTrue(source_path.exists())
1439 # create the test files in the backup source directory
1440 generic.create_test_files(str(source_path))
1442 # --- Do the job to test. ---
1444 # backup permissions of files/folders in the backup source
1445> rc = snapshot.backupPermissions(sid)
1447test/test_snapshots.py:862:
1448_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1450self = <snapshots.Snapshots object at 0x7ed5f9d39a90>, sid = 20151219-010324-123
1452 def backupPermissions(self, sid):
1453 """
1454 Save permissions (owner, group, read-, write- and executable)
1455 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1457 Args:
1458 sid (SID): snapshot that should be scanned
1460 Returns:
1461 int: Return code of rsync.
1462 """
1463 logger.info('Save permissions', self)
1464 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1466 fileInfoDict = FileInfoDict()
1468 if self.config.snapshotsMode() == 'ssh_encfs':
1469 decode = encfstools.Decode(self.config, False)
1470 else:
1471> decode = encfstools.Bounce()
1472E AttributeError: module 'encfstools' has no attribute 'Bounce'
1474snapshots.py:1182: AttributeError
1475----------------------------- Captured stderr call -----------------------------
1476DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1477WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1478WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1479WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1480DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1481DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1482DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
1483DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
1484DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
1485DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
1486DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
1487DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
1488DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
1489DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
1490DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
1491DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
1492DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
1493INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '7']'
1494DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1495DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1496DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock
1497DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
1498DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
1499DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
1500DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
1501DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
1502DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparent3f3oaq9v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 13;exit 20']
1503DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparent3f3oaq9v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 13;exit 20
1504DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
1505DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint
1506DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo', '/tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint'].
1507INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo on /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint
1508DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/locks/5449.lock
1509DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock
1510INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1511DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
1512INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '8']'
1513DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1514DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1515DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock
1516INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo from /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint
1517DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/locks/5449.lock
1518DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock
1519_______________________________ Take.test_error ________________________________
1521self = <test.test_takeSnapshot.Take testMethod=test_error>
1522sleep = <MagicMock name='sleep' id='139457483231920'>
1524 @patch('time.sleep') # speed up unittest
1525 def test_error(self, sleep):
1526 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1527 now = datetime.today()
1528 sid1 = snapshots.SID(now, self.cfg)
1530> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1532test/test_takeSnapshot.py:182:
1533_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1534snapshots.py:1493: in takeSnapshot
1535 self.backupPermissions(new_snapshot)
1536_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1538self = <snapshots.Snapshots object at 0x7ed5f9c04c30>, sid = new_snapshot
1540 def backupPermissions(self, sid):
1541 """
1542 Save permissions (owner, group, read-, write- and executable)
1543 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1545 Args:
1546 sid (SID): snapshot that should be scanned
1548 Returns:
1549 int: Return code of rsync.
1550 """
1551 logger.info('Save permissions', self)
1552 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1554 fileInfoDict = FileInfoDict()
1556 if self.config.snapshotsMode() == 'ssh_encfs':
1557 decode = encfstools.Decode(self.config, False)
1558 else:
1559> decode = encfstools.Bounce()
1560E AttributeError: module 'encfstools' has no attribute 'Bounce'
1562snapshots.py:1182: AttributeError
1563----------------------------- Captured stderr call -----------------------------
1564DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1565WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1566WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1567WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1568DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1569DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1570INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1571DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup"
1572DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup'
1573WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
1574INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1575INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1576______________________________ Take.test_exclude _______________________________
1578self = <test.test_takeSnapshot.Take testMethod=test_exclude>
1579sleep = <MagicMock name='sleep' id='139457483235280'>
1581 @patch('time.sleep') # speed up unittest
1582 def test_exclude(self, sleep):
1583 now = datetime.today()
1584 sid1 = snapshots.SID(now, self.cfg)
1585 self.cfg.setExclude(['bar/baz'])
1587> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1589test/test_takeSnapshot.py:138:
1590_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1591snapshots.py:1493: in takeSnapshot
1592 self.backupPermissions(new_snapshot)
1593_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1595self = <snapshots.Snapshots object at 0x7ed5f9c05f90>, sid = new_snapshot
1597 def backupPermissions(self, sid):
1598 """
1599 Save permissions (owner, group, read-, write- and executable)
1600 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1602 Args:
1603 sid (SID): snapshot that should be scanned
1605 Returns:
1606 int: Return code of rsync.
1607 """
1608 logger.info('Save permissions', self)
1609 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1611 fileInfoDict = FileInfoDict()
1613 if self.config.snapshotsMode() == 'ssh_encfs':
1614 decode = encfstools.Decode(self.config, False)
1615 else:
1616> decode = encfstools.Bounce()
1617E AttributeError: module 'encfstools' has no attribute 'Bounce'
1619snapshots.py:1182: AttributeError
1620----------------------------- Captured stderr call -----------------------------
1621DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1622WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1623WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1624WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1625DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1626DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1627INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1628DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpljdzhias --exclude=/tmp/tmpq1w8z_y2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpw9aat8nl/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpw9aat8nl/** --exclude=* / /tmp/tmpljdzhias/backintime/test-host/test-user/1/new_snapshot/backup"
1629DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpljdzhias --exclude=/tmp/tmpq1w8z_y2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpw9aat8nl/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpw9aat8nl/** --exclude=* / /tmp/tmpljdzhias/backintime/test-host/test-user/1/new_snapshot/backup'
1630DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
1631INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1632INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1633___________________________ Take.test_four_snapshots ___________________________
1635self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>
1636sleep = <MagicMock name='sleep' id='139457483236960'>
1638 @patch('time.sleep') # speed up unittest
1639 def test_four_snapshots(self, sleep):
1640 now = datetime.today() - timedelta(minutes = 6)
1641 sid1 = snapshots.SID(now, self.cfg)
1643 # Note: 'self.sn' is of type 'Snapshots'
1644 # First boolean: Snapshot succeeded
1645 # Second boolean: Error occurred
1646 self.assertListEqual(
1647 [True, False], # Snapshot without error
1648> self.sn.takeSnapshot(
1649 sid=sid1,
1650 now=now,
1651 include_folders=[
1652 (self.include.name, 0), # '0' means it is a file
1657test/test_takeSnapshot.py:51:
1658_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1659snapshots.py:1493: in takeSnapshot
1660 self.backupPermissions(new_snapshot)
1661_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1663self = <snapshots.Snapshots object at 0x7ed5f9c04cd0>, sid = new_snapshot
1665 def backupPermissions(self, sid):
1666 """
1667 Save permissions (owner, group, read-, write- and executable)
1668 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1670 Args:
1671 sid (SID): snapshot that should be scanned
1673 Returns:
1674 int: Return code of rsync.
1675 """
1676 logger.info('Save permissions', self)
1677 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1679 fileInfoDict = FileInfoDict()
1681 if self.config.snapshotsMode() == 'ssh_encfs':
1682 decode = encfstools.Decode(self.config, False)
1683 else:
1684> decode = encfstools.Bounce()
1685E AttributeError: module 'encfstools' has no attribute 'Bounce'
1687snapshots.py:1182: AttributeError
1688----------------------------- Captured stderr call -----------------------------
1689DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1690WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1691WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1692WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1693DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1694DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1695INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1696DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvvhvvf6e --exclude=/tmp/tmpecker8dd/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpternpyq3/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpternpyq3/** --exclude=* / /tmp/tmpvvhvvf6e/backintime/test-host/test-user/1/new_snapshot/backup"
1697DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvvhvvf6e --exclude=/tmp/tmpecker8dd/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpternpyq3/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpternpyq3/** --exclude=* / /tmp/tmpvvhvvf6e/backintime/test-host/test-user/1/new_snapshot/backup'
1698DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
1699INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1700INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1701_____________________________ Take.test_new_exists _____________________________
1703self = <test.test_takeSnapshot.Take testMethod=test_new_exists>
1704sleep = <MagicMock name='sleep' id='139457483231248'>
1706 @patch('time.sleep') # speed up unittest
1707 def test_new_exists(self, sleep):
1708 new_snapshot = snapshots.NewSnapshot(self.cfg)
1709 new_snapshot.makeDirs()
1710 with open(new_snapshot.path('leftover'), 'wt') as f:
1711 f.write('foo')
1713 now = datetime.today() - timedelta(minutes = 6)
1714 sid1 = snapshots.SID(now, self.cfg)
1716> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1718test/test_takeSnapshot.py:214:
1719_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1720snapshots.py:1493: in takeSnapshot
1721 self.backupPermissions(new_snapshot)
1722_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1724self = <snapshots.Snapshots object at 0x7ed5f9c07250>, sid = new_snapshot
1726 def backupPermissions(self, sid):
1727 """
1728 Save permissions (owner, group, read-, write- and executable)
1729 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1731 Args:
1732 sid (SID): snapshot that should be scanned
1734 Returns:
1735 int: Return code of rsync.
1736 """
1737 logger.info('Save permissions', self)
1738 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1740 fileInfoDict = FileInfoDict()
1742 if self.config.snapshotsMode() == 'ssh_encfs':
1743 decode = encfstools.Decode(self.config, False)
1744 else:
1745> decode = encfstools.Bounce()
1746E AttributeError: module 'encfstools' has no attribute 'Bounce'
1748snapshots.py:1182: AttributeError
1749----------------------------- Captured stderr call -----------------------------
1750DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1751WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1752WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1753WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1754DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1755DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1756INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
1757DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpa025ph7e/ /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot"
1758DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpa025ph7e/ /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot'
1759DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
1760INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1761DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp75ij57dx --exclude=/tmp/tmpwal5p8vh/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpv9tweac9/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpv9tweac9/** --exclude=* / /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot/backup"
1762DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp75ij57dx --exclude=/tmp/tmpwal5p8vh/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpv9tweac9/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpv9tweac9/** --exclude=* / /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot/backup'
1763DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
1764INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1765INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1766________________________ Take.test_new_exists_continue _________________________
1768self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>
1769sleep = <MagicMock name='sleep' id='139457483238304'>
1771 @patch('time.sleep') # speed up unittest
1772 def test_new_exists_continue(self, sleep):
1773 new_snapshot = snapshots.NewSnapshot(self.cfg)
1774 new_snapshot.makeDirs()
1775 with open(new_snapshot.path('leftover'), 'wt') as f:
1776 f.write('foo')
1777 new_snapshot.saveToContinue = True
1779 now = datetime.today() - timedelta(minutes = 6)
1780 sid1 = snapshots.SID(now, self.cfg)
1782> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1784test/test_takeSnapshot.py:229:
1785_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1786snapshots.py:1493: in takeSnapshot
1787 self.backupPermissions(new_snapshot)
1788_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1790self = <snapshots.Snapshots object at 0x7ed5f9d3acb0>, sid = new_snapshot
1792 def backupPermissions(self, sid):
1793 """
1794 Save permissions (owner, group, read-, write- and executable)
1795 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1797 Args:
1798 sid (SID): snapshot that should be scanned
1800 Returns:
1801 int: Return code of rsync.
1802 """
1803 logger.info('Save permissions', self)
1804 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1806 fileInfoDict = FileInfoDict()
1808 if self.config.snapshotsMode() == 'ssh_encfs':
1809 decode = encfstools.Decode(self.config, False)
1810 else:
1811> decode = encfstools.Bounce()
1812E AttributeError: module 'encfstools' has no attribute 'Bounce'
1814snapshots.py:1182: AttributeError
1815----------------------------- Captured stderr call -----------------------------
1816DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1817WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1818WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1819WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1820DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1821DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1822INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
1823INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1824DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvug6mia8 --exclude=/tmp/tmp97vzcsmm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzmabzzr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmplzmabzzr/** --exclude=* / /tmp/tmpvug6mia8/backintime/test-host/test-user/1/new_snapshot/backup"
1825DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvug6mia8 --exclude=/tmp/tmp97vzcsmm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzmabzzr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmplzmabzzr/** --exclude=* / /tmp/tmpvug6mia8/backintime/test-host/test-user/1/new_snapshot/backup'
1826DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
1827INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1828INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1829_________________________ Take.test_spaces_in_exclude __________________________
1831self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>
1832sleep = <MagicMock name='sleep' id='139457483239312'>
1834 @patch('time.sleep') # speed up unittest
1835 def test_spaces_in_exclude(self, sleep):
1836 now = datetime.today()
1837 sid1 = snapshots.SID(now, self.cfg)
1838 exclude = os.path.join(self.include.name, 'test path with spaces')
1839 generic.create_test_files(exclude)
1840 self.cfg.setExclude([exclude])
1842> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1844test/test_takeSnapshot.py:161:
1845_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1846snapshots.py:1493: in takeSnapshot
1847 self.backupPermissions(new_snapshot)
1848_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1850self = <snapshots.Snapshots object at 0x7ed5f9c05e50>, sid = new_snapshot
1852 def backupPermissions(self, sid):
1853 """
1854 Save permissions (owner, group, read-, write- and executable)
1855 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1857 Args:
1858 sid (SID): snapshot that should be scanned
1860 Returns:
1861 int: Return code of rsync.
1862 """
1863 logger.info('Save permissions', self)
1864 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1866 fileInfoDict = FileInfoDict()
1868 if self.config.snapshotsMode() == 'ssh_encfs':
1869 decode = encfstools.Decode(self.config, False)
1870 else:
1871> decode = encfstools.Bounce()
1872E AttributeError: module 'encfstools' has no attribute 'Bounce'
1874snapshots.py:1182: AttributeError
1875----------------------------- Captured stderr call -----------------------------
1876DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1877WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1878WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1879WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1880DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1881DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1882INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1883DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkoncva7h --exclude=/tmp/tmpr7fgf276/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmps7h1xbav/ --include=/tmp/ --exclude=/tmp/tmps7h1xbav/test path with spaces --include=/tmp/tmps7h1xbav/** --exclude=* / /tmp/tmpkoncva7h/backintime/test-host/test-user/1/new_snapshot/backup"
1884DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkoncva7h --exclude=/tmp/tmpr7fgf276/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmps7h1xbav/ --include=/tmp/ --exclude=/tmp/tmps7h1xbav/test path with spaces --include=/tmp/tmps7h1xbav/** --exclude=* / /tmp/tmpkoncva7h/backintime/test-host/test-user/1/new_snapshot/backup'
1885DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
1886INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1887INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1888_________________________ Take.test_spaces_in_include __________________________
1890self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>
1891sleep = <MagicMock name='sleep' id='139457483237296'>
1893 @patch('time.sleep') # speed up unittest
1894 def test_spaces_in_include(self, sleep):
1895 now = datetime.today()
1896 sid1 = snapshots.SID(now, self.cfg)
1897 include = os.path.join(self.include.name, 'test path with spaces')
1898 generic.create_test_files(include)
1900> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
1902test/test_takeSnapshot.py:118:
1903_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1904snapshots.py:1493: in takeSnapshot
1905 self.backupPermissions(new_snapshot)
1906_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1908self = <snapshots.Snapshots object at 0x7ed5f9c06c10>, sid = new_snapshot
1910 def backupPermissions(self, sid):
1911 """
1912 Save permissions (owner, group, read-, write- and executable)
1913 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1915 Args:
1916 sid (SID): snapshot that should be scanned
1918 Returns:
1919 int: Return code of rsync.
1920 """
1921 logger.info('Save permissions', self)
1922 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1924 fileInfoDict = FileInfoDict()
1926 if self.config.snapshotsMode() == 'ssh_encfs':
1927 decode = encfstools.Decode(self.config, False)
1928 else:
1929> decode = encfstools.Bounce()
1930E AttributeError: module 'encfstools' has no attribute 'Bounce'
1932snapshots.py:1182: AttributeError
1933----------------------------- Captured stderr call -----------------------------
1934DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1935WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1936WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1937WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1938DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1939DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1940INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1941DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpm5o3lt4b --exclude=/tmp/tmpa5cletn_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpcv5numfr/test path with spaces/ --include=/tmp/tmpcv5numfr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpcv5numfr/test path with spaces/** --exclude=* / /tmp/tmpm5o3lt4b/backintime/test-host/test-user/1/new_snapshot/backup"
1942DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpm5o3lt4b --exclude=/tmp/tmpa5cletn_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpcv5numfr/test path with spaces/ --include=/tmp/tmpcv5numfr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpcv5numfr/test path with spaces/** --exclude=* / /tmp/tmpm5o3lt4b/backintime/test-host/test-user/1/new_snapshot/backup'
1943DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
1944INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1945INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1946______________________________ TakeSSH.test_error ______________________________
1948self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>
1949sleep = <MagicMock name='sleep' id='139457483240320'>
1951 @patch('time.sleep') # speed up unittest
1952 def test_error(self, sleep):
1953 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1954 now = datetime.today()
1955 sid1 = snapshots.SID(now, self.cfg)
1957> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1959test/test_takeSnapshot.py:182:
1960_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1961snapshots.py:1493: in takeSnapshot
1962 self.backupPermissions(new_snapshot)
1963_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1965self = <snapshots.Snapshots object at 0x7ed5f9c04eb0>, sid = new_snapshot
1967 def backupPermissions(self, sid):
1968 """
1969 Save permissions (owner, group, read-, write- and executable)
1970 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1972 Args:
1973 sid (SID): snapshot that should be scanned
1975 Returns:
1976 int: Return code of rsync.
1977 """
1978 logger.info('Save permissions', self)
1979 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1981 fileInfoDict = FileInfoDict()
1983 if self.config.snapshotsMode() == 'ssh_encfs':
1984 decode = encfstools.Decode(self.config, False)
1985 else:
1986> decode = encfstools.Bounce()
1987E AttributeError: module 'encfstools' has no attribute 'Bounce'
1989snapshots.py:1182: AttributeError
1990----------------------------- Captured stderr call -----------------------------
1991DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1992WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1993WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1994WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1995DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1996DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1997DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
1998DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
1999DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2000DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2001DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2002DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2003DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2004DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2005DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2006DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2007DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2008ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2009DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2010DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2011DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock
2012DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2013DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2014DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2015DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2016DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2017DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpds8w3jhd/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpds8w3jhd/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpds8w3jhd/foo" || exit 11;test -w "/tmp/tmpds8w3jhd/foo" || exit 12;test -x "/tmp/tmpds8w3jhd/foo" || exit 13;exit 20']
2018DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpds8w3jhd/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpds8w3jhd/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpds8w3jhd/foo" || exit 11;test -w "/tmp/tmpds8w3jhd/foo" || exit 12;test -x "/tmp/tmpds8w3jhd/foo" || exit 13;exit 20
2019DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2020DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpds8w3jhd/foo /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint
2021DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpds8w3jhd/foo', '/tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint'].
2022INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpds8w3jhd/foo on /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint
2023DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/locks/5449.lock
2024DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock
2025DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2026INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2027DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2028DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2029WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
2030INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2031INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2032DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2033DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2034DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2035DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2036DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2037DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2038DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2039DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2040DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2041DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2042DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2043ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2044DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2045DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2046DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock
2047INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpds8w3jhd/foo from /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint
2048DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/locks/5449.lock
2049DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock
2050_____________________________ TakeSSH.test_exclude _____________________________
2052self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>
2053sleep = <MagicMock name='sleep' id='139457483242672'>
2055 @patch('time.sleep') # speed up unittest
2056 def test_exclude(self, sleep):
2057 now = datetime.today()
2058 sid1 = snapshots.SID(now, self.cfg)
2059 self.cfg.setExclude(['bar/baz'])
2061> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2063test/test_takeSnapshot.py:138:
2064_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2065snapshots.py:1493: in takeSnapshot
2066 self.backupPermissions(new_snapshot)
2067_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2069self = <snapshots.Snapshots object at 0x7ed5f9c07b10>, sid = new_snapshot
2071 def backupPermissions(self, sid):
2072 """
2073 Save permissions (owner, group, read-, write- and executable)
2074 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2076 Args:
2077 sid (SID): snapshot that should be scanned
2079 Returns:
2080 int: Return code of rsync.
2081 """
2082 logger.info('Save permissions', self)
2083 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2085 fileInfoDict = FileInfoDict()
2087 if self.config.snapshotsMode() == 'ssh_encfs':
2088 decode = encfstools.Decode(self.config, False)
2089 else:
2090> decode = encfstools.Bounce()
2091E AttributeError: module 'encfstools' has no attribute 'Bounce'
2093snapshots.py:1182: AttributeError
2094----------------------------- Captured stderr call -----------------------------
2095DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2096WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2097WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2098WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2099DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2100DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2101DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2102DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2103DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2104DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2105DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2106DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2107DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2108DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2109DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2110DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2111DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2112ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2113DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2114DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2115DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock
2116DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2117DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2118DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2119DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2120DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2121DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpmak70s42/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmak70s42/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmak70s42/foo" || exit 11;test -w "/tmp/tmpmak70s42/foo" || exit 12;test -x "/tmp/tmpmak70s42/foo" || exit 13;exit 20']
2122DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpmak70s42/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmak70s42/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmak70s42/foo" || exit 11;test -w "/tmp/tmpmak70s42/foo" || exit 12;test -x "/tmp/tmpmak70s42/foo" || exit 13;exit 20
2123DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2124DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpmak70s42/foo /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint
2125DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpmak70s42/foo', '/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint'].
2126INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpmak70s42/foo on /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint
2127DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/locks/5449.lock
2128DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock
2129DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2130INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2131DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp89maqvoi/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp89maqvoi/** --exclude=* / travis@localhost:/tmp/tmpmak70s42/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2132DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp89maqvoi/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp89maqvoi/** --exclude=* / travis@localhost:/tmp/tmpmak70s42/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2133DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
2134INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2135INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2136DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2137DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2138DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2139DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2140DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2141DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2142DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2143DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2144DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2145DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2146DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2147ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2148DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2149DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2150DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock
2151INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpmak70s42/foo from /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint
2152DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/locks/5449.lock
2153DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock
2154_________________________ TakeSSH.test_four_snapshots __________________________
2156self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>
2157sleep = <MagicMock name='sleep' id='139457483241328'>
2159 @patch('time.sleep') # speed up unittest
2160 def test_four_snapshots(self, sleep):
2161 now = datetime.today() - timedelta(minutes = 6)
2162 sid1 = snapshots.SID(now, self.cfg)
2164 # Note: 'self.sn' is of type 'Snapshots'
2165 # First boolean: Snapshot succeeded
2166 # Second boolean: Error occurred
2167 self.assertListEqual(
2168 [True, False], # Snapshot without error
2169> self.sn.takeSnapshot(
2170 sid=sid1,
2171 now=now,
2172 include_folders=[
2173 (self.include.name, 0), # '0' means it is a file
2178test/test_takeSnapshot.py:51:
2179_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2180snapshots.py:1493: in takeSnapshot
2181 self.backupPermissions(new_snapshot)
2182_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2184self = <snapshots.Snapshots object at 0x7ed5f9c07d90>, sid = new_snapshot
2186 def backupPermissions(self, sid):
2187 """
2188 Save permissions (owner, group, read-, write- and executable)
2189 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2191 Args:
2192 sid (SID): snapshot that should be scanned
2194 Returns:
2195 int: Return code of rsync.
2196 """
2197 logger.info('Save permissions', self)
2198 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2200 fileInfoDict = FileInfoDict()
2202 if self.config.snapshotsMode() == 'ssh_encfs':
2203 decode = encfstools.Decode(self.config, False)
2204 else:
2205> decode = encfstools.Bounce()
2206E AttributeError: module 'encfstools' has no attribute 'Bounce'
2208snapshots.py:1182: AttributeError
2209----------------------------- Captured stderr call -----------------------------
2210DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2211WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2212WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2213WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2214DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2215DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2216DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2217DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2218DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2219DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2220DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2221DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2222DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2223DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2224DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2225DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2226DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2227ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2228DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2229DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2230DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock
2231DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2232DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2233DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2234DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2235DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2236DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpl3nvhg00/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpl3nvhg00/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpl3nvhg00/foo" || exit 11;test -w "/tmp/tmpl3nvhg00/foo" || exit 12;test -x "/tmp/tmpl3nvhg00/foo" || exit 13;exit 20']
2237DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpl3nvhg00/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpl3nvhg00/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpl3nvhg00/foo" || exit 11;test -w "/tmp/tmpl3nvhg00/foo" || exit 12;test -x "/tmp/tmpl3nvhg00/foo" || exit 13;exit 20
2238DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2239DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpl3nvhg00/foo /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint
2240DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpl3nvhg00/foo', '/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint'].
2241INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpl3nvhg00/foo on /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint
2242DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/locks/5449.lock
2243DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock
2244DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2245INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2246DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpva9_yet5/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpva9_yet5/** --exclude=* / travis@localhost:/tmp/tmpl3nvhg00/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2247DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpva9_yet5/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpva9_yet5/** --exclude=* / travis@localhost:/tmp/tmpl3nvhg00/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2248DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
2249INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2250INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2251DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2252DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2253DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2254DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2255DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2256DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2257DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2258DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2259DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2260DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2261DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2262ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2263DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2264DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2265DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock
2266INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpl3nvhg00/foo from /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint
2267DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/locks/5449.lock
2268DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock
2269___________________________ TakeSSH.test_new_exists ____________________________
2271self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>
2272sleep = <MagicMock name='sleep' id='139457483243008'>
2274 @patch('time.sleep') # speed up unittest
2275 def test_new_exists(self, sleep):
2276 new_snapshot = snapshots.NewSnapshot(self.cfg)
2277 new_snapshot.makeDirs()
2278 with open(new_snapshot.path('leftover'), 'wt') as f:
2279 f.write('foo')
2281 now = datetime.today() - timedelta(minutes = 6)
2282 sid1 = snapshots.SID(now, self.cfg)
2284> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2286test/test_takeSnapshot.py:214:
2287_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2288snapshots.py:1493: in takeSnapshot
2289 self.backupPermissions(new_snapshot)
2290_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2292self = <snapshots.Snapshots object at 0x7ed5f9c06990>, sid = new_snapshot
2294 def backupPermissions(self, sid):
2295 """
2296 Save permissions (owner, group, read-, write- and executable)
2297 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2299 Args:
2300 sid (SID): snapshot that should be scanned
2302 Returns:
2303 int: Return code of rsync.
2304 """
2305 logger.info('Save permissions', self)
2306 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2308 fileInfoDict = FileInfoDict()
2310 if self.config.snapshotsMode() == 'ssh_encfs':
2311 decode = encfstools.Decode(self.config, False)
2312 else:
2313> decode = encfstools.Bounce()
2314E AttributeError: module 'encfstools' has no attribute 'Bounce'
2316snapshots.py:1182: AttributeError
2317----------------------------- Captured stderr call -----------------------------
2318DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2319WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2320WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2321WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2322DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2323DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2324DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2325DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2326DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2327DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2328DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2329DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2330DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2331DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2332DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2333DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2334DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2335ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2336DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2337DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2338DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock
2339DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2340DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2341DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2342DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2343DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2344DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpvgxsz9_y/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpvgxsz9_y/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpvgxsz9_y/foo" || exit 11;test -w "/tmp/tmpvgxsz9_y/foo" || exit 12;test -x "/tmp/tmpvgxsz9_y/foo" || exit 13;exit 20']
2345DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpvgxsz9_y/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpvgxsz9_y/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpvgxsz9_y/foo" || exit 11;test -w "/tmp/tmpvgxsz9_y/foo" || exit 12;test -x "/tmp/tmpvgxsz9_y/foo" || exit 13;exit 20
2346DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2347DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpvgxsz9_y/foo /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint
2348DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpvgxsz9_y/foo', '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint'].
2349INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpvgxsz9_y/foo on /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint
2350DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/locks/5449.lock
2351DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock
2352INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
2353DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2354DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpa1gug2f_/ travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot"
2355DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpa1gug2f_/ travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot'
2356DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
2357ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449/backintime/test-host/test-user/1/new_snapshot/backup'
2358DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2359INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2360DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpff4bjkwv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmphaje2lbs/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmphaje2lbs/** --exclude=* / travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2361DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpff4bjkwv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmphaje2lbs/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmphaje2lbs/** --exclude=* / travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2362DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
2363INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2364INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2365DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2366DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2367DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2368DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2369DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2370DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2371DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2372DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2373DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2374DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2375DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2376ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2377DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2378DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2379DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock
2380INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpvgxsz9_y/foo from /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint
2381DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/locks/5449.lock
2382DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock
2383_______________________ TakeSSH.test_new_exists_continue _______________________
2385self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>
2386sleep = <MagicMock name='sleep' id='139457483238304'>
2388 @patch('time.sleep') # speed up unittest
2389 def test_new_exists_continue(self, sleep):
2390 new_snapshot = snapshots.NewSnapshot(self.cfg)
2391 new_snapshot.makeDirs()
2392 with open(new_snapshot.path('leftover'), 'wt') as f:
2393 f.write('foo')
2394 new_snapshot.saveToContinue = True
2396 now = datetime.today() - timedelta(minutes = 6)
2397 sid1 = snapshots.SID(now, self.cfg)
2399> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2401test/test_takeSnapshot.py:229:
2402_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2403snapshots.py:1493: in takeSnapshot
2404 self.backupPermissions(new_snapshot)
2405_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2407self = <snapshots.Snapshots object at 0x7ed5f9c07f70>, sid = new_snapshot
2409 def backupPermissions(self, sid):
2410 """
2411 Save permissions (owner, group, read-, write- and executable)
2412 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2414 Args:
2415 sid (SID): snapshot that should be scanned
2417 Returns:
2418 int: Return code of rsync.
2419 """
2420 logger.info('Save permissions', self)
2421 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2423 fileInfoDict = FileInfoDict()
2425 if self.config.snapshotsMode() == 'ssh_encfs':
2426 decode = encfstools.Decode(self.config, False)
2427 else:
2428> decode = encfstools.Bounce()
2429E AttributeError: module 'encfstools' has no attribute 'Bounce'
2431snapshots.py:1182: AttributeError
2432----------------------------- Captured stderr call -----------------------------
2433DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2434WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2435WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2436WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2437DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2438DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2439DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2440DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2441DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2442DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2443DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2444DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2445DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2446DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2447DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2448DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2449DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2450ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2451DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2452DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2453DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock
2454DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2455DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2456DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2457DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2458DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2459DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpie0cs5ua/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpie0cs5ua/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpie0cs5ua/foo" || exit 11;test -w "/tmp/tmpie0cs5ua/foo" || exit 12;test -x "/tmp/tmpie0cs5ua/foo" || exit 13;exit 20']
2460DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpie0cs5ua/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpie0cs5ua/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpie0cs5ua/foo" || exit 11;test -w "/tmp/tmpie0cs5ua/foo" || exit 12;test -x "/tmp/tmpie0cs5ua/foo" || exit 13;exit 20
2461DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2462DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpie0cs5ua/foo /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint
2463DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpie0cs5ua/foo', '/tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint'].
2464INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpie0cs5ua/foo on /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint
2465DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/locks/5449.lock
2466DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock
2467INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
2468DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2469INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2470DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpy_ox7h56/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpy_ox7h56/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm7dswnm8/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpm7dswnm8/** --exclude=* / travis@localhost:/tmp/tmpie0cs5ua/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2471DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpy_ox7h56/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpy_ox7h56/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm7dswnm8/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpm7dswnm8/** --exclude=* / travis@localhost:/tmp/tmpie0cs5ua/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2472DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
2473INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2474INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2475DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2476DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2477DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2478DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2479DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2480DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2481DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2482DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2483DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2484DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2485DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2486ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2487DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2488DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2489DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock
2490INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpie0cs5ua/foo from /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint
2491DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/locks/5449.lock
2492DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock
2493________________________ TakeSSH.test_spaces_in_exclude ________________________
2495self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>
2496sleep = <MagicMock name='sleep' id='139457483240320'>
2498 @patch('time.sleep') # speed up unittest
2499 def test_spaces_in_exclude(self, sleep):
2500 now = datetime.today()
2501 sid1 = snapshots.SID(now, self.cfg)
2502 exclude = os.path.join(self.include.name, 'test path with spaces')
2503 generic.create_test_files(exclude)
2504 self.cfg.setExclude([exclude])
2506> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2508test/test_takeSnapshot.py:161:
2509_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2510snapshots.py:1493: in takeSnapshot
2511 self.backupPermissions(new_snapshot)
2512_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2514self = <snapshots.Snapshots object at 0x7ed5f9c06c10>, sid = new_snapshot
2516 def backupPermissions(self, sid):
2517 """
2518 Save permissions (owner, group, read-, write- and executable)
2519 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2521 Args:
2522 sid (SID): snapshot that should be scanned
2524 Returns:
2525 int: Return code of rsync.
2526 """
2527 logger.info('Save permissions', self)
2528 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2530 fileInfoDict = FileInfoDict()
2532 if self.config.snapshotsMode() == 'ssh_encfs':
2533 decode = encfstools.Decode(self.config, False)
2534 else:
2535> decode = encfstools.Bounce()
2536E AttributeError: module 'encfstools' has no attribute 'Bounce'
2538snapshots.py:1182: AttributeError
2539----------------------------- Captured stderr call -----------------------------
2540DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2541WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2542WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2543WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2544DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2545DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2546DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2547DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2548DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2549DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2550DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2551DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2552DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2553DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2554DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2555DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2556DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2557ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2558DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2559DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2560DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock
2561DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2562DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2563DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2564DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2565DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2566DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpmnteea2z/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmnteea2z/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmnteea2z/foo" || exit 11;test -w "/tmp/tmpmnteea2z/foo" || exit 12;test -x "/tmp/tmpmnteea2z/foo" || exit 13;exit 20']
2567DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpmnteea2z/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmnteea2z/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmnteea2z/foo" || exit 11;test -w "/tmp/tmpmnteea2z/foo" || exit 12;test -x "/tmp/tmpmnteea2z/foo" || exit 13;exit 20
2568DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2569DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpmnteea2z/foo /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint
2570DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpmnteea2z/foo', '/tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint'].
2571INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpmnteea2z/foo on /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint
2572DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/locks/5449.lock
2573DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock
2574DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2575INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2576DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp5ur18bdm/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp5ur18bdm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpptli4fan/ --include=/tmp/ --exclude=/tmp/tmpptli4fan/test path with spaces --include=/tmp/tmpptli4fan/** --exclude=* / travis@localhost:/tmp/tmpmnteea2z/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2577DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp5ur18bdm/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp5ur18bdm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpptli4fan/ --include=/tmp/ --exclude=/tmp/tmpptli4fan/test path with spaces --include=/tmp/tmpptli4fan/** --exclude=* / travis@localhost:/tmp/tmpmnteea2z/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2578DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
2579INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2580INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2581DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2582DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2583DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2584DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2585DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2586DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2587DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2588DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2589DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2590DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2591DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2592ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2593DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2594DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2595DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock
2596INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpmnteea2z/foo from /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint
2597DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/locks/5449.lock
2598DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock
2599________________________ TakeSSH.test_spaces_in_include ________________________
2601self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>
2602sleep = <MagicMock name='sleep' id='139457486274976'>
2604 @patch('time.sleep') # speed up unittest
2605 def test_spaces_in_include(self, sleep):
2606 now = datetime.today()
2607 sid1 = snapshots.SID(now, self.cfg)
2608 include = os.path.join(self.include.name, 'test path with spaces')
2609 generic.create_test_files(include)
2611> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
2613test/test_takeSnapshot.py:118:
2614_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2615snapshots.py:1493: in takeSnapshot
2616 self.backupPermissions(new_snapshot)
2617_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2619self = <snapshots.Snapshots object at 0x7ed5f9d39c70>, sid = new_snapshot
2621 def backupPermissions(self, sid):
2622 """
2623 Save permissions (owner, group, read-, write- and executable)
2624 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2626 Args:
2627 sid (SID): snapshot that should be scanned
2629 Returns:
2630 int: Return code of rsync.
2631 """
2632 logger.info('Save permissions', self)
2633 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2635 fileInfoDict = FileInfoDict()
2637 if self.config.snapshotsMode() == 'ssh_encfs':
2638 decode = encfstools.Decode(self.config, False)
2639 else:
2640> decode = encfstools.Bounce()
2641E AttributeError: module 'encfstools' has no attribute 'Bounce'
2643snapshots.py:1182: AttributeError
2644----------------------------- Captured stderr call -----------------------------
2645DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2646WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2647WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2648WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2649DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2650DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2651DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2652DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2653DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2654DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2655DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2656DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2657DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2658DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2659DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2660DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2661DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 7
2662ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2663DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2664DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2665DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock
2666DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2667DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2668DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2669DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']
2670DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2671DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmp6brz9oz5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6brz9oz5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6brz9oz5/foo" || exit 11;test -w "/tmp/tmp6brz9oz5/foo" || exit 12;test -x "/tmp/tmp6brz9oz5/foo" || exit 13;exit 20']
2672DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmp6brz9oz5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6brz9oz5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6brz9oz5/foo" || exit 11;test -w "/tmp/tmp6brz9oz5/foo" || exit 12;test -x "/tmp/tmp6brz9oz5/foo" || exit 13;exit 20
2673DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2674DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmp6brz9oz5/foo /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint
2675DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmp6brz9oz5/foo', '/tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint'].
2676INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp6brz9oz5/foo on /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint
2677DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/locks/5449.lock
2678DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock
2679DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2680INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2681DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7hrg16nb/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7hrg16nb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp40c4qc0u/test path with spaces/ --include=/tmp/tmp40c4qc0u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp40c4qc0u/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp6brz9oz5/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2682DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7hrg16nb/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7hrg16nb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp40c4qc0u/test path with spaces/ --include=/tmp/tmp40c4qc0u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp40c4qc0u/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp6brz9oz5/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2683DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
2684INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2685INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2686DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2687DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2688DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2689DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2690DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']
2691DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2692DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2693DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2694DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2695DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2696DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 8
2697ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2698DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2699DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2700DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock
2701INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp6brz9oz5/foo from /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint
2702DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/locks/5449.lock
2703DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock
2704=========================== short test summary info ============================
2705FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 1
2706stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2707WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2708WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2709INFO: Lock
2710INFO: Take a new snapshot. Profile: 1 Main profile
2711INFO: Call rsync to take the snapshot
2712INFO: Save config file
2713INFO: Save permissions
2714Traceback (most recent call last):
2715 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
2716 startApp()
2717 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
2718 args.func(args)
2719 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
2720 ret = takeSnapshot(cfg, force)
2721 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
2722 ret = snapshots.Snapshots(cfg).backup(force)
2723 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
2724 ret_val, ret_error = self.takeSnapshot(
2725 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
2726 self.backupPermissions(new_snapshot)
2727 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
2728 decode = encfstools.Bounce()
2729AttributeError: module 'encfstools' has no attribute 'Bounce'
2731stdout:
2732Back In Time
2733Version: 1.5.4-rc1
2735Back In Time comes with ABSOLUTELY NO WARRANTY.
2736This is free software, and you are welcome to redistribute it
2737under certain conditions; type `backintime --license' for details.
2738FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).
2739FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).
2740FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.
2741FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.
2742FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'
2743FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2744FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2745FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2746FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2747FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2748FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2749FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2750FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2751FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2752FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2753FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2754FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2755FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2756FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2757FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2758FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2759============ 22 failed, 404 passed, 1 skipped in 124.24s (0:02:04) =============
2760make: *** [Makefile:620: unittest-v] Error 1
2761The command "make unittest-v" exited with 2.
27620.00s$ cd ..
2763The command "cd .." exited with 0.
27640.00s$ cd qt
2765The command "cd qt" exited with 0.
27660.08s$ ./configure
2767Replacement of python path with "/usr/bin/python3" successful.
2768All OK. Now run:
2769 make
2770 sudo make install
2771The command "./configure" exited with 0.
27720.01s$ make
2773# Man pages
2774for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done
2775The command "make" exited with 0.
277626.67s$ pytest --verbose
2777============================= test session starts ==============================
2778platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.13.1/bin/python
2779cachedir: .pytest_cache
2780rootdir: /home/travis/build/bit-team/backintime/qt
2781plugins: pyfakefs-5.7.4
2782collected 9 items
2784test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 11%]
2785test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset PASSED [ 22%]
2786test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset PASSED [ 33%]
2787test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset PASSED [ 44%]
2788test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset PASSED [ 55%]
2789test/test_statedata.py::IsSingleton::test_content PASSED [ 66%]
2790test/test_statedata.py::IsSingleton::test_identity PASSED [ 77%]
2791test/test_statedata.py::Properties::test_profile_not_exist PASSED [ 88%]
2792test/test_statedata.py::Properties::test_read_empty_global PASSED [100%]
2794============================== 9 passed in 26.35s ==============================
2795The command "pytest --verbose" exited with 0.
2798Done. Your build exited with 1.
Top