Pull request event #2496.1 failed

  • Ran for
AMD64
Python: 3.9
Git
PYTHONUNBUFFERED=1
Raw log
Scroll to End of Log
0.18s0.10s3.9 is not installed; attempting download0.06s0.00s
worker_info
1Worker information
2hostname: c04afe9e-bce6-49cb-83c9-8e1e14f46a15@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-3
3version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f030
4instance: travis-job-8fe1cf29-48b9-4d75-a941-d432797f9282 travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)
5startup: 5.937430369s
60.30s0.01s0.00s0.01s
system_info
7Build system information
8Build language: python
9Build dist: jammy
10Build id: 274236385
11Job id: 630633623
12Runtime kernel version: 6.8.0-1018-gcp
13VM: default
14travis-build version: 6b157a1c
15Build image provisioning date and time
16Fri Nov 22 04:28:26 PM UTC 2024
17Operating System Details
18Distributor ID: Ubuntu
19Description: Ubuntu 22.04.5 LTS
20Release: 22.04
21Codename: jammy
22Systemd Version
23systemd 249 (249.11-0ubuntu3.12)
24Cookbooks Version
25be2ab50 https://github.com/travis-ci/travis-cookbooks/tree/be2ab50
26git version
27git version 2.47.0
28bash version
29GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
30gcc version
31gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
32docker version
33Client:
34 Version: 24.0.7
35 API version: 1.43
36 Go version: go1.21.1
37 Git commit: 24.0.7-0ubuntu2~22.04.1
38 Built: Wed Mar 13 20:23:54 2024
39 OS/Arch: linux/amd64
40 Context: default
42Server:
43 Engine:
44 Version: 24.0.7
45 API version: 1.43 (minimum version 1.12)
46 Go version: go1.21.1
47 Git commit: 24.0.7-0ubuntu2~22.04.1
48 Built: Wed Mar 13 20:23:54 2024
49 OS/Arch: linux/amd64
50 Experimental: false
51 containerd:
52 Version: 1.7.12
53 GitCommit:
54 runc:
55 Version: 1.1.12-0ubuntu2~22.04.1
56 GitCommit:
57 docker-init:
58 Version: 0.19.0
59 GitCommit:
60clang version
61clang version 18.1.8
62jq version
63jq-1.7.1
64bats version
65Bats 1.11.0
66shellcheck version
670.10.0
68shfmt version
69v3.8.0
70ccache version
714.5.1
72cmake version
73cmake version 3.29.0
74heroku version
75heroku/9.5.0 linux-x64 node-v16.20.2
76imagemagick version
77Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
78md5deep version
794.4
80mercurial version
81version 6.5.2
82mysql version
83mysql Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
84openssl version
85OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)
86packer version
87Packer v1.11.2
88postgresql client version
89psql (PostgreSQL) 14.13 (Ubuntu 14.13-0ubuntu0.22.04.1)
90ragel version
91Ragel State Machine Compiler version 6.10 March 2017
92sudo version
931.9.9
94gzip version
95gzip 1.10
96zip version
97Zip 3.0
98vim version
99VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 16 2024 17:27:14)
100iptables version
101iptables v1.8.7 (nf_tables)
102curl version
103curl 7.81.0 (x86_64-pc-linux-gnu) libcurl/7.81.0 OpenSSL/3.0.2 zlib/1.2.11 brotli/1.0.9 zstd/1.4.8 libidn2/2.3.2 libpsl/0.21.0 (+libidn2/2.3.2) libssh/0.9.6/openssl/zlib nghttp2/1.43.0 librtmp/2.3 OpenLDAP/2.5.18
104wget version
105GNU Wget 1.21.2 built on linux-gnu.
106rsync version
107rsync version 3.2.7 protocol version 31
108nvm version
1090.40.1
110perlbrew version
111/home/travis/perl5/perlbrew/bin/perlbrew - App::perlbrew/0.95
112phpenv version
113rbenv 1.3.0
114rvm version
115rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
116default ruby version
117ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]
118default python version
119Python 3.10.14
120ElasticSearch version
1217.16.3
122Installed Firefox version
123firefox 99.0
124MongoDB version
125MongoDB 6.0.19
126ant version
127Apache Ant(TM) version 1.10.12 compiled on January 17 1970
128mvn version
129Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)
130gradle version
131Gradle 8.3!
132lein version
133Leiningen 2.11.2 on Java 11.0.21 OpenJDK 64-Bit Server VM
134Pre-installed Node.js versions
135v10.24.1
136v12.22.12
137v14.21.3
138v16.15
139v16.20.2
140v18.20.3
141v18.20.5
142v20.18.1
143v22.11.0
144v4.9.1
145v6.17.1
146v8.17.0
147phpenv versions
148 system
149 8.1
150* 8.1.2 (set by /home/travis/.phpenv/version)
151 hhvm-stable
152 hhvm
153composer --version
154Composer version 2.3.7 2022-06-06 16:43:28
155Pre-installed Ruby versions
156ruby-2.7.8
157ruby-3.3.5
1590.02s0.01s0.60s0.24s0.05s0.00s0.03s0.00s0.03s0.01s0.03s0.01s0.01s0.00s0.43sOK
1600.00s0.05s0.00s0.01s0.12s0.00s0.00s0.00s0.01s0.00s0.11s0.00s0.88s0.00s0.00s18.76s0.00s3.16s0.00s3.62s
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.9.tar.bz2
1620.61s$ curl -sSf --retry 5 -o python-3.9.tar.bz2 ${archive_url}
16310.54s$ sudo tar xjf python-3.9.tar.bz2 --directory /
1640.00s
ssh_known_hosts.0
165Adding ssh known hosts
166$ mkdir -p ${TRAVIS_HOME}/.ssh
1670.05s$ 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|KOyLd/LyJeWduXN7gfaUfWPZLws=|bY1O805qrx9OCVRHYangq5fltr4= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=
172|1|vO3J4g6oI/eY/NYqfr0JwtXuSu8=|AcClDGT259YFXDY/c5Y1Llg1Z2o= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=
git.checkout
1740.01s1.28s$ 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% (557/557), done.
179remote: Total 932 (delta 541), reused 633 (delta 346), pack-reused 0 (from 0)
180Receiving objects: 100% (932/932), 4.82 MiB | 11.34 MiB/s, done.
181Resolving deltas: 100% (541/541), done.
182$ cd bit-team/backintime
1830.25s$ 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 | 457.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.00s$ source ~/virtualenv/python3.9/bin/activate
198$ python --version
199Python 3.9.21
200$ pip --version
201pip 24.3.1 from /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages/pip (python 3.9)
before_install.1
2020.01s$ sudo rm -f /etc/apt/sources.list.d/mongodb*.list
before_install.2
2030.10s$ 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.20s$ 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
2095.29s$ 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 (116 kB/s)
223Selecting previously unselected package sshfs.
224(Reading database ... 132481 files and directories currently installed.)
225Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...
226Unpacking sshfs (3.7.1+repack-2) ...
227Setting up sshfs (3.7.1+repack-2) ...
228Processing triggers for man-db (2.10.2-1) ...
229NEEDRESTART-VER: 3.5
230NEEDRESTART-KCUR: 6.8.0-1018-gcp
231NEEDRESTART-KEXP: 6.8.0-1018-gcp
232NEEDRESTART-KSTA: 1
install.1
2331.60s$ pip install -U pip
234Requirement already satisfied: pip in /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages (24.3.1)
235Collecting pip
236 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)
237Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)
238Installing collected packages: pip
239 Attempting uninstall: pip
240 Found existing installation: pip 24.3.1
241 Uninstalling pip-24.3.1:
242 Successfully uninstalled pip-24.3.1
243Successfully installed pip-25.0.1
install.2
2445.96s$ 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.2 (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.9.21/lib/python3.9/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)
264Requirement already satisfied: tomli>=1.1.0 in /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages (from pylint) (2.2.1)
265Collecting tomlkit>=0.10.1 (from pylint)
266 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)
267Collecting typing-extensions>=3.10.0 (from pylint)
268 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
269Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)
270 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)
271Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)
272 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)
273Collecting SecretStorage>=3.2 (from keyring)
274 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)
275Collecting jeepney>=0.4.2 (from keyring)
276 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)
277Collecting importlib_metadata>=4.11.4 (from keyring)
278 Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)
279Collecting jaraco.classes (from keyring)
280 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
281Collecting jaraco.functools (from keyring)
282 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
283Collecting jaraco.context (from keyring)
284 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
285Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring)
286 Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
287Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)
288 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
289Collecting more-itertools (from jaraco.classes->keyring)
290 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
291Collecting backports.tarfile (from jaraco.context->keyring)
292 Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
293Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)
294 Downloading cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
295Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)
296 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
297Downloading pylint-3.3.4-py3-none-any.whl (522 kB)
298Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)
299Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)
300Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)
301Downloading keyring-25.6.0-py3-none-any.whl (39 kB)
302Downloading astroid-3.3.8-py3-none-any.whl (275 kB)
303Downloading dill-0.3.9-py3-none-any.whl (119 kB)
304Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)
305Downloading isort-6.0.0-py3-none-any.whl (94 kB)
306Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)
307Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
308Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)
309Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)
310Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)
311Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
312Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
313Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
314Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
315Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
316Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)
317Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)
318Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
319Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
320Downloading cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (445 kB)
321Downloading pycparser-2.22-py3-none-any.whl (117 kB)
322Installing collected packages: zipp, typing-extensions, tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, isort, dill, backports.tarfile, jaraco.functools, jaraco.context, jaraco.classes, importlib_metadata, flake8, cffi, astroid, pylint, cryptography, SecretStorage, keyring
323Successfully installed SecretStorage-3.3.3 astroid-3.3.8 backports.tarfile-1.2.0 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 importlib_metadata-8.6.1 isort-6.0.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.6.0 mccabe-0.7.0 more-itertools-10.6.0 pycodestyle-2.12.1 pycparser-2.22 pyfakefs-5.7.4 pyflakes-3.2.0 pylint-3.3.4 ruff-0.9.6 tomlkit-0.13.2 typing-extensions-4.12.2 zipp-3.21.0
install.3
32412.69s$ pip install pyqt6 dbus-python
325Collecting pyqt6
326 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
327Collecting dbus-python
328 Downloading dbus-python-1.3.2.tar.gz (605 kB)
329 Installing build dependencies ... done
330 Getting requirements to build wheel ... done
331 Preparing metadata (pyproject.toml) ... done
332Collecting PyQt6-sip<14,>=13.8 (from pyqt6)
333 Downloading PyQt6_sip-13.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)
334Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)
335 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)
336Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)
337Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)
338Downloading PyQt6_sip-13.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (281 kB)
339Building wheels for collected packages: dbus-python
340 Building wheel for dbus-python (pyproject.toml) ... done
341 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp39-cp39-linux_x86_64.whl size=121904 sha256=5d51c18deb01db50bd3a25156d9fff8d1aa171c1558980543561beef6211fbbb
342 Stored in directory: /home/travis/.cache/pip/wheels/27/85/e1/b15bc5a2c09c521621b4f5a32a2aa85b08586fbb80cea67ffd
343Successfully built dbus-python
344Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6
345Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1
install.4
3460.15s$ ssh-keygen -b 2048 -t rsa -f /home/travis/.ssh/id_rsa -N ""
347Generating public/private rsa key pair.
348Your identification has been saved in /home/travis/.ssh/id_rsa
349Your public key has been saved in /home/travis/.ssh/id_rsa.pub
350The key fingerprint is:
351SHA256:ohGt4H2uqote4rvIavX/rmfbtoyi5QvjiqSoVsfoSuQ travis@travis-job-8fe1cf29-48b9-4d75-a941-d432797f9282
352The key's randomart image is:
353+---[RSA 2048]----+
354| |
355| . |
356| . . . |
357| . o o |
358| .. * o S |
359|o + B . |
360| E+.+o.. |
361|Xo+..o=. o+. |
362|/@=oooo=O=o+. |
363+----[SHA256]-----+
install.5
3640.00s$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
install.6
3650.01s$ eval `ssh-agent -s`
366Agent pid 5181
3670.24s$ python -m compileall common common/test common/plugins qt qt/test qt/plugins
368Listing 'common'...
369Compiling 'common/applicationinstance.py'...
370Compiling 'common/askpass.py'...
371Compiling 'common/backintime.py'...
372Listing 'common/bash-completion'...
373Compiling 'common/bcolors.py'...
374Compiling 'common/bitbase.py'...
375Compiling 'common/cli.py'...
376Compiling 'common/config.py'...
377Compiling 'common/configfile.py'...
378Compiling 'common/daemon.py'...
379Compiling 'common/diagnostics.py'...
380Listing 'common/doc-dev'...
381Listing 'common/doc-dev/_static'...
382Listing 'common/doc-dev/_templates'...
383Compiling 'common/doc-dev/conf.py'...
384Listing 'common/doc-dev/plugins'...
385Compiling 'common/encfstools.py'...
386Compiling 'common/encode.py'...
387Compiling 'common/exceptions.py'...
388Compiling 'common/flock.py'...
389Compiling 'common/guiapplicationinstance.py'...
390Compiling 'common/languages.py'...
391Compiling 'common/logger.py'...
392Listing 'common/man'...
393Listing 'common/man/C'...
394Compiling 'common/mount.py'...
395Compiling 'common/password.py'...
396Compiling 'common/password_ipc.py'...
397Compiling 'common/pluginmanager.py'...
398Listing 'common/plugins'...
399Compiling 'common/plugins/usercallbackplugin.py'...
400Listing 'common/po'...
401Compiling 'common/progress.py'...
402Compiling 'common/qt_probing.py'...
403Compiling 'common/schedule.py'...
404Compiling 'common/singleton.py'...
405Compiling 'common/snapshotlog.py'...
406Compiling 'common/snapshots.py'...
407Compiling 'common/ssh_max_arg.py'...
408Compiling 'common/sshtools.py'...
409Listing 'common/test'...
410Compiling 'common/test/__init__.py'...
411Compiling 'common/test/constants.py'...
412Compiling 'common/test/generic.py'...
413Compiling 'common/test/test_applicationinstance.py'...
414Compiling 'common/test/test_argparser.py'...
415Compiling 'common/test/test_backintime.py'...
416Compiling 'common/test/test_backup.py'...
417Compiling 'common/test/test_config.py'...
418Compiling 'common/test/test_config_crontab.py'...
419Compiling 'common/test/test_configfile.py'...
420Compiling 'common/test/test_diagnostics.py'...
421Compiling 'common/test/test_encfstools.py'...
422Compiling 'common/test/test_languages.py'...
423Compiling 'common/test/test_lint.py'...
424Compiling 'common/test/test_mount.py'...
425Compiling 'common/test/test_plugin_usercallback.py'...
426Compiling 'common/test/test_restore.py'...
427Compiling 'common/test/test_schedule.py'...
428Compiling 'common/test/test_sid.py'...
429Compiling 'common/test/test_singleton.py'...
430Compiling 'common/test/test_snapshotlog.py'...
431Compiling 'common/test/test_snapshots.py'...
432Compiling 'common/test/test_snapshots_autoremove.py'...
433Compiling 'common/test/test_sshtools.py'...
434Compiling 'common/test/test_takeSnapshot.py'...
435Compiling 'common/test/test_tools.py'...
436Compiling 'common/test/test_uniquenessset.py'...
437Compiling 'common/tools.py'...
438Compiling 'common/uniquenessset.py'...
439Compiling 'common/version.py'...
440Listing 'common/test'...
441Listing 'common/plugins'...
442Listing 'qt'...
443Compiling 'qt/aboutdlg.py'...
444Compiling 'qt/app.py'...
445Compiling 'qt/editusercallback.py'...
446Compiling 'qt/encfsmsgbox.py'...
447Compiling 'qt/icon.py'...
448Listing 'qt/icons'...
449Listing 'qt/icons/16x16'...
450Listing 'qt/icons/16x16/actions'...
451Listing 'qt/icons/22x22'...
452Listing 'qt/icons/22x22/actions'...
453Listing 'qt/icons/24x24'...
454Listing 'qt/icons/24x24/actions'...
455Listing 'qt/icons/32x32'...
456Listing 'qt/icons/32x32/actions'...
457Listing 'qt/icons/48x48'...
458Listing 'qt/icons/48x48/actions'...
459Listing 'qt/icons/scalable'...
460Listing 'qt/icons/scalable/actions'...
461Compiling 'qt/languagedialog.py'...
462Compiling 'qt/logviewdialog.py'...
463Listing 'qt/man'...
464Listing 'qt/man/C'...
465Listing 'qt/manageprofiles'...
466Compiling 'qt/manageprofiles/__init__.py'...
467Compiling 'qt/manageprofiles/combobox.py'...
468Compiling 'qt/manageprofiles/schedulewidget.py'...
469Compiling 'qt/manageprofiles/spinboxunit.py'...
470Compiling 'qt/manageprofiles/sshproxywidget.py'...
471Compiling 'qt/manageprofiles/statebindcheckbox.py'...
472Compiling 'qt/manageprofiles/tab_expert_options.py'...
473Compiling 'qt/manageprofiles/tab_general.py'...
474Compiling 'qt/manageprofiles/tab_options.py'...
475Compiling 'qt/manageprofiles/tab_remove_retention.py'...
476Compiling 'qt/messagebox.py'...
477Listing 'qt/plugins'...
478Compiling 'qt/plugins/notifyplugin.py'...
479Compiling 'qt/plugins/systrayiconplugin.py'...
480Compiling 'qt/qtsystrayicon.py'...
481Compiling 'qt/qttools.py'...
482Compiling 'qt/qttools_path.py'...
483Compiling 'qt/restoreconfigdialog.py'...
484Compiling 'qt/restoredialog.py'...
485Compiling 'qt/serviceHelper.py'...
486Compiling 'qt/snapshotsdialog.py'...
487Compiling 'qt/statedata.py'...
488Listing 'qt/test'...
489Compiling 'qt/test/__init__.py'...
490Compiling 'qt/test/test_lint.py'...
491Compiling 'qt/test/test_statedata.py'...
492Compiling 'qt/usermessagedialog.py'...
493Listing 'qt/test'...
494Listing 'qt/plugins'...
495The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.
4960.00s$ cd common
497The command "cd common" exited with 0.
4980.12s$ ./configure
499Replacement of python path with "/usr/bin/python3" successful.
500All OK. Now run:
501 make
502 sudo make install
503The command "./configure" exited with 0.
504122.48s$ make unittest-v
505/home/travis/virtualenv/python3.9.21/bin/pytest -v
506============================= test session starts ==============================
507platform linux -- Python 3.9.21, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.9.21/bin/python
508cachedir: .pytest_cache
509rootdir: /home/travis/build/bit-team/backintime/common
510plugins: pyfakefs-5.7.4
511collected 427 items
513test/test_applicationinstance.py::General::test_autoExit_other_running_process PASSED [ 0%]
514test/test_applicationinstance.py::General::test_autoExit_unique_process PASSED [ 0%]
515test/test_applicationinstance.py::General::test_auto_flock PASSED [ 0%]
516test/test_applicationinstance.py::General::test_create_and_remove_pid_file PASSED [ 0%]
517test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]
518test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]
519test/test_applicationinstance.py::General::test_existing_process_with_wrong_pid PASSED [ 1%]
520test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]
521test/test_applicationinstance.py::General::test_flock_exclusive PASSED [ 2%]
522test/test_applicationinstance.py::General::test_flock_exclusive_fail PASSED [ 2%]
523test/test_applicationinstance.py::General::test_killing_existing_process PASSED [ 2%]
524test/test_applicationinstance.py::General::test_leftover_empty_lockfile PASSED [ 2%]
525test/test_applicationinstance.py::General::test_no_pid_file PASSED [ 3%]
526test/test_applicationinstance.py::General::test_non_existing_process PASSED [ 3%]
527test/test_applicationinstance.py::General::test_pid_file_content PASSED [ 3%]
528test/test_applicationinstance.py::General::test_readPidFile PASSED [ 3%]
529test/test_applicationinstance.py::General::test_readPidFile_fail PASSED [ 3%]
530test/test_applicationinstance.py::General::test_thread_write_without_flock PASSED [ 4%]
531test/test_applicationinstance.py::General::test_write_pid_fail PASSED [ 4%]
532test/test_argparser.py::General::test_config PASSED [ 4%]
533test/test_argparser.py::General::test_config_no_path PASSED [ 4%]
534test/test_argparser.py::General::test_debug PASSED [ 5%]
535test/test_argparser.py::General::test_invalid_arg PASSED [ 5%]
536test/test_argparser.py::General::test_quiet PASSED [ 5%]
537test/test_argparser.py::Backup::test_backwards_compatiblity_alias PASSED [ 5%]
538test/test_argparser.py::Backup::test_multi_args PASSED [ 6%]
539test/test_argparser.py::Backup::test_profile PASSED [ 6%]
540test/test_argparser.py::Backup::test_profile_and_profile_id PASSED [ 6%]
541test/test_argparser.py::Backup::test_profile_id PASSED [ 6%]
542test/test_argparser.py::Backup::test_quiet PASSED [ 7%]
543test/test_argparser.py::Backup::test_simple PASSED [ 7%]
544test/test_argparser.py::Restore::test_empty_where PASSED [ 7%]
545test/test_argparser.py::Restore::test_local_backup_and_no_local_backup PASSED [ 7%]
546test/test_argparser.py::Restore::test_multi_args PASSED [ 7%]
547test/test_argparser.py::Restore::test_simple PASSED [ 8%]
548test/test_argparser.py::Restore::test_snapshot_id_index PASSED [ 8%]
549test/test_argparser.py::Restore::test_what_space_in_path PASSED [ 8%]
550test/test_argparser.py::Restore::test_what_where_snapshot_id PASSED [ 8%]
551test/test_argparser.py::Restore::test_what_where_snapshot_id_multi_args PASSED [ 9%]
552test/test_argparser.py::Restore::test_where_space_in_path PASSED [ 9%]
553test/test_backintime.py::BackInTime::test_diagnostics_arg PASSED [ 9%]
554test/test_backintime.py::BackInTime::test_local_snapshot_is_successful FAILED [ 9%]
555test/test_backintime.py::BackInTime::test_quiet_mode PASSED [ 10%]
556test/test_backup.py::TestBackup::test_already_running PASSED [ 10%]
557test/test_backup.py::TestBackup::test_backup PASSED [ 10%]
558test/test_backup.py::TestBackup::test_backup_async PASSED [ 10%]
559test/test_backup.py::TestBackup::test_backup_async_profile_2 PASSED [ 11%]
560test/test_backup.py::TestBackup::test_backup_async_with_checksum PASSED [ 11%]
561test/test_backup.py::TestBackup::test_cant_backup PASSED [ 11%]
562test/test_backup.py::TestBackup::test_mount_exception PASSED [ 11%]
563test/test_backup.py::TestBackup::test_no_backup_on_battery PASSED [ 11%]
564test/test_backup.py::TestBackup::test_no_changes PASSED [ 12%]
565test/test_backup.py::TestBackup::test_not_configured PASSED [ 12%]
566test/test_backup.py::TestBackup::test_plugin_prevented_backup PASSED [ 12%]
567test/test_backup.py::TestBackup::test_scheduled PASSED [ 12%]
568test/test_backup.py::TestBackup::test_takeSnapshot_exception_cleanup PASSED [ 13%]
569test/test_backup.py::TestBackup::test_umount_exception PASSED [ 13%]
570test/test_backup.py::TestBackup::test_with_errors PASSED [ 13%]
571test/test_config.py::RemoveOldSnapshotsDate::test_day PASSED [ 13%]
572test/test_config.py::RemoveOldSnapshotsDate::test_invalid_unit PASSED [ 14%]
573test/test_config.py::RemoveOldSnapshotsDate::test_week_always_monday PASSED [ 14%]
574test/test_config.py::RemoveOldSnapshotsDate::test_week_ignore_current PASSED [ 14%]
575test/test_config.py::RemoveOldSnapshotsDate::test_year_ignore_current_month PASSED [ 14%]
576test/test_config.py::SshCommand::test_cipher_aes256_cbc PASSED [ 14%]
577test/test_config.py::SshCommand::test_cipher_disabled PASSED [ 15%]
578test/test_config.py::SshCommand::test_custom_args PASSED [ 15%]
579test/test_config.py::SshCommand::test_disable_args PASSED [ 15%]
580test/test_config.py::SshCommand::test_full_command PASSED [ 15%]
581test/test_config.py::SshCommand::test_nice_and_ionice PASSED [ 16%]
582test/test_config.py::SshCommand::test_nice_and_ionice_without_command PASSED [ 16%]
583test/test_config.py::SshCommand::test_prefix PASSED [ 16%]
584test/test_config.py::SshCommand::test_prefix_false PASSED [ 16%]
585test/test_config.py::SshCommand::test_quote PASSED [ 17%]
586test/test_config.py::SshCommand::test_quote_without_command PASSED [ 17%]
587test/test_config.py::SshCommand::test_without_command PASSED [ 17%]
588test/test_config_crontab.py::Cron::test_cron_lines PASSED [ 17%]
589test/test_config_crontab.py::CrontabDebug::test_crontab_contains_debug PASSED [ 18%]
590test/test_config_crontab.py::CrontabDebug::test_crontab_without_debug PASSED [ 18%]
591test/test_configfile.py::TestConfigFile::test_boolValue PASSED [ 18%]
592test/test_configfile.py::TestConfigFile::test_boolValue_default PASSED [ 18%]
593test/test_configfile.py::TestConfigFile::test_hasKey PASSED [ 18%]
594test/test_configfile.py::TestConfigFile::test_intValue PASSED [ 19%]
595test/test_configfile.py::TestConfigFile::test_intValue_default PASSED [ 19%]
596test/test_configfile.py::TestConfigFile::test_listValue_bool PASSED [ 19%]
597test/test_configfile.py::TestConfigFile::test_listValue_default PASSED [ 19%]
598test/test_configfile.py::TestConfigFile::test_listValue_empty_list PASSED [ 20%]
599test/test_configfile.py::TestConfigFile::test_listValue_int PASSED [ 20%]
600test/test_configfile.py::TestConfigFile::test_listValue_invalid_type PASSED [ 20%]
601test/test_configfile.py::TestConfigFile::test_listValue_missing_values PASSED [ 20%]
602test/test_configfile.py::TestConfigFile::test_listValue_str PASSED [ 21%]
603test/test_configfile.py::TestConfigFile::test_listValue_tuple PASSED [ 21%]
604test/test_configfile.py::TestConfigFile::test_listValue_tuple_missing_values PASSED [ 21%]
605test/test_configfile.py::TestConfigFile::test_listValue_wrong_size PASSED [ 21%]
606test/test_configfile.py::TestConfigFile::test_listValue_zero_count PASSED [ 22%]
607test/test_configfile.py::TestConfigFile::test_load PASSED [ 22%]
608test/test_configfile.py::TestConfigFile::test_remapKey PASSED [ 22%]
609test/test_configfile.py::TestConfigFile::test_remapKeyRegex PASSED [ 22%]
610test/test_configfile.py::TestConfigFile::test_remove_key PASSED [ 22%]
611test/test_configfile.py::TestConfigFile::test_remove_keys_start_with PASSED [ 23%]
612test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]
613test/test_configfile.py::TestConfigFile::test_save PASSED [ 23%]
614test/test_configfile.py::TestConfigFile::test_setBoolValue PASSED [ 23%]
615test/test_configfile.py::TestConfigFile::test_setIntValue PASSED [ 24%]
616test/test_configfile.py::TestConfigFile::test_setListValue_bool PASSED [ 24%]
617test/test_configfile.py::TestConfigFile::test_setListValue_int PASSED [ 24%]
618test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]
619test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_value PASSED [ 25%]
620test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers PASSED [ 25%]
621test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers_tuple PASSED [ 25%]
622test/test_configfile.py::TestConfigFile::test_setListValue_str PASSED [ 25%]
623test/test_configfile.py::TestConfigFile::test_setListValue_tuple PASSED [ 25%]
624test/test_configfile.py::TestConfigFile::test_setListValue_tuple_missing_values PASSED [ 26%]
625test/test_configfile.py::TestConfigFile::test_setStrValue PASSED [ 26%]
626test/test_configfile.py::TestConfigFile::test_strValue PASSED [ 26%]
627test/test_configfile.py::TestConfigFile::test_strValue_default PASSED [ 26%]
628test/test_configfile.py::TestConfigFileWithProfiles::test_addProfile PASSED [ 27%]
629test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile PASSED [ 27%]
630test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile_by_name PASSED [ 27%]
631test/test_configfile.py::TestConfigFileWithProfiles::test_get_profile_key PASSED [ 27%]
632test/test_configfile.py::TestConfigFileWithProfiles::test_hasProfileKey PASSED [ 28%]
633test/test_configfile.py::TestConfigFileWithProfiles::test_load PASSED [ 28%]
634test/test_configfile.py::TestConfigFileWithProfiles::test_profileExists PASSED [ 28%]
635test/test_configfile.py::TestConfigFileWithProfiles::test_profileExistsByName PASSED [ 28%]
636test/test_configfile.py::TestConfigFileWithProfiles::test_profileName PASSED [ 29%]
637test/test_configfile.py::TestConfigFileWithProfiles::test_profiles PASSED [ 29%]
638test/test_configfile.py::TestConfigFileWithProfiles::test_profilesSortedByName PASSED [ 29%]
639test/test_configfile.py::TestConfigFileWithProfiles::test_remapProfileKey PASSED [ 29%]
640test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfile PASSED [ 29%]
641test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKey PASSED [ 30%]
642test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]
643test/test_configfile.py::TestConfigFileWithProfiles::test_setProfileName PASSED [ 30%]
644test/test_configfile.py::TestConfigFileWithProfiles::test_set_profile_value PASSED [ 30%]
645test/test_diagnostics.py::Diagnostics::test_content_minimal PASSED [ 31%]
646test/test_diagnostics.py::Diagnostics::test_no_extern_version PASSED [ 31%]
647test/test_diagnostics.py::Diagnostics::test_no_ressource_warning PASSED [ 31%]
648test/test_diagnostics.py::Diagnostics::test_replace_user_path PASSED [ 31%]
649test/test_diagnostics.py::Diagnostics::test_some_content PASSED [ 32%]
650test/test_encfstools.py::TestEncFS_mount::test_dummy PASSED [ 32%]
651test/test_encfstools.py::TestEncFS_mount::test_initialise_encfs PASSED [ 32%]
652test/test_languages.py::General::test_completeness_key_types PASSED [ 32%]
653test/test_languages.py::General::test_completeness_value_types PASSED [ 33%]
654test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 33%]
655test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset FAILED [ 33%]
656test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset FAILED [ 33%]
657test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset FAILED [ 33%]
658test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset FAILED [ 34%]
659test/test_lint.py::MirrorMirrorOnTheWall::test060_reuse SKIPPED (Usi...) [ 34%]
660test/test_mount.py::CheckLocks::test_foreign_lock PASSED [ 34%]
661test/test_mount.py::CheckLocks::test_foreign_lock_notexisting_pid PASSED [ 34%]
662test/test_mount.py::CheckLocks::test_ignore_own_lock PASSED [ 35%]
663test/test_mount.py::CheckLocks::test_lock_remove PASSED [ 35%]
664test/test_mount.py::CheckLocks::test_not_existing_dir PASSED [ 35%]
665test/test_mount.py::CheckLocks::test_own_lock_but_diff_tmpmount PASSED [ 35%]
666test/test_mount.py::CheckLocks::test_symlinks_remove PASSED [ 36%]
667test/test_mount.py::CheckHighLevelLocalMount::test_first_preMountCheck PASSED [ 36%]
668test/test_mount.py::CheckHighLevelLocalMount::test_initialised_preMountCheck PASSED [ 36%]
669test/test_mount.py::CheckHighLevelLocalMount::test_mount PASSED [ 36%]
670test/test_mount.py::CheckHighLevelLocalMount::test_remount_to_new_local_mount PASSED [ 37%]
671test/test_mount.py::CheckHighLevelLocalMount::test_umount PASSED [ 37%]
672test/test_plugin_usercallback.py::UserCallback::test_reason_appExit PASSED [ 37%]
673test/test_plugin_usercallback.py::UserCallback::test_reason_appStart PASSED [ 37%]
674test/test_plugin_usercallback.py::UserCallback::test_reason_error PASSED [ 37%]
675test/test_plugin_usercallback.py::UserCallback::test_reason_mount PASSED [ 38%]
676test/test_plugin_usercallback.py::UserCallback::test_reason_processBegin PASSED [ 38%]
677test/test_plugin_usercallback.py::UserCallback::test_reason_processEnd PASSED [ 38%]
678test/test_plugin_usercallback.py::UserCallback::test_reason_processnewSnapshot PASSED [ 38%]
679test/test_plugin_usercallback.py::UserCallback::test_reason_unmount PASSED [ 39%]
680test/test_plugin_usercallback.py::SystemTest::test_local_snapshot FAILED [ 39%]
681test/test_restore.py::TestRestore::test_backup PASSED [ 39%]
682test/test_restore.py::TestRestore::test_delete PASSED [ 39%]
683test/test_restore.py::TestRestore::test_no_backup PASSED [ 40%]
684test/test_restore.py::TestRestore::test_only_new PASSED [ 40%]
685test/test_restore.py::TestRestore::test_restore_folder_to_different_destination PASSED [ 40%]
686test/test_restore.py::TestRestore::test_restore_multiple_files PASSED [ 40%]
687test/test_restore.py::TestRestore::test_restore_to_different_destination PASSED [ 40%]
688test/test_restore.py::TestRestoreLocal::test_restore PASSED [ 41%]
689test/test_restore.py::TestRestoreLocal::test_restore_file_with_spaces PASSED [ 41%]
690test/test_restore.py::TestRestoreSSH::test_restore PASSED [ 41%]
691test/test_restore.py::TestRestoreSSH::test_restore_file_with_spaces PASSED [ 41%]
692test/test_schedule.py::Schedule::test_bit_to_crontab PASSED [ 42%]
693test/test_schedule.py::Schedule::test_remove_bit_entries PASSED [ 42%]
694test/test_sid.py::TestSID::test_displayID PASSED [ 42%]
695test/test_sid.py::TestSID::test_displayName PASSED [ 42%]
696test/test_sid.py::TestSID::test_equal_sid PASSED [ 43%]
697test/test_sid.py::TestSID::test_exists PASSED [ 43%]
698test/test_sid.py::TestSID::test_failed PASSED [ 43%]
699test/test_sid.py::TestSID::test_fileInfo PASSED [ 43%]
700test/test_sid.py::TestSID::test_fileInfoErrorRead PASSED [ 44%]
701test/test_sid.py::TestSID::test_fileInfoErrorWrite PASSED [ 44%]
702test/test_sid.py::TestSID::test_hash PASSED [ 44%]
703test/test_sid.py::TestSID::test_info PASSED [ 44%]
704test/test_sid.py::TestSID::test_isExistingPathInsideSnapshotFolder PASSED [ 44%]
705test/test_sid.py::TestSID::test_lastChecked PASSED [ 45%]
706test/test_sid.py::TestSID::test_log PASSED [ 45%]
707test/test_sid.py::TestSID::test_log_filter PASSED [ 45%]
708test/test_sid.py::TestSID::test_makeDirs PASSED [ 45%]
709test/test_sid.py::TestSID::test_makeWritable PASSED [ 46%]
710test/test_sid.py::TestSID::test_name PASSED [ 46%]
711test/test_sid.py::TestSID::test_new_object_with_invalid_type PASSED [ 46%]
712test/test_sid.py::TestSID::test_new_object_with_invalid_value PASSED [ 46%]
713test/test_sid.py::TestSID::test_new_object_with_valid_date PASSED [ 47%]
714test/test_sid.py::TestSID::test_path PASSED [ 47%]
715test/test_sid.py::TestSID::test_setLog_binary PASSED [ 47%]
716test/test_sid.py::TestSID::test_sort_sids PASSED [ 47%]
717test/test_sid.py::TestSID::test_split PASSED [ 48%]
718test/test_sid.py::TestSID::test_tag PASSED [ 48%]
719test/test_sid.py::TestSID::test_withoutTag PASSED [ 48%]
720test/test_sid.py::TestNewSnapshot::test_create_new PASSED [ 48%]
721test/test_sid.py::TestNewSnapshot::test_hasChanges PASSED [ 48%]
722test/test_sid.py::TestNewSnapshot::test_saveToContinue PASSED [ 49%]
723test/test_sid.py::TestRootSnapshot::test_create PASSED [ 49%]
724test/test_sid.py::TestRootSnapshot::test_path PASSED [ 49%]
725test/test_sid.py::TestIterSnapshots::test_iter_snapshots PASSED [ 49%]
726test/test_sid.py::TestIterSnapshots::test_lastSnapshot PASSED [ 50%]
727test/test_sid.py::TestIterSnapshots::test_list_invalid_snapshot PASSED [ 50%]
728test/test_sid.py::TestIterSnapshots::test_list_new_snapshot PASSED [ 50%]
729test/test_sid.py::TestIterSnapshots::test_list_not_reverse PASSED [ 50%]
730test/test_sid.py::TestIterSnapshots::test_list_snapshot_without_backup PASSED [ 51%]
731test/test_sid.py::TestIterSnapshots::test_list_symlink_last_snapshot PASSED [ 51%]
732test/test_sid.py::TestIterSnapshots::test_list_valid PASSED [ 51%]
733test/test_sid.py::TestIterSnapshots::test_list_without_new_snapshot PASSED [ 51%]
734test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_iterSnapshots PASSED [ 51%]
735test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_lastSnapshots PASSED [ 52%]
736test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_listSnapshots PASSED [ 52%]
737test/test_singleton.py::Test::test_multi_class PASSED [ 52%]
738test/test_singleton.py::Test::test_share_value PASSED [ 52%]
739test/test_singleton.py::Test::test_twins PASSED [ 53%]
740test/test_snapshotlog.py::TestLogFilter::test_filter PASSED [ 53%]
741test/test_snapshotlog.py::TestSnapshotLog::test_append PASSED [ 53%]
742test/test_snapshotlog.py::TestSnapshotLog::test_append_log_level PASSED [ 53%]
743test/test_snapshotlog.py::TestSnapshotLog::test_get PASSED [ 54%]
744test/test_snapshotlog.py::TestSnapshotLog::test_get_filter PASSED [ 54%]
745test/test_snapshotlog.py::TestSnapshotLog::test_new PASSED [ 54%]
746test/test_snapshotlog.py::TestSnapshotLog::test_new_continue PASSED [ 54%]
747test/test_snapshotlog.py::TestSnapshotLog::test_skipLines PASSED [ 55%]
748test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_filtered PASSED [ 55%]
749test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_show_all PASSED [ 55%]
750test/test_snapshots.py::SetTakeSnapshotMessage::test_error PASSED [ 55%]
751test/test_snapshots.py::SetTakeSnapshotMessage::test_info PASSED [ 55%]
752test/test_snapshots.py::UserAndGroups::test_gid_backup PASSED [ 56%]
753test/test_snapshots.py::UserAndGroups::test_gid_invalid PASSED [ 56%]
754test/test_snapshots.py::UserAndGroups::test_gid_valid PASSED [ 56%]
755test/test_snapshots.py::UserAndGroups::test_groupname_invalid PASSED [ 56%]
756test/test_snapshots.py::UserAndGroups::test_groupname_valid PASSED [ 57%]
757test/test_snapshots.py::UserAndGroups::test_uid_backup PASSED [ 57%]
758test/test_snapshots.py::UserAndGroups::test_uid_invalid PASSED [ 57%]
759test/test_snapshots.py::UserAndGroups::test_uid_valid PASSED [ 57%]
760test/test_snapshots.py::UserAndGroups::test_username_invalid PASSED [ 58%]
761test/test_snapshots.py::UserAndGroups::test_username_valid PASSED [ 58%]
762test/test_snapshots.py::HelperScripts::test_create_last_snapshot_symlink PASSED [ 58%]
763test/test_snapshots.py::HelperScripts::test_make_dirs PASSED [ 58%]
764test/test_snapshots.py::HelperScripts::test_rsync_remote_path PASSED [ 59%]
765test/test_snapshots.py::HelperScripts::test_stat_free_space_local PASSED [ 59%]
766test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_exclude_unique_items PASSED [ 59%]
767test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_root PASSED [ 59%]
768test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_unique_items PASSED [ 59%]
769test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_rsync_suffix PASSED [ 60%]
770test/test_snapshots.py::Callbacks::test_callback PASSED [ 60%]
771test/test_snapshots.py::Callbacks::test_dir PASSED [ 60%]
772test/test_snapshots.py::Callbacks::test_error PASSED [ 60%]
773test/test_snapshots.py::Callbacks::test_keep_params PASSED [ 61%]
774test/test_snapshots.py::Callbacks::test_restore PASSED [ 61%]
775test/test_snapshots.py::Callbacks::test_transfer PASSED [ 61%]
776test/test_snapshots.py::SnapshotWithSID::test_backup_config PASSED [ 61%]
777test/test_snapshots.py::SnapshotWithSID::test_backup_info_file PASSED [ 62%]
778test/test_snapshots.py::SnapshotWithSID::test_backup_permissions FAILED [ 62%]
779test/test_snapshots.py::SnapshotWithSID::test_collect_permission PASSED [ 62%]
780test/test_snapshots.py::RestorePathInfo::test_change_group PASSED [ 62%]
781test/test_snapshots.py::RestorePathInfo::test_change_owner_without_root PASSED [ 62%]
782test/test_snapshots.py::RestorePathInfo::test_change_permissions PASSED [ 63%]
783test/test_snapshots.py::RestorePathInfo::test_no_changes PASSED [ 63%]
784test/test_snapshots.py::DeletePath::test_dir PASSED [ 63%]
785test/test_snapshots.py::DeletePath::test_dir_readonly PASSED [ 63%]
786test/test_snapshots.py::DeletePath::test_file PASSED [ 64%]
787test/test_snapshots.py::DeletePath::test_file_readonly PASSED [ 64%]
788test/test_snapshots.py::DeletePath::test_pardir_readonly PASSED [ 64%]
789test/test_snapshots.py::RemoveSnapshot::test_remove PASSED [ 64%]
790test/test_snapshots.py::RemoveSnapshot::test_remove_read_only PASSED [ 65%]
791test/test_snapshots.py::SshSnapshots::test_stat_free_space_ssh PASSED [ 65%]
792test/test_snapshots.py::SshPermissions::test_backup_permissions FAILED [ 65%]
793test/test_snapshots.py::SshRemoveSnapshots::test_remove PASSED [ 65%]
794test/test_snapshots.py::SshRemoveSnapshots::test_remove_with_blank PASSED [ 66%]
795test/test_snapshots_autoremove.py::KeepFirst::test_all_invalid PASSED [ 66%]
796test/test_snapshots_autoremove.py::KeepFirst::test_ignore_unhealthy PASSED [ 66%]
797test/test_snapshots_autoremove.py::KeepFirst::test_keep_first_range_outside PASSED [ 66%]
798test/test_snapshots_autoremove.py::KeepFirst::test_min_included_max_not PASSED [ 66%]
799test/test_snapshots_autoremove.py::KeepFirst::test_no_date_ordering PASSED [ 67%]
800test/test_snapshots_autoremove.py::KeepFirst::test_one_but_set PASSED [ 67%]
801test/test_snapshots_autoremove.py::KeepFirst::test_simple_one PASSED [ 67%]
802test/test_snapshots_autoremove.py::KeepAllForLast::test_border PASSED [ 67%]
803test/test_snapshots_autoremove.py::KeepAllForLast::test_simple PASSED [ 68%]
804test/test_snapshots_autoremove.py::KeepOneForLastNDays::test_doc_example PASSED [ 68%]
805test/test_snapshots_autoremove.py::KeepOneForLastNWeeks::test_doc_example PASSED [ 68%]
806test/test_snapshots_autoremove.py::KeepOneForLastNMonths::test_doc_example PASSED [ 68%]
807test/test_snapshots_autoremove.py::KeepOnePerYearForAllYears::test_doc_example PASSED [ 69%]
808test/test_snapshots_autoremove.py::IncDecMonths::test_dec_leap_months PASSED [ 69%]
809test/test_snapshots_autoremove.py::IncDecMonths::test_dec_simple PASSED [ 69%]
810test/test_snapshots_autoremove.py::IncDecMonths::test_dec_year PASSED [ 69%]
811test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_months PASSED [ 70%]
812test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_year PASSED [ 70%]
813test/test_snapshots_autoremove.py::IncDecMonths::test_inc_next_year PASSED [ 70%]
814test/test_snapshots_autoremove.py::IncDecMonths::test_inc_simple PASSED [ 70%]
815test/test_sshtools.py::General::test_can_mount_ssh_rw PASSED [ 70%]
816test/test_sshtools.py::General::test_checkCipher_default PASSED [ 71%]
817test/test_sshtools.py::General::test_checkCipher_fail PASSED [ 71%]
818test/test_sshtools.py::General::test_checkCipher_specific PASSED [ 71%]
819test/test_sshtools.py::General::test_checkKnownHosts PASSED [ 71%]
820test/test_sshtools.py::General::test_checkKnownHosts_fail PASSED [ 72%]
821test/test_sshtools.py::General::test_checkLogin PASSED [ 72%]
822test/test_sshtools.py::General::test_checkLogin_fail_wrong_user PASSED [ 72%]
823test/test_sshtools.py::General::test_checkPingHost PASSED [ 72%]
824test/test_sshtools.py::General::test_checkPingHost_fail PASSED [ 73%]
825test/test_sshtools.py::General::test_checkRemoteFolder PASSED [ 73%]
826test/test_sshtools.py::General::test_checkRemoteFolder_fail_can_not_create PASSED [ 73%]
827test/test_sshtools.py::General::test_checkRemoteFolder_fail_not_a_folder PASSED [ 73%]
828test/test_sshtools.py::General::test_checkRemoteFolder_with_spaces PASSED [ 74%]
829test/test_sshtools.py::General::test_check_remote_command PASSED [ 74%]
830test/test_sshtools.py::General::test_check_remote_command_fail PASSED [ 74%]
831test/test_sshtools.py::General::test_check_remote_command_hard_link_fail PASSED [ 74%]
832test/test_sshtools.py::General::test_check_remote_command_with_spaces PASSED [ 74%]
833test/test_sshtools.py::General::test_randomId PASSED [ 75%]
834test/test_sshtools.py::General::test_unlockSshAgent PASSED [ 75%]
835test/test_sshtools.py::General::test_unlockSshAgent_fail PASSED [ 75%]
836test/test_sshtools.py::SshKey::test_fingerprint PASSED [ 75%]
837test/test_sshtools.py::SshKey::test_generate PASSED [ 76%]
838test/test_sshtools.py::SshKey::test_host_key PASSED [ 76%]
839test/test_sshtools.py::SshKey::test_write_known_host_file PASSED [ 76%]
840test/test_sshtools.py::StartSshAgent::test_equal_sign PASSED [ 76%]
841test/test_sshtools.py::StartSshAgent::test_error PASSED [ 77%]
842test/test_sshtools.py::StartSshAgent::test_export PASSED [ 77%]
843test/test_sshtools.py::StartSshAgent::test_just_start PASSED [ 77%]
844test/test_sshtools.py::StartSshAgent::test_missing PASSED [ 77%]
845test/test_sshtools.py::StartSshAgent::test_space PASSED [ 77%]
846test/test_sshtools.py::SSHCopyID::test_complete_command PASSED [ 78%]
847test/test_sshtools.py::SSHCopyID::test_custom_port PASSED [ 78%]
848test/test_sshtools.py::SSHCopyID::test_default_port PASSED [ 78%]
849test/test_sshtools.py::SSHCopyID::test_proxy_with_custom_port PASSED [ 78%]
850test/test_sshtools.py::SSHCopyID::test_proxy_with_default_port PASSED [ 79%]
851test/test_takeSnapshot.py::Take::test_error FAILED [ 79%]
852test/test_takeSnapshot.py::Take::test_error_without_continue PASSED [ 79%]
853test/test_takeSnapshot.py::Take::test_exclude FAILED [ 79%]
854test/test_takeSnapshot.py::Take::test_fail_create_new_snapshot PASSED [ 80%]
855test/test_takeSnapshot.py::Take::test_four_snapshots FAILED [ 80%]
856test/test_takeSnapshot.py::Take::test_new_exists FAILED [ 80%]
857test/test_takeSnapshot.py::Take::test_new_exists_continue FAILED [ 80%]
858test/test_takeSnapshot.py::Take::test_spaces_in_exclude FAILED [ 81%]
859test/test_takeSnapshot.py::Take::test_spaces_in_include FAILED [ 81%]
860test/test_takeSnapshot.py::TakeSSH::test_error FAILED [ 81%]
861test/test_takeSnapshot.py::TakeSSH::test_error_without_continue PASSED [ 81%]
862test/test_takeSnapshot.py::TakeSSH::test_exclude FAILED [ 81%]
863test/test_takeSnapshot.py::TakeSSH::test_fail_create_new_snapshot PASSED [ 82%]
864test/test_takeSnapshot.py::TakeSSH::test_four_snapshots FAILED [ 82%]
865test/test_takeSnapshot.py::TakeSSH::test_new_exists FAILED [ 82%]
866test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue FAILED [ 82%]
867test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude FAILED [ 83%]
868test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include FAILED [ 83%]
869test/test_tools.py::TestTools::test_addSourceToPathEnviron PASSED [ 83%]
870test/test_tools.py::TestTools::test_backintimePath PASSED [ 83%]
871test/test_tools.py::TestTools::test_checkCommand PASSED [ 84%]
872test/test_tools.py::TestTools::test_checkCronPattern PASSED [ 84%]
873test/test_tools.py::TestTools::test_checkXServer PASSED [ 84%]
874test/test_tools.py::TestTools::test_decodeOctalEscape PASSED [ 84%]
875test/test_tools.py::TestTools::test_isRoot PASSED [ 85%]
876test/test_tools.py::TestTools::test_makeDirs PASSED [ 85%]
877test/test_tools.py::TestTools::test_makeDirs_not_writable PASSED [ 85%]
878test/test_tools.py::TestTools::test_md5sum PASSED [ 85%]
879test/test_tools.py::TestTools::test_mkdir PASSED [ 85%]
880test/test_tools.py::TestTools::test_mountArgs PASSED [ 86%]
881test/test_tools.py::TestTools::test_mountpoint PASSED [ 86%]
882test/test_tools.py::TestTools::test_patternHasNotEncryptableWildcard PASSED [ 86%]
883test/test_tools.py::TestTools::test_pids PASSED [ 86%]
884test/test_tools.py::TestTools::test_pidsWithName PASSED [ 87%]
885test/test_tools.py::TestTools::test_powerStatusAvailable PASSED [ 87%]
886test/test_tools.py::TestTools::test_preparePath PASSED [ 87%]
887test/test_tools.py::TestTools::test_processAlive PASSED [ 87%]
888test/test_tools.py::TestTools::test_processCmdline PASSED [ 88%]
889test/test_tools.py::TestTools::test_processCmdline_exception PASSED [ 88%]
890test/test_tools.py::TestTools::test_processExists PASSED [ 88%]
891test/test_tools.py::TestTools::test_processName PASSED [ 88%]
892test/test_tools.py::TestTools::test_processPaused PASSED [ 88%]
893test/test_tools.py::TestTools::test_processStat PASSED [ 89%]
894test/test_tools.py::TestTools::test_processStat_exception PASSED [ 89%]
895test/test_tools.py::TestTools::test_readFile PASSED [ 89%]
896test/test_tools.py::TestTools::test_readFileLines PASSED [ 89%]
897test/test_tools.py::TestTools::test_readTimeStamp PASSED [ 90%]
898test/test_tools.py::TestTools::test_registerBackintimePath PASSED [ 90%]
899test/test_tools.py::TestTools::test_rsyncCaps PASSED [ 90%]
900test/test_tools.py::TestTools::test_runningFromSource PASSED [ 90%]
901test/test_tools.py::TestTools::test_sharePath PASSED [ 91%]
902test/test_tools.py::TestTools::test_splitCommands PASSED [ 91%]
903test/test_tools.py::TestTools::test_usingSudo PASSED [ 91%]
904test/test_tools.py::TestTools::test_which PASSED [ 91%]
905test/test_tools.py::TestTools::test_writeTimeStamp PASSED [ 92%]
906test/test_tools.py::EscapeIPv6::test_escaped PASSED [ 92%]
907test/test_tools.py::EscapeIPv6::test_invalid PASSED [ 92%]
908test/test_tools.py::EscapeIPv6::test_passed PASSED [ 92%]
909test/test_tools.py::Environ::test_envLoad_do_not_overwrite_previous_values PASSED [ 92%]
910test/test_tools.py::Environ::test_envLoad_without_previous_values PASSED [ 93%]
911test/test_tools.py::Environ::test_envSave PASSED [ 93%]
912test/test_tools.py::ExecuteSubprocess::test_callback PASSED [ 93%]
913test/test_tools.py::ExecuteSubprocess::test_pausable PASSED [ 93%]
914test/test_tools.py::ExecuteSubprocess::test_returncode PASSED [ 94%]
915test/test_tools.py::Tools_FakeFS::test_git_repo_info PASSED [ 94%]
916test/test_tools.py::Tools_FakeFS::test_git_repo_info_none PASSED [ 94%]
917test/test_tools.py::ValidateSnapshotsPath::test_fails_on_ro PASSED [ 94%]
918test/test_tools.py::ValidateSnapshotsPath::test_permission_fail PASSED [ 95%]
919test/test_tools.py::ValidateSnapshotsPath::test_writes PASSED [ 95%]
920test/test_tools.py::OlderThan::test_days_not_older PASSED [ 95%]
921test/test_tools.py::OlderThan::test_days_older PASSED [ 95%]
922test/test_tools.py::OlderThan::test_hours_not_older PASSED [ 96%]
923test/test_tools.py::OlderThan::test_hours_older PASSED [ 96%]
924test/test_tools.py::OlderThan::test_month_31th PASSED [ 96%]
925test/test_tools.py::OlderThan::test_month_31th_plus_ms PASSED [ 96%]
926test/test_tools.py::OlderThan::test_month_next_year PASSED [ 96%]
927test/test_tools.py::OlderThan::test_month_next_year_plus_ms PASSED [ 97%]
928test/test_tools.py::OlderThan::test_month_not_older PASSED [ 97%]
929test/test_tools.py::OlderThan::test_month_older PASSED [ 97%]
930test/test_tools.py::OlderThan::test_week_not_older PASSED [ 97%]
931test/test_tools.py::OlderThan::test_week_older PASSED [ 98%]
932test/test_tools.py::NestedDictUpdate::test_simple PASSED [ 98%]
933test/test_uniquenessset.py::General::test_001_depency_workaround SKIPPED [ 98%]
934test/test_uniquenessset.py::General::test_ctor_defaults PASSED [ 98%]
935test/test_uniquenessset.py::General::test_deep_check PASSED [ 99%]
936test/test_uniquenessset.py::General::test_fail_equal_without_equal_to PASSED [ 99%]
937test/test_uniquenessset.py::General::test_size_mtime PASSED [ 99%]
938test/test_uniquenessset.py::General::test_unique_myself PASSED [ 99%]
939test/test_uniquenessset.py::General::test_unique_size_but_different_mtime PASSED [100%]
941=================================== FAILURES ===================================
942_________________ BackInTime.test_local_snapshot_is_successful _________________
944self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>
946 def test_local_snapshot_is_successful(self):
947 """From BIT initialization through snapshot
949 From BIT initialization all the way through successful snapshot on a
950 local mount. test one of the highest level interfaces a user could
951 work with - the command line ensures that argument parsing,
952 functionality, and output all work as expected is NOT intended to
953 replace individual method tests, which are incredibly useful as well.
955 Development notes (by Buhtz, 2023):
956 Multiple tests do compare return codes and output on stdout. It is NOT
957 tested what is on the file system. The intention might be a system
958 test. But the asserts not qualified to answer the important questions
959 and observe the intended behavior. Heavy refactoring is needed. But
960 because of the "level" of that tests it won't happen in the near
961 future. Also maintenance costs of this tests are damn high because
962 every tiny modification of BIT gives a false fail of this test.
964 Development notes (by Buhtz, 2024-05):
965 It is just dumb stdout parsing. I tend to remove this test because of
966 the calculation of its value and its maintenance costs.
967 """
969 # ensure that we see full diffs of assert output if there are any
970 self.maxDiff = None
972 # create pristine source directory with single file
973 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")
974 os.mkdir('/tmp/test')
976 with open('/tmp/test/testfile', 'w') as f:
977 f.write('some data')
979 # create pristine snapshot directory
980 subprocess.getoutput(
981 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")
982 os.mkdir('/tmp/snapshots')
984 # remove restored directory
985 subprocess.getoutput("rm -rf /tmp/restored")
987 # install proper destination filesystem structure and verify output
988 proc = subprocess.Popen(["./backintime",
989 "--config",
990 "test/config",
991 "--share-path",
992 self.sharePath,
993 "check-config",
994 # do not overwrite users crontab
995 "--no-crontab"],
996 stdout=subprocess.PIPE,
997 stderr=subprocess.PIPE)
999 output, error = proc.communicate()
1000 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
1001 .format(proc.returncode, error.decode(), output.decode())
1003 self.assertEqual(proc.returncode, 0, msg)
1005 self.assertRegex(output.decode(), re.compile(r'''
1006 Back In Time
1007 Version: \d+.\d+.\d+.*
1009 Back In Time comes with ABSOLUTELY NO WARRANTY.
1010 This is free software, and you are welcome to redistribute it
1011 under certain conditions; type `backintime --license' for details.
1013 (INFO: Update to config version \d+
1014 )?
1015 \+--------------------------------\+
1016 | Check/prepare snapshot path |
1017 \+--------------------------------\+
1018 Check/prepare snapshot path: done
1020 \+--------------------------------\+
1021 | Check config |
1022 \+--------------------------------\+
1023 Check config: done
1025 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))
1027 # execute backup and verify output
1028 proc = subprocess.Popen(["./backintime",
1029 "--config", "test/config",
1030 "--share-path", self.sharePath,
1031 "backup"],
1032 stdout=subprocess.PIPE,
1033 stderr=subprocess.PIPE)
1034 output, error = proc.communicate()
1035 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
1036 .format(proc.returncode, error.decode(), output.decode())
1037> self.assertEqual(proc.returncode, 0, msg)
1038E AssertionError: 1 != 0 : Returncode: 1
1039E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1040E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1041E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1042E INFO: Lock
1043E INFO: Take a new snapshot. Profile: 1 Main profile
1044E INFO: Call rsync to take the snapshot
1045E INFO: Save config file
1046E INFO: Save permissions
1047E Traceback (most recent call last):
1048E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
1049E startApp()
1050E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
1051E args.func(args)
1052E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
1053E ret = takeSnapshot(cfg, force)
1054E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
1055E ret = snapshots.Snapshots(cfg).backup(force)
1056E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
1057E ret_val, ret_error = self.takeSnapshot(
1058E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
1059E self.backupPermissions(new_snapshot)
1060E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
1061E decode = encfstools.Bounce()
1062E AttributeError: module 'encfstools' has no attribute 'Bounce'
1064E stdout:
1065E Back In Time
1066E Version: 1.5.4-rc1
1068E Back In Time comes with ABSOLUTELY NO WARRANTY.
1069E This is free software, and you are welcome to redistribute it
1070E under certain conditions; type `backintime --license' for details.
1072test/test_backintime.py:124: AssertionError
1073______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________
1075self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>
1077 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))
1078 def test010_ruff_default_ruleset(self):
1079 """Ruff in default mode."""
1081 # ATTENTIION: Some settings are found in pyproject.toml
1082 cmd = [
1083 'ruff',
1084 'check',
1085 # Additionally activate subset of special rules:
1086 # - PyLint (PL)
1087 # - PyCodestyle (E, W)
1088 # - flake8-gettext (INT)
1089 # - useless noqua (RUF100)
1090 '--extend-select=PL,E,W,INT,RUF100',
1091 # Ignore: redefined-loop-name
1092 '--ignore=PLW2901',
1093 '--line-length', str(PEP8_MAX_LINE_LENGTH),
1094 # Because of globally installed GNU gettext functions
1095 '--config', 'builtins=["_", "ngettext"]',
1096 # Ruff counting branches different from PyLint.
1097 # See: <https://www.reddit.com/r/learnpython/comments/
1098 # 1buojae/comment/kxu0mp3>
1099 '--config', 'pylint.max-branches=13',
1100 '--config', 'flake8-quotes.inline-quotes = "single"',
1101 # one error per line (no context lines)
1102 '--output-format=concise',
1103 '--quiet',
1106 cmd.extend(full_test_files)
1108 proc = subprocess.run(
1109 cmd,
1110 check=False,
1111 universal_newlines=True,
1112 capture_output=True
1115 # No errors other then linter rules
1116 self.assertIn(proc.returncode, [0, 1], proc.stderr)
1118 error_n = len(proc.stdout.splitlines())
1119 if error_n > 0:
1120 print(proc.stdout)
1122> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')
1123E AssertionError: 0 != 1 : Ruff found 1 problem(s).
1125test/test_lint.py:229: AssertionError
1126----------------------------- Captured stdout call -----------------------------
1127test/test_mount.py:205:80: E501 Line too long (89 > 79)
1129_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________
1131self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>
1133 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))
1134 def test020_flake8_default_ruleset(self):
1135 """Flake8 in default mode."""
1136 cmd = [
1137 'flake8',
1138 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',
1139 '--builtins=_,ngettext',
1140 # '--enable-extensions='
1143 cmd.extend(full_test_files)
1145 proc = subprocess.run(
1146 cmd,
1147 check=False,
1148 universal_newlines=True,
1149 capture_output=True
1152 error_n = len(proc.stdout.splitlines())
1153 if error_n > 0:
1154 print(proc.stdout)
1156> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')
1157E AssertionError: 0 != 2 : Flake8 found 2 problem(s).
1159test/test_lint.py:257: AssertionError
1160----------------------------- Captured stdout call -----------------------------
1161/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)
1162/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)
1164_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________
1166self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>
1168 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1169 def test030_pylint_default_ruleset(self):
1170 """Use Pylint with all default rules to check specific files.
1171 """
1173 cmd = create_pylint_cmd()
1175 # Add py-files
1176 cmd.extend(full_test_files)
1178 r = subprocess.run(
1179 cmd,
1180 check=False,
1181 universal_newlines=True,
1182 capture_output=True)
1184 # Count lines except module headings
1185 error_n = len(list(filter(lambda line: not line.startswith('*****'),
1186 r.stdout.splitlines())))
1187 print(r.stdout)
1189> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1190E AssertionError: 0 != 8 : PyLint found 8 problems.
1192test/test_lint.py:283: AssertionError
1193----------------------------- Captured stdout call -----------------------------
1194************* Module test.test_mount
1195test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)
1196test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)
1197test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1198test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)
1199test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1200test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)
1201test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)
1202test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)
1204____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________
1206self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>
1208 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1209 def test050_pylint_exclusive_ruleset(self):
1210 """Use Pylint to check for specific rules only.
1212 Some facts about PyLint
1213 - It is one of the slowest available linters.
1214 - It is able to catch lints other linters miss.
1215 """
1217 # Explicit activate checks
1218 err_codes = [
1219 'C0305', # trailing-newlines
1220 'C0325', # superfluous-parens
1221 'C0410', # multiple-imports
1222 'C0303', # trailing-whitespace
1223 'E0100', # init-is-generator
1224 'E0101', # return-in-init
1225 'E0102', # function-redefined
1226 'E0103', # not-in-loop
1227 'E0106', # return-arg-in-generator
1228 'E0213', # no-self-argument
1229 'E0401', # import-error
1230 'E0602', # undefined-variable
1231 'E1101', # no-member
1232 'I0021', # useless-suppression
1233 'W0123', # eval-used
1234 'W0237', # arguments-renamed
1235 'W0311', # bad-indentation
1236 'W0404', # reimported
1237 'W0611', # unused-import
1238 'W0612', # unused-variable
1239 'W0614', # unused-wildcard-import
1240 'W0707', # raise-missing-from
1241 'W1301', # unused-format-string-key
1242 'W1401', # anomalous-backslash-in-string (invalid escape sequence)
1243 'W1515', # forgotten-debug-statement
1244 'W4902', # deprecated-method
1245 'W4904', # deprecated-class
1246 'R0202', # no-classmethod-decorator
1247 'R0203', # no-staticmethod-decorator
1248 # See PyLint bugs:
1249 # https://github.com/pylint-dev/pylint/issues/214
1250 # https://github.com/pylint-dev/pylint/issues/7920
1251 # 'R0801', # duplicate-code
1253 # Enable asap. This list is a selection of existing (not all!)
1254 # problems currently existing in the BIT code base. Quite easy to
1255 # fix because their count is low.
1256 # 'W0237', # arguments-renamed
1257 # 'W0221', # arguments-differ
1258 # 'W0603', # global-statement
1261 cmd = create_pylint_cmd(err_codes)
1263 # Add py-files
1264 cmd.extend(self._collect_py_files())
1266 r = subprocess.run(
1267 cmd,
1268 check=False,
1269 universal_newlines=True,
1270 capture_output=True)
1272 # Count lines except module headings and output about duplicate code
1273 error_n = len(list(filter(
1274 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),
1275 r.stdout.splitlines())))
1276 print(r.stdout)
1278> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1279E AssertionError: 0 != 2 : PyLint found 2 problems.
1281test/test_lint.py:358: AssertionError
1282----------------------------- Captured stdout call -----------------------------
1283************* Module snapshots
1284snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)
1285************* Module test.test_encfstools
1286test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)
1288________________________ SystemTest.test_local_snapshot ________________________
1290self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>
1292 def test_local_snapshot(self):
1293 """User-callback response while doing a local snapshot"""
1295 config = Config(
1296 config_path=str(self.config_fp),
1297 data_path=str(self.temp_path / '.local' / 'share')
1300 full_snapshot_path = config.snapshotsFullPath()
1301 Path(full_snapshot_path).mkdir(parents=True)
1303 snapshot = Snapshots(config)
1305 # DevNote : Because BIT don't use Python's logging module there is
1306 # no way to use assertLogs(). Current solution is to capture
1307 # stdout/stderr.
1308 stdout = io.StringIO()
1309 stderr = io.StringIO()
1311 with redirect_stdout(stdout), redirect_stderr(stderr):
1312 # Result is inverted. 'True' means there was an error.
1313> self.assertFalse(snapshot.backup())
1315test/test_plugin_usercallback.py:288:
1316_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1317snapshots.py:896: in backup
1318 ret_val, ret_error = self.takeSnapshot(
1319snapshots.py:1493: in takeSnapshot
1320 self.backupPermissions(new_snapshot)
1321_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1323self = <snapshots.Snapshots object at 0x7156a16f2790>, sid = new_snapshot
1325 def backupPermissions(self, sid):
1326 """
1327 Save permissions (owner, group, read-, write- and executable)
1328 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1330 Args:
1331 sid (SID): snapshot that should be scanned
1333 Returns:
1334 int: Return code of rsync.
1335 """
1336 logger.info('Save permissions', self)
1337 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1339 fileInfoDict = FileInfoDict()
1341 if self.config.snapshotsMode() == 'ssh_encfs':
1342 decode = encfstools.Decode(self.config, False)
1343 else:
1344> decode = encfstools.Bounce()
1345E AttributeError: module 'encfstools' has no attribute 'Bounce'
1347snapshots.py:1182: AttributeError
1348----------------------------- Captured stderr call -----------------------------
1349DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1350WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1351WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1352WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1353DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1354DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1355___________________ SnapshotWithSID.test_backup_permissions ____________________
1357self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>
1359 def test_backup_permissions(self):
1360 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)
1361 infoFilePath = os.path.join(self.snapshotPath,
1362 '20151219-010324-123',
1363 'fileinfo.bz2')
1365 include = self.cfg.include()[0][0]
1366 with TemporaryDirectory(dir = include) as tmp:
1368 file_path = os.path.join(tmp, 'foo')
1369 with open(file_path, 'wt') as f:
1370 f.write('bar')
1371 f.flush()
1373 self.sid.makeDirs(tmp)
1374 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:
1375 snapshot_f.write('bar')
1376 snapshot_f.flush()
1378> self.sn.backupPermissions(self.sid)
1380test/test_snapshots.py:347:
1381_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1383self = <snapshots.Snapshots object at 0x7156a162cf40>, sid = 20151219-010324-123
1385 def backupPermissions(self, sid):
1386 """
1387 Save permissions (owner, group, read-, write- and executable)
1388 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1390 Args:
1391 sid (SID): snapshot that should be scanned
1393 Returns:
1394 int: Return code of rsync.
1395 """
1396 logger.info('Save permissions', self)
1397 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1399 fileInfoDict = FileInfoDict()
1401 if self.config.snapshotsMode() == 'ssh_encfs':
1402 decode = encfstools.Decode(self.config, False)
1403 else:
1404> decode = encfstools.Bounce()
1405E AttributeError: module 'encfstools' has no attribute 'Bounce'
1407snapshots.py:1182: AttributeError
1408----------------------------- Captured stderr call -----------------------------
1409DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1410WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1411WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1412WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1413DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1414DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1415INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1416____________________ SshPermissions.test_backup_permissions ____________________
1418self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>
1420 def test_backup_permissions(self):
1421 """Backup file permissions in SSH backup mode."""
1423 # --- prepare environment ---
1425 # config instance
1426 cfg = _init_basic_config()
1427 # snapshots profile
1428 snapshot = _init_ssh_profile(cfg)
1429 # backup source directory
1430 _init_source_path(cfg)
1431 # simulate a taken snapshot
1432 sid = _init_concrete_snapshot(cfg)
1434 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand
1435 # all details yet.
1436 # mount
1437 mount_obj = _init_mounting(cfg)
1438 # ...unmount when test finished
1439 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))
1441 # --- prepare the backup source ---
1443 # Does the concrete snapshot exists?
1444 self.assertTrue(sid.exists())
1446 # The backup source path
1447 # e.g. /tmp/e2uij3y
1448 source_path = pathlib.Path(cfg.include()[0][0])
1449 # ...exists?
1450 self.assertTrue(source_path.exists())
1452 # create the test files in the backup source directory
1453 generic.create_test_files(str(source_path))
1455 # --- Do the job to test. ---
1457 # backup permissions of files/folders in the backup source
1458> rc = snapshot.backupPermissions(sid)
1460test/test_snapshots.py:862:
1461_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1463self = <snapshots.Snapshots object at 0x7156a15e5160>, sid = 20151219-010324-123
1465 def backupPermissions(self, sid):
1466 """
1467 Save permissions (owner, group, read-, write- and executable)
1468 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1470 Args:
1471 sid (SID): snapshot that should be scanned
1473 Returns:
1474 int: Return code of rsync.
1475 """
1476 logger.info('Save permissions', self)
1477 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1479 fileInfoDict = FileInfoDict()
1481 if self.config.snapshotsMode() == 'ssh_encfs':
1482 decode = encfstools.Decode(self.config, False)
1483 else:
1484> decode = encfstools.Bounce()
1485E AttributeError: module 'encfstools' has no attribute 'Bounce'
1487snapshots.py:1182: AttributeError
1488----------------------------- Captured stderr call -----------------------------
1489DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1490WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1491WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1492WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1493DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1494DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1495DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
1496DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
1497DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
1498DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
1499DEBUG: [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']
1500DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
1501DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
1502DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
1503DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
1504DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
1505DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
1506ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
1507DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1508DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1509DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock
1510DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
1511DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
1512DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
1513DEBUG: [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']
1514DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
1515DEBUG: [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/DESTINATIONDIRparentfot326qi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentfot326qi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 13;exit 20']
1516DEBUG: [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/DESTINATIONDIRparentfot326qi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentfot326qi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 13;exit 20
1517DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
1518DEBUG: [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/DESTINATIONDIRparentfot326qi/foo /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint
1519DEBUG: [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/DESTINATIONDIRparentfot326qi/foo', '/tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint'].
1520INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo on /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint
1521DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/locks/5467.lock
1522DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock
1523INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1524DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
1525ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
1526DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1527DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1528DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock
1529INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo from /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint
1530DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/locks/5467.lock
1531DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock
1532_______________________________ Take.test_error ________________________________
1534self = <test.test_takeSnapshot.Take testMethod=test_error>
1535sleep = <MagicMock name='sleep' id='124616886995072'>
1537 @patch('time.sleep') # speed up unittest
1538 def test_error(self, sleep):
1539 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1540 now = datetime.today()
1541 sid1 = snapshots.SID(now, self.cfg)
1543> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1545test/test_takeSnapshot.py:182:
1546_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1547snapshots.py:1493: in takeSnapshot
1548 self.backupPermissions(new_snapshot)
1549_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1551self = <snapshots.Snapshots object at 0x7156a14849d0>, sid = new_snapshot
1553 def backupPermissions(self, sid):
1554 """
1555 Save permissions (owner, group, read-, write- and executable)
1556 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1558 Args:
1559 sid (SID): snapshot that should be scanned
1561 Returns:
1562 int: Return code of rsync.
1563 """
1564 logger.info('Save permissions', self)
1565 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1567 fileInfoDict = FileInfoDict()
1569 if self.config.snapshotsMode() == 'ssh_encfs':
1570 decode = encfstools.Decode(self.config, False)
1571 else:
1572> decode = encfstools.Bounce()
1573E AttributeError: module 'encfstools' has no attribute 'Bounce'
1575snapshots.py:1182: AttributeError
1576----------------------------- Captured stderr call -----------------------------
1577DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1578WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1579WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1580WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1581DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1582DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1583INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1584DEBUG: [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/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --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/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup"
1585DEBUG: [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/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --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/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup'
1586WARNING: [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/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --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/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
1587INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1588INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1589______________________________ Take.test_exclude _______________________________
1591self = <test.test_takeSnapshot.Take testMethod=test_exclude>
1592sleep = <MagicMock name='sleep' id='124616882258224'>
1594 @patch('time.sleep') # speed up unittest
1595 def test_exclude(self, sleep):
1596 now = datetime.today()
1597 sid1 = snapshots.SID(now, self.cfg)
1598 self.cfg.setExclude(['bar/baz'])
1600> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1602test/test_takeSnapshot.py:138:
1603_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1604snapshots.py:1493: in takeSnapshot
1605 self.backupPermissions(new_snapshot)
1606_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1608self = <snapshots.Snapshots object at 0x7156a14a7f10>, sid = new_snapshot
1610 def backupPermissions(self, sid):
1611 """
1612 Save permissions (owner, group, read-, write- and executable)
1613 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1615 Args:
1616 sid (SID): snapshot that should be scanned
1618 Returns:
1619 int: Return code of rsync.
1620 """
1621 logger.info('Save permissions', self)
1622 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1624 fileInfoDict = FileInfoDict()
1626 if self.config.snapshotsMode() == 'ssh_encfs':
1627 decode = encfstools.Decode(self.config, False)
1628 else:
1629> decode = encfstools.Bounce()
1630E AttributeError: module 'encfstools' has no attribute 'Bounce'
1632snapshots.py:1182: AttributeError
1633----------------------------- Captured stderr call -----------------------------
1634DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1635WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1636WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1637WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1638DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1639DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1640INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1641DEBUG: [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/tmp4190yldj --exclude=/tmp/tmpqvu5wvci/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp65cqs2jm/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp65cqs2jm/** --exclude=* / /tmp/tmp4190yldj/backintime/test-host/test-user/1/new_snapshot/backup"
1642DEBUG: [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/tmp4190yldj --exclude=/tmp/tmpqvu5wvci/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp65cqs2jm/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp65cqs2jm/** --exclude=* / /tmp/tmp4190yldj/backintime/test-host/test-user/1/new_snapshot/backup'
1643DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
1644INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1645INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1646___________________________ Take.test_four_snapshots ___________________________
1648self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>
1649sleep = <MagicMock name='sleep' id='124616887121472'>
1651 @patch('time.sleep') # speed up unittest
1652 def test_four_snapshots(self, sleep):
1653 now = datetime.today() - timedelta(minutes = 6)
1654 sid1 = snapshots.SID(now, self.cfg)
1656 # Note: 'self.sn' is of type 'Snapshots'
1657 # First boolean: Snapshot succeeded
1658 # Second boolean: Error occurred
1659 self.assertListEqual(
1660 [True, False], # Snapshot without error
1661> self.sn.takeSnapshot(
1662 sid=sid1,
1663 now=now,
1664 include_folders=[
1665 (self.include.name, 0), # '0' means it is a file
1670test/test_takeSnapshot.py:51:
1671_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1672snapshots.py:1493: in takeSnapshot
1673 self.backupPermissions(new_snapshot)
1674_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1676self = <snapshots.Snapshots object at 0x7156a14a36a0>, sid = new_snapshot
1678 def backupPermissions(self, sid):
1679 """
1680 Save permissions (owner, group, read-, write- and executable)
1681 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1683 Args:
1684 sid (SID): snapshot that should be scanned
1686 Returns:
1687 int: Return code of rsync.
1688 """
1689 logger.info('Save permissions', self)
1690 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1692 fileInfoDict = FileInfoDict()
1694 if self.config.snapshotsMode() == 'ssh_encfs':
1695 decode = encfstools.Decode(self.config, False)
1696 else:
1697> decode = encfstools.Bounce()
1698E AttributeError: module 'encfstools' has no attribute 'Bounce'
1700snapshots.py:1182: AttributeError
1701----------------------------- Captured stderr call -----------------------------
1702DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1703WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1704WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1705WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1706DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1707DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1708INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1709DEBUG: [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/tmpe2s_a5t9 --exclude=/tmp/tmpgfrushvs/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpfv5b7hh_/ --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/tmpfv5b7hh_/** --exclude=* / /tmp/tmpe2s_a5t9/backintime/test-host/test-user/1/new_snapshot/backup"
1710DEBUG: [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/tmpe2s_a5t9 --exclude=/tmp/tmpgfrushvs/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpfv5b7hh_/ --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/tmpfv5b7hh_/** --exclude=* / /tmp/tmpe2s_a5t9/backintime/test-host/test-user/1/new_snapshot/backup'
1711DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
1712INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1713INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1714_____________________________ Take.test_new_exists _____________________________
1716self = <test.test_takeSnapshot.Take testMethod=test_new_exists>
1717sleep = <MagicMock name='sleep' id='124616882108784'>
1719 @patch('time.sleep') # speed up unittest
1720 def test_new_exists(self, sleep):
1721 new_snapshot = snapshots.NewSnapshot(self.cfg)
1722 new_snapshot.makeDirs()
1723 with open(new_snapshot.path('leftover'), 'wt') as f:
1724 f.write('foo')
1726 now = datetime.today() - timedelta(minutes = 6)
1727 sid1 = snapshots.SID(now, self.cfg)
1729> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1731test/test_takeSnapshot.py:214:
1732_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1733snapshots.py:1493: in takeSnapshot
1734 self.backupPermissions(new_snapshot)
1735_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1737self = <snapshots.Snapshots object at 0x7156a0fdb760>, sid = new_snapshot
1739 def backupPermissions(self, sid):
1740 """
1741 Save permissions (owner, group, read-, write- and executable)
1742 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1744 Args:
1745 sid (SID): snapshot that should be scanned
1747 Returns:
1748 int: Return code of rsync.
1749 """
1750 logger.info('Save permissions', self)
1751 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1753 fileInfoDict = FileInfoDict()
1755 if self.config.snapshotsMode() == 'ssh_encfs':
1756 decode = encfstools.Decode(self.config, False)
1757 else:
1758> decode = encfstools.Bounce()
1759E AttributeError: module 'encfstools' has no attribute 'Bounce'
1761snapshots.py:1182: AttributeError
1762----------------------------- Captured stderr call -----------------------------
1763DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1764WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1765WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1766WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1767DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1768DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1769INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
1770DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpluftrxy_/ /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot"
1771DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpluftrxy_/ /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot'
1772DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
1773INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1774DEBUG: [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/tmpqzoex11g --exclude=/tmp/tmp7ii3_edb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjvw4kv82/ --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/tmpjvw4kv82/** --exclude=* / /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot/backup"
1775DEBUG: [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/tmpqzoex11g --exclude=/tmp/tmp7ii3_edb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjvw4kv82/ --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/tmpjvw4kv82/** --exclude=* / /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot/backup'
1776DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
1777INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1778INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1779________________________ Take.test_new_exists_continue _________________________
1781self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>
1782sleep = <MagicMock name='sleep' id='124616882072256'>
1784 @patch('time.sleep') # speed up unittest
1785 def test_new_exists_continue(self, sleep):
1786 new_snapshot = snapshots.NewSnapshot(self.cfg)
1787 new_snapshot.makeDirs()
1788 with open(new_snapshot.path('leftover'), 'wt') as f:
1789 f.write('foo')
1790 new_snapshot.saveToContinue = True
1792 now = datetime.today() - timedelta(minutes = 6)
1793 sid1 = snapshots.SID(now, self.cfg)
1795> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1797test/test_takeSnapshot.py:229:
1798_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1799snapshots.py:1493: in takeSnapshot
1800 self.backupPermissions(new_snapshot)
1801_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1803self = <snapshots.Snapshots object at 0x7156a0fd28b0>, sid = new_snapshot
1805 def backupPermissions(self, sid):
1806 """
1807 Save permissions (owner, group, read-, write- and executable)
1808 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1810 Args:
1811 sid (SID): snapshot that should be scanned
1813 Returns:
1814 int: Return code of rsync.
1815 """
1816 logger.info('Save permissions', self)
1817 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1819 fileInfoDict = FileInfoDict()
1821 if self.config.snapshotsMode() == 'ssh_encfs':
1822 decode = encfstools.Decode(self.config, False)
1823 else:
1824> decode = encfstools.Bounce()
1825E AttributeError: module 'encfstools' has no attribute 'Bounce'
1827snapshots.py:1182: AttributeError
1828----------------------------- Captured stderr call -----------------------------
1829DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1830WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1831WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1832WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1833DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1834DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1835INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
1836INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1837DEBUG: [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/tmptkh7owo1 --exclude=/tmp/tmpy406gows/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpds8t9m_u/ --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/tmpds8t9m_u/** --exclude=* / /tmp/tmptkh7owo1/backintime/test-host/test-user/1/new_snapshot/backup"
1838DEBUG: [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/tmptkh7owo1 --exclude=/tmp/tmpy406gows/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpds8t9m_u/ --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/tmpds8t9m_u/** --exclude=* / /tmp/tmptkh7owo1/backintime/test-host/test-user/1/new_snapshot/backup'
1839DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
1840INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1841INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1842_________________________ Take.test_spaces_in_exclude __________________________
1844self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>
1845sleep = <MagicMock name='sleep' id='124616888091696'>
1847 @patch('time.sleep') # speed up unittest
1848 def test_spaces_in_exclude(self, sleep):
1849 now = datetime.today()
1850 sid1 = snapshots.SID(now, self.cfg)
1851 exclude = os.path.join(self.include.name, 'test path with spaces')
1852 generic.create_test_files(exclude)
1853 self.cfg.setExclude([exclude])
1855> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1857test/test_takeSnapshot.py:161:
1858_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1859snapshots.py:1493: in takeSnapshot
1860 self.backupPermissions(new_snapshot)
1861_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1863self = <snapshots.Snapshots object at 0x7156a1590790>, sid = new_snapshot
1865 def backupPermissions(self, sid):
1866 """
1867 Save permissions (owner, group, read-, write- and executable)
1868 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1870 Args:
1871 sid (SID): snapshot that should be scanned
1873 Returns:
1874 int: Return code of rsync.
1875 """
1876 logger.info('Save permissions', self)
1877 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1879 fileInfoDict = FileInfoDict()
1881 if self.config.snapshotsMode() == 'ssh_encfs':
1882 decode = encfstools.Decode(self.config, False)
1883 else:
1884> decode = encfstools.Bounce()
1885E AttributeError: module 'encfstools' has no attribute 'Bounce'
1887snapshots.py:1182: AttributeError
1888----------------------------- Captured stderr call -----------------------------
1889DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1890WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1891WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1892WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1893DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1894DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1895INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1896DEBUG: [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/tmpxn3vz9eh --exclude=/tmp/tmpl814pd1t/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmppjcokqst/ --include=/tmp/ --exclude=/tmp/tmppjcokqst/test path with spaces --include=/tmp/tmppjcokqst/** --exclude=* / /tmp/tmpxn3vz9eh/backintime/test-host/test-user/1/new_snapshot/backup"
1897DEBUG: [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/tmpxn3vz9eh --exclude=/tmp/tmpl814pd1t/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmppjcokqst/ --include=/tmp/ --exclude=/tmp/tmppjcokqst/test path with spaces --include=/tmp/tmppjcokqst/** --exclude=* / /tmp/tmpxn3vz9eh/backintime/test-host/test-user/1/new_snapshot/backup'
1898DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
1899INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1900INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1901_________________________ Take.test_spaces_in_include __________________________
1903self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>
1904sleep = <MagicMock name='sleep' id='124616882256384'>
1906 @patch('time.sleep') # speed up unittest
1907 def test_spaces_in_include(self, sleep):
1908 now = datetime.today()
1909 sid1 = snapshots.SID(now, self.cfg)
1910 include = os.path.join(self.include.name, 'test path with spaces')
1911 generic.create_test_files(include)
1913> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
1915test/test_takeSnapshot.py:118:
1916_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1917snapshots.py:1493: in takeSnapshot
1918 self.backupPermissions(new_snapshot)
1919_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1921self = <snapshots.Snapshots object at 0x7156a0fffc70>, sid = new_snapshot
1923 def backupPermissions(self, sid):
1924 """
1925 Save permissions (owner, group, read-, write- and executable)
1926 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1928 Args:
1929 sid (SID): snapshot that should be scanned
1931 Returns:
1932 int: Return code of rsync.
1933 """
1934 logger.info('Save permissions', self)
1935 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1937 fileInfoDict = FileInfoDict()
1939 if self.config.snapshotsMode() == 'ssh_encfs':
1940 decode = encfstools.Decode(self.config, False)
1941 else:
1942> decode = encfstools.Bounce()
1943E AttributeError: module 'encfstools' has no attribute 'Bounce'
1945snapshots.py:1182: AttributeError
1946----------------------------- Captured stderr call -----------------------------
1947DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1948WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1949WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1950WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1951DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1952DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1953INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1954DEBUG: [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/tmp7uxv6vzg --exclude=/tmp/tmpmdzy3s77/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnu2xholq/test path with spaces/ --include=/tmp/tmpnu2xholq/ --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/tmpnu2xholq/test path with spaces/** --exclude=* / /tmp/tmp7uxv6vzg/backintime/test-host/test-user/1/new_snapshot/backup"
1955DEBUG: [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/tmp7uxv6vzg --exclude=/tmp/tmpmdzy3s77/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnu2xholq/test path with spaces/ --include=/tmp/tmpnu2xholq/ --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/tmpnu2xholq/test path with spaces/** --exclude=* / /tmp/tmp7uxv6vzg/backintime/test-host/test-user/1/new_snapshot/backup'
1956DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
1957INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1958INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1959______________________________ TakeSSH.test_error ______________________________
1961self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>
1962sleep = <MagicMock name='sleep' id='124616882112352'>
1964 @patch('time.sleep') # speed up unittest
1965 def test_error(self, sleep):
1966 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1967 now = datetime.today()
1968 sid1 = snapshots.SID(now, self.cfg)
1970> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1972test/test_takeSnapshot.py:182:
1973_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1974snapshots.py:1493: in takeSnapshot
1975 self.backupPermissions(new_snapshot)
1976_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1978self = <snapshots.Snapshots object at 0x7156a0fdc580>, sid = new_snapshot
1980 def backupPermissions(self, sid):
1981 """
1982 Save permissions (owner, group, read-, write- and executable)
1983 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1985 Args:
1986 sid (SID): snapshot that should be scanned
1988 Returns:
1989 int: Return code of rsync.
1990 """
1991 logger.info('Save permissions', self)
1992 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1994 fileInfoDict = FileInfoDict()
1996 if self.config.snapshotsMode() == 'ssh_encfs':
1997 decode = encfstools.Decode(self.config, False)
1998 else:
1999> decode = encfstools.Bounce()
2000E AttributeError: module 'encfstools' has no attribute 'Bounce'
2002snapshots.py:1182: AttributeError
2003----------------------------- Captured stderr call -----------------------------
2004DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2005WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2006WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2007WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2008DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2009DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2010DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2011DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2012DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2013DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2014DEBUG: [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']
2015DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2016DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2017DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2018DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2019DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2020DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2021ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2022DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2023DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2024DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock
2025DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2026DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2027DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2028DEBUG: [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']
2029DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2030DEBUG: [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/tmpz8rn7los/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpz8rn7los/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpz8rn7los/foo" || exit 11;test -w "/tmp/tmpz8rn7los/foo" || exit 12;test -x "/tmp/tmpz8rn7los/foo" || exit 13;exit 20']
2031DEBUG: [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/tmpz8rn7los/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpz8rn7los/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpz8rn7los/foo" || exit 11;test -w "/tmp/tmpz8rn7los/foo" || exit 12;test -x "/tmp/tmpz8rn7los/foo" || exit 13;exit 20
2032DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2033DEBUG: [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/tmpz8rn7los/foo /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint
2034DEBUG: [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/tmpz8rn7los/foo', '/tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint'].
2035INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpz8rn7los/foo on /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint
2036DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/locks/5467.lock
2037DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock
2038DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2039INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2040DEBUG: [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/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --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/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2041DEBUG: [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/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --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/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2042WARNING: [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/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --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/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
2043INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2044INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2045DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2046DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2047DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2048DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2049DEBUG: [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']
2050DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2051DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2052DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2053DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2054DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2055DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2056ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2057DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2058DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2059DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock
2060INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpz8rn7los/foo from /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint
2061DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/locks/5467.lock
2062DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock
2063_____________________________ TakeSSH.test_exclude _____________________________
2065self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>
2066sleep = <MagicMock name='sleep' id='124616888143152'>
2068 @patch('time.sleep') # speed up unittest
2069 def test_exclude(self, sleep):
2070 now = datetime.today()
2071 sid1 = snapshots.SID(now, self.cfg)
2072 self.cfg.setExclude(['bar/baz'])
2074> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2076test/test_takeSnapshot.py:138:
2077_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2078snapshots.py:1493: in takeSnapshot
2079 self.backupPermissions(new_snapshot)
2080_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2082self = <snapshots.Snapshots object at 0x7156a159cdc0>, sid = new_snapshot
2084 def backupPermissions(self, sid):
2085 """
2086 Save permissions (owner, group, read-, write- and executable)
2087 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2089 Args:
2090 sid (SID): snapshot that should be scanned
2092 Returns:
2093 int: Return code of rsync.
2094 """
2095 logger.info('Save permissions', self)
2096 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2098 fileInfoDict = FileInfoDict()
2100 if self.config.snapshotsMode() == 'ssh_encfs':
2101 decode = encfstools.Decode(self.config, False)
2102 else:
2103> decode = encfstools.Bounce()
2104E AttributeError: module 'encfstools' has no attribute 'Bounce'
2106snapshots.py:1182: AttributeError
2107----------------------------- Captured stderr call -----------------------------
2108DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2109WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2110WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2111WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2112DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2113DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2114DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2115DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2116DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2117DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2118DEBUG: [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']
2119DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2120DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2121DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2122DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2123DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2124DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2125ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2126DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2127DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2128DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock
2129DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2130DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2131DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2132DEBUG: [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']
2133DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2134DEBUG: [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/tmp5wgji71v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp5wgji71v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp5wgji71v/foo" || exit 11;test -w "/tmp/tmp5wgji71v/foo" || exit 12;test -x "/tmp/tmp5wgji71v/foo" || exit 13;exit 20']
2135DEBUG: [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/tmp5wgji71v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp5wgji71v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp5wgji71v/foo" || exit 11;test -w "/tmp/tmp5wgji71v/foo" || exit 12;test -x "/tmp/tmp5wgji71v/foo" || exit 13;exit 20
2136DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2137DEBUG: [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/tmp5wgji71v/foo /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint
2138DEBUG: [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/tmp5wgji71v/foo', '/tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint'].
2139INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp5wgji71v/foo on /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint
2140DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/locks/5467.lock
2141DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock
2142DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2143INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2144DEBUG: [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/tmpurwxvuqn/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpurwxvuqn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwptu035_/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpwptu035_/** --exclude=* / travis@localhost:/tmp/tmp5wgji71v/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2145DEBUG: [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/tmpurwxvuqn/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpurwxvuqn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwptu035_/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpwptu035_/** --exclude=* / travis@localhost:/tmp/tmp5wgji71v/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2146DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
2147INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2148INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2149DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2150DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2151DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2152DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2153DEBUG: [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']
2154DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2155DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2156DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2157DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2158DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2159DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2160ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2161DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2162DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2163DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock
2164INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp5wgji71v/foo from /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint
2165DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/locks/5467.lock
2166DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock
2167_________________________ TakeSSH.test_four_snapshots __________________________
2169self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>
2170sleep = <MagicMock name='sleep' id='124616882170032'>
2172 @patch('time.sleep') # speed up unittest
2173 def test_four_snapshots(self, sleep):
2174 now = datetime.today() - timedelta(minutes = 6)
2175 sid1 = snapshots.SID(now, self.cfg)
2177 # Note: 'self.sn' is of type 'Snapshots'
2178 # First boolean: Snapshot succeeded
2179 # Second boolean: Error occurred
2180 self.assertListEqual(
2181 [True, False], # Snapshot without error
2182> self.sn.takeSnapshot(
2183 sid=sid1,
2184 now=now,
2185 include_folders=[
2186 (self.include.name, 0), # '0' means it is a file
2191test/test_takeSnapshot.py:51:
2192_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2193snapshots.py:1493: in takeSnapshot
2194 self.backupPermissions(new_snapshot)
2195_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2197self = <snapshots.Snapshots object at 0x7156a0fea6d0>, sid = new_snapshot
2199 def backupPermissions(self, sid):
2200 """
2201 Save permissions (owner, group, read-, write- and executable)
2202 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2204 Args:
2205 sid (SID): snapshot that should be scanned
2207 Returns:
2208 int: Return code of rsync.
2209 """
2210 logger.info('Save permissions', self)
2211 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2213 fileInfoDict = FileInfoDict()
2215 if self.config.snapshotsMode() == 'ssh_encfs':
2216 decode = encfstools.Decode(self.config, False)
2217 else:
2218> decode = encfstools.Bounce()
2219E AttributeError: module 'encfstools' has no attribute 'Bounce'
2221snapshots.py:1182: AttributeError
2222----------------------------- Captured stderr call -----------------------------
2223DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2224WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2225WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2226WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2227DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2228DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2229DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2230DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2231DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2232DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2233DEBUG: [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']
2234DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2235DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2236DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2237DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2238DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2239DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2240ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2241DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2242DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2243DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock
2244DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2245DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2246DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2247DEBUG: [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']
2248DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2249DEBUG: [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/tmpi5mtyxq4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpi5mtyxq4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpi5mtyxq4/foo" || exit 11;test -w "/tmp/tmpi5mtyxq4/foo" || exit 12;test -x "/tmp/tmpi5mtyxq4/foo" || exit 13;exit 20']
2250DEBUG: [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/tmpi5mtyxq4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpi5mtyxq4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpi5mtyxq4/foo" || exit 11;test -w "/tmp/tmpi5mtyxq4/foo" || exit 12;test -x "/tmp/tmpi5mtyxq4/foo" || exit 13;exit 20
2251DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2252DEBUG: [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/tmpi5mtyxq4/foo /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint
2253DEBUG: [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/tmpi5mtyxq4/foo', '/tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint'].
2254INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpi5mtyxq4/foo on /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint
2255DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/locks/5467.lock
2256DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock
2257DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2258INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2259DEBUG: [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/tmpcnxajude/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpcnxajude/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvbb9e2td/ --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/tmpvbb9e2td/** --exclude=* / travis@localhost:/tmp/tmpi5mtyxq4/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2260DEBUG: [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/tmpcnxajude/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpcnxajude/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvbb9e2td/ --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/tmpvbb9e2td/** --exclude=* / travis@localhost:/tmp/tmpi5mtyxq4/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2261DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
2262INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2263INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2264DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2265DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2266DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2267DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2268DEBUG: [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']
2269DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2270DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2271DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2272DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2273DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2274DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2275ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2276DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2277DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2278DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock
2279INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpi5mtyxq4/foo from /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint
2280DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/locks/5467.lock
2281DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock
2282___________________________ TakeSSH.test_new_exists ____________________________
2284self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>
2285sleep = <MagicMock name='sleep' id='124616882234032'>
2287 @patch('time.sleep') # speed up unittest
2288 def test_new_exists(self, sleep):
2289 new_snapshot = snapshots.NewSnapshot(self.cfg)
2290 new_snapshot.makeDirs()
2291 with open(new_snapshot.path('leftover'), 'wt') as f:
2292 f.write('foo')
2294 now = datetime.today() - timedelta(minutes = 6)
2295 sid1 = snapshots.SID(now, self.cfg)
2297> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2299test/test_takeSnapshot.py:214:
2300_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2301snapshots.py:1493: in takeSnapshot
2302 self.backupPermissions(new_snapshot)
2303_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2305self = <snapshots.Snapshots object at 0x7156a0ffa3a0>, sid = new_snapshot
2307 def backupPermissions(self, sid):
2308 """
2309 Save permissions (owner, group, read-, write- and executable)
2310 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2312 Args:
2313 sid (SID): snapshot that should be scanned
2315 Returns:
2316 int: Return code of rsync.
2317 """
2318 logger.info('Save permissions', self)
2319 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2321 fileInfoDict = FileInfoDict()
2323 if self.config.snapshotsMode() == 'ssh_encfs':
2324 decode = encfstools.Decode(self.config, False)
2325 else:
2326> decode = encfstools.Bounce()
2327E AttributeError: module 'encfstools' has no attribute 'Bounce'
2329snapshots.py:1182: AttributeError
2330----------------------------- Captured stderr call -----------------------------
2331DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2332WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2333WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2334WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2335DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2336DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2337DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2338DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2339DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2340DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2341DEBUG: [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']
2342DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2343DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2344DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2345DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2346DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2347DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2348ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2349DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2350DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2351DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock
2352DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2353DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2354DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2355DEBUG: [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']
2356DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2357DEBUG: [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/tmppnhg8t31/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmppnhg8t31/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmppnhg8t31/foo" || exit 11;test -w "/tmp/tmppnhg8t31/foo" || exit 12;test -x "/tmp/tmppnhg8t31/foo" || exit 13;exit 20']
2358DEBUG: [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/tmppnhg8t31/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmppnhg8t31/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmppnhg8t31/foo" || exit 11;test -w "/tmp/tmppnhg8t31/foo" || exit 12;test -x "/tmp/tmppnhg8t31/foo" || exit 13;exit 20
2359DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2360DEBUG: [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/tmppnhg8t31/foo /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint
2361DEBUG: [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/tmppnhg8t31/foo', '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint'].
2362INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmppnhg8t31/foo on /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint
2363DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/locks/5467.lock
2364DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock
2365INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
2366DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2367DEBUG: [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/tmpoj1u0uoa/ travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot"
2368DEBUG: [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/tmpoj1u0uoa/ travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot'
2369DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
2370ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467/backintime/test-host/test-user/1/new_snapshot/backup'
2371DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2372INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2373DEBUG: [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/tmpo70qqgbq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpo70qqgbq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpbo9w0cno/ --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/tmpbo9w0cno/** --exclude=* / travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2374DEBUG: [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/tmpo70qqgbq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpo70qqgbq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpbo9w0cno/ --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/tmpbo9w0cno/** --exclude=* / travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2375DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
2376INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2377INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2378DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2379DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2380DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2381DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2382DEBUG: [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']
2383DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2384DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2385DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2386DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2387DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2388DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2389ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2390DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2391DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2392DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock
2393INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmppnhg8t31/foo from /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint
2394DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/locks/5467.lock
2395DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock
2396_______________________ TakeSSH.test_new_exists_continue _______________________
2398self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>
2399sleep = <MagicMock name='sleep' id='124616888112080'>
2401 @patch('time.sleep') # speed up unittest
2402 def test_new_exists_continue(self, sleep):
2403 new_snapshot = snapshots.NewSnapshot(self.cfg)
2404 new_snapshot.makeDirs()
2405 with open(new_snapshot.path('leftover'), 'wt') as f:
2406 f.write('foo')
2407 new_snapshot.saveToContinue = True
2409 now = datetime.today() - timedelta(minutes = 6)
2410 sid1 = snapshots.SID(now, self.cfg)
2412> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2414test/test_takeSnapshot.py:229:
2415_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2416snapshots.py:1493: in takeSnapshot
2417 self.backupPermissions(new_snapshot)
2418_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2420self = <snapshots.Snapshots object at 0x7156a0fb1640>, sid = new_snapshot
2422 def backupPermissions(self, sid):
2423 """
2424 Save permissions (owner, group, read-, write- and executable)
2425 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2427 Args:
2428 sid (SID): snapshot that should be scanned
2430 Returns:
2431 int: Return code of rsync.
2432 """
2433 logger.info('Save permissions', self)
2434 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2436 fileInfoDict = FileInfoDict()
2438 if self.config.snapshotsMode() == 'ssh_encfs':
2439 decode = encfstools.Decode(self.config, False)
2440 else:
2441> decode = encfstools.Bounce()
2442E AttributeError: module 'encfstools' has no attribute 'Bounce'
2444snapshots.py:1182: AttributeError
2445----------------------------- Captured stderr call -----------------------------
2446DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2447WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2448WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2449WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2450DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2451DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2452DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2453DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2454DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2455DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2456DEBUG: [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']
2457DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2458DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2459DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2460DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2461DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2462DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2463ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2464DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2465DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2466DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock
2467DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2468DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2469DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2470DEBUG: [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']
2471DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2472DEBUG: [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/tmpdaa55bja/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdaa55bja/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdaa55bja/foo" || exit 11;test -w "/tmp/tmpdaa55bja/foo" || exit 12;test -x "/tmp/tmpdaa55bja/foo" || exit 13;exit 20']
2473DEBUG: [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/tmpdaa55bja/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdaa55bja/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdaa55bja/foo" || exit 11;test -w "/tmp/tmpdaa55bja/foo" || exit 12;test -x "/tmp/tmpdaa55bja/foo" || exit 13;exit 20
2474DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2475DEBUG: [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/tmpdaa55bja/foo /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint
2476DEBUG: [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/tmpdaa55bja/foo', '/tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint'].
2477INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpdaa55bja/foo on /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint
2478DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/locks/5467.lock
2479DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock
2480INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
2481DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2482INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2483DEBUG: [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/tmpkhw5uz_y/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpa3sm4e7j/ --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/tmpa3sm4e7j/** --exclude=* / travis@localhost:/tmp/tmpdaa55bja/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2484DEBUG: [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/tmpkhw5uz_y/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpa3sm4e7j/ --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/tmpa3sm4e7j/** --exclude=* / travis@localhost:/tmp/tmpdaa55bja/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2485DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
2486INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2487INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2488DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2489DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2490DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2491DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2492DEBUG: [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']
2493DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2494DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2495DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2496DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2497DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2498DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2499ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2500DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2501DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2502DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock
2503INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpdaa55bja/foo from /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint
2504DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/locks/5467.lock
2505DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock
2506________________________ TakeSSH.test_spaces_in_exclude ________________________
2508self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>
2509sleep = <MagicMock name='sleep' id='124616881740960'>
2511 @patch('time.sleep') # speed up unittest
2512 def test_spaces_in_exclude(self, sleep):
2513 now = datetime.today()
2514 sid1 = snapshots.SID(now, self.cfg)
2515 exclude = os.path.join(self.include.name, 'test path with spaces')
2516 generic.create_test_files(exclude)
2517 self.cfg.setExclude([exclude])
2519> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2521test/test_takeSnapshot.py:161:
2522_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2523snapshots.py:1493: in takeSnapshot
2524 self.backupPermissions(new_snapshot)
2525_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2527self = <snapshots.Snapshots object at 0x7156a0fbd310>, sid = new_snapshot
2529 def backupPermissions(self, sid):
2530 """
2531 Save permissions (owner, group, read-, write- and executable)
2532 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2534 Args:
2535 sid (SID): snapshot that should be scanned
2537 Returns:
2538 int: Return code of rsync.
2539 """
2540 logger.info('Save permissions', self)
2541 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2543 fileInfoDict = FileInfoDict()
2545 if self.config.snapshotsMode() == 'ssh_encfs':
2546 decode = encfstools.Decode(self.config, False)
2547 else:
2548> decode = encfstools.Bounce()
2549E AttributeError: module 'encfstools' has no attribute 'Bounce'
2551snapshots.py:1182: AttributeError
2552----------------------------- Captured stderr call -----------------------------
2553DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2554WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2555WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2556WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2557DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2558DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2559DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2560DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2561DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2562DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2563DEBUG: [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']
2564DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2565DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2566DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2567DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2568DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2569DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2570ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2571DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2572DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2573DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock
2574DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2575DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2576DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2577DEBUG: [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']
2578DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2579DEBUG: [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/tmp954p_upi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp954p_upi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp954p_upi/foo" || exit 11;test -w "/tmp/tmp954p_upi/foo" || exit 12;test -x "/tmp/tmp954p_upi/foo" || exit 13;exit 20']
2580DEBUG: [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/tmp954p_upi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp954p_upi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp954p_upi/foo" || exit 11;test -w "/tmp/tmp954p_upi/foo" || exit 12;test -x "/tmp/tmp954p_upi/foo" || exit 13;exit 20
2581DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2582DEBUG: [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/tmp954p_upi/foo /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint
2583DEBUG: [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/tmp954p_upi/foo', '/tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint'].
2584INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp954p_upi/foo on /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint
2585DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/locks/5467.lock
2586DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock
2587DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2588INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2589DEBUG: [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/tmpgmk76bh0/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpgmk76bh0/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnp53elgy/ --include=/tmp/ --exclude=/tmp/tmpnp53elgy/test path with spaces --include=/tmp/tmpnp53elgy/** --exclude=* / travis@localhost:/tmp/tmp954p_upi/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2590DEBUG: [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/tmpgmk76bh0/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpgmk76bh0/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnp53elgy/ --include=/tmp/ --exclude=/tmp/tmpnp53elgy/test path with spaces --include=/tmp/tmpnp53elgy/** --exclude=* / travis@localhost:/tmp/tmp954p_upi/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2591DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
2592INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2593INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2594DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2595DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2596DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2597DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2598DEBUG: [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']
2599DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2600DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2601DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2602DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2603DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2604DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2605ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2606DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2607DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2608DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock
2609INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp954p_upi/foo from /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint
2610DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/locks/5467.lock
2611DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock
2612________________________ TakeSSH.test_spaces_in_include ________________________
2614self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>
2615sleep = <MagicMock name='sleep' id='124616888144080'>
2617 @patch('time.sleep') # speed up unittest
2618 def test_spaces_in_include(self, sleep):
2619 now = datetime.today()
2620 sid1 = snapshots.SID(now, self.cfg)
2621 include = os.path.join(self.include.name, 'test path with spaces')
2622 generic.create_test_files(include)
2624> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
2626test/test_takeSnapshot.py:118:
2627_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2628snapshots.py:1493: in takeSnapshot
2629 self.backupPermissions(new_snapshot)
2630_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2632self = <snapshots.Snapshots object at 0x7156a0fa78b0>, sid = new_snapshot
2634 def backupPermissions(self, sid):
2635 """
2636 Save permissions (owner, group, read-, write- and executable)
2637 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2639 Args:
2640 sid (SID): snapshot that should be scanned
2642 Returns:
2643 int: Return code of rsync.
2644 """
2645 logger.info('Save permissions', self)
2646 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2648 fileInfoDict = FileInfoDict()
2650 if self.config.snapshotsMode() == 'ssh_encfs':
2651 decode = encfstools.Decode(self.config, False)
2652 else:
2653> decode = encfstools.Bounce()
2654E AttributeError: module 'encfstools' has no attribute 'Bounce'
2656snapshots.py:1182: AttributeError
2657----------------------------- Captured stderr call -----------------------------
2658DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2659WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2660WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2661WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2662DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2663DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2664DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2665DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2666DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2667DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2668DEBUG: [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']
2669DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2670DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2671DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2672DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2673DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2674DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 7
2675ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2676DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2677DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2678DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock
2679DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2680DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2681DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2682DEBUG: [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']
2683DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2684DEBUG: [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/tmpbuvumgo3/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpbuvumgo3/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpbuvumgo3/foo" || exit 11;test -w "/tmp/tmpbuvumgo3/foo" || exit 12;test -x "/tmp/tmpbuvumgo3/foo" || exit 13;exit 20']
2685DEBUG: [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/tmpbuvumgo3/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpbuvumgo3/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpbuvumgo3/foo" || exit 11;test -w "/tmp/tmpbuvumgo3/foo" || exit 12;test -x "/tmp/tmpbuvumgo3/foo" || exit 13;exit 20
2686DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2687DEBUG: [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/tmpbuvumgo3/foo /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint
2688DEBUG: [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/tmpbuvumgo3/foo', '/tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint'].
2689INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpbuvumgo3/foo on /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint
2690DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/locks/5467.lock
2691DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock
2692DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2693INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2694DEBUG: [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/tmpvbap3zxq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpvbap3zxq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpzeota04p/test path with spaces/ --include=/tmp/tmpzeota04p/ --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/tmpzeota04p/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpbuvumgo3/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2695DEBUG: [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/tmpvbap3zxq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpvbap3zxq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpzeota04p/test path with spaces/ --include=/tmp/tmpzeota04p/ --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/tmpzeota04p/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpbuvumgo3/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2696DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
2697INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2698INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2699DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2700DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2701DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2702DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2703DEBUG: [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']
2704DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2705DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2706DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2707DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2708DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2709DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 8
2710ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2711DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2712DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2713DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock
2714INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpbuvumgo3/foo from /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint
2715DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/locks/5467.lock
2716DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock
2717=========================== short test summary info ============================
2718FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 1
2719stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2720WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2721WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2722INFO: Lock
2723INFO: Take a new snapshot. Profile: 1 Main profile
2724INFO: Call rsync to take the snapshot
2725INFO: Save config file
2726INFO: Save permissions
2727Traceback (most recent call last):
2728 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
2729 startApp()
2730 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
2731 args.func(args)
2732 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
2733 ret = takeSnapshot(cfg, force)
2734 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
2735 ret = snapshots.Snapshots(cfg).backup(force)
2736 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
2737 ret_val, ret_error = self.takeSnapshot(
2738 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
2739 self.backupPermissions(new_snapshot)
2740 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
2741 decode = encfstools.Bounce()
2742AttributeError: module 'encfstools' has no attribute 'Bounce'
2744stdout:
2745Back In Time
2746Version: 1.5.4-rc1
2748Back In Time comes with ABSOLUTELY NO WARRANTY.
2749This is free software, and you are welcome to redistribute it
2750under certain conditions; type `backintime --license' for details.
2751FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).
2752FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).
2753FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.
2754FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.
2755FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'
2756FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2757FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2758FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2759FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2760FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2761FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2762FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2763FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2764FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2765FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2766FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2767FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2768FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2769FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2770FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2771FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2772============ 22 failed, 403 passed, 2 skipped in 122.07s (0:02:02) =============
2773make: *** [Makefile:620: unittest-v] Error 1
2774The command "make unittest-v" exited with 2.
27750.00s$ cd ..
2776The command "cd .." exited with 0.
27770.00s$ cd qt
2778The command "cd qt" exited with 0.
27790.06s$ ./configure
2780Replacement of python path with "/usr/bin/python3" successful.
2781All OK. Now run:
2782 make
2783 sudo make install
2784The command "./configure" exited with 0.
27850.01s$ make
2786# Man pages
2787for 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
2788The command "make" exited with 0.
278925.46s$ pytest --verbose
2790============================= test session starts ==============================
2791platform linux -- Python 3.9.21, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.9.21/bin/python
2792cachedir: .pytest_cache
2793rootdir: /home/travis/build/bit-team/backintime/qt
2794plugins: pyfakefs-5.7.4
2795collected 9 items
2797test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 11%]
2798test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset PASSED [ 22%]
2799test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset PASSED [ 33%]
2800test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset PASSED [ 44%]
2801test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset PASSED [ 55%]
2802test/test_statedata.py::IsSingleton::test_content PASSED [ 66%]
2803test/test_statedata.py::IsSingleton::test_identity PASSED [ 77%]
2804test/test_statedata.py::Properties::test_profile_not_exist PASSED [ 88%]
2805test/test_statedata.py::Properties::test_read_empty_global PASSED [100%]
2807============================== 9 passed in 25.24s ==============================
2808The command "pytest --verbose" exited with 0.
2811Done. Your build exited with 1.
Top