Pull request event #2496.2 failed

  • Ran for
AMD64
Python: 3.10
Git
PYTHONUNBUFFERED=1
Raw log
Scroll to End of Log
0.16s0.10s0.00s0.05s0.00s
worker_info
1Worker information
2hostname: c34f3821-71fc-4f58-96b3-41c2f06cd7a2@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-3
3version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f030
4instance: travis-job-8ba2a66b-eedb-4418-b1f0-9e7b3a87a3f6 travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)
5startup: 5.996362543s
60.27s0.01s0.00s0.01s
system_info
7Build system information
8Build language: python
9Build dist: jammy
10Build id: 274236385
11Job id: 630633624
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.00s0.57s0.23s0.05s0.00s0.03s0.00s0.03s0.01s0.03s0.01s0.01s0.00s0.42sOK
1600.00s0.04s0.00s0.01s0.11s0.00s0.00s0.00s0.01s0.00s0.11s0.00s0.83s0.00s0.00s18.20s0.00s3.12s0.00s3.60s
docker_mtu_and_registry_mirrors
Docker
resolvconf
ssh_known_hosts.0
161Adding ssh known hosts
162$ mkdir -p ${TRAVIS_HOME}/.ssh
1630.05s$ ssh-keyscan -t $TRAVIS_SSH_KEY_TYPES -H localhost 2>&1 | tee -a ${TRAVIS_HOME}/.ssh/known_hosts
164# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
165# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
166# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10
167|1|6GtG67WHFdp05DLQwLylSd5M7ts=|RyUN/xuzyVl9frQAHEQIgkXXqzA= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=
168|1|7QnPEuiB/OGuwXxPl1KwlP+yi/4=|sw4uEijgDNchpwSxY0KvVWMy7L0= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=
git.checkout
1700.01s1.02s$ git clone --depth=50 https://github.com/bit-team/backintime.git bit-team/backintime
171Cloning into 'bit-team/backintime'...
172remote: Enumerating objects: 932, done.
173remote: Counting objects: 100% (932/932), done.
174remote: Compressing objects: 100% (558/558), done.
175remote: Total 932 (delta 541), reused 632 (delta 345), pack-reused 0 (from 0)
176Receiving objects: 100% (932/932), 4.82 MiB | 24.30 MiB/s, done.
177Resolving deltas: 100% (541/541), done.
178$ cd bit-team/backintime
1790.24s$ git fetch origin +refs/pull/2039/merge: --depth=50
180remote: Enumerating objects: 47, done.
181remote: Counting objects: 100% (42/42), done.
182remote: Compressing objects: 100% (14/14), done.
183remote: Total 33 (delta 25), reused 26 (delta 19), pack-reused 0 (from 0)
184Unpacking objects: 100% (33/33), 4.91 KiB | 457.00 KiB/s, done.
185From https://github.com/bit-team/backintime
186 * branch refs/pull/2039/merge -> FETCH_HEAD
187$ git checkout -qf FETCH_HEAD
1890.00s
190Setting environment variables from .travis.yml
191$ export PYTHONUNBUFFERED=1
1930.01s$ source ~/virtualenv/python3.10/bin/activate
194$ python --version
195Python 3.10.14
196$ pip --version
197pip 24.0 from /home/travis/virtualenv/python3.10.14/lib/python3.10/site-packages/pip (python 3.10)
before_install.1
1980.01s$ sudo rm -f /etc/apt/sources.list.d/mongodb*.list
before_install.2
1990.09s$ sudo apt-key del 90CFB1F5
200Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
201OK
before_install.3
2022.05s$ sudo apt-get -qq update
203W: 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.
204W: 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
2054.59s$ sudo apt-get install -y sshfs screen util-linux libdbus-1-dev
206Reading package lists... Done
207Building dependency tree... Done
208Reading state information... Done
209screen is already the newest version (4.9.0-1).
210libdbus-1-dev is already the newest version (1.12.20-2ubuntu4.1).
211util-linux is already the newest version (2.37.2-4ubuntu3.4).
212The following NEW packages will be installed:
213 sshfs
2140 upgraded, 1 newly installed, 0 to remove and 134 not upgraded.
215Need to get 45.1 kB of archives.
216After this operation, 126 kB of additional disk space will be used.
217Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 sshfs amd64 3.7.1+repack-2 [45.1 kB]
218Fetched 45.1 kB in 0s (379 kB/s)
219Selecting previously unselected package sshfs.
220(Reading database ... 132481 files and directories currently installed.)
221Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...
222Unpacking sshfs (3.7.1+repack-2) ...
223Setting up sshfs (3.7.1+repack-2) ...
224Processing triggers for man-db (2.10.2-1) ...
225NEEDRESTART-VER: 3.5
226NEEDRESTART-KCUR: 6.8.0-1018-gcp
227NEEDRESTART-KEXP: 6.8.0-1018-gcp
228NEEDRESTART-KSTA: 1
install.1
2292.01s$ pip install -U pip
230Requirement already satisfied: pip in /home/travis/virtualenv/python3.10.14/lib/python3.10/site-packages (24.0)
231Collecting pip
232 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)
233Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)
234Installing collected packages: pip
235 Attempting uninstall: pip
236 Found existing installation: pip 24.0
237 Uninstalling pip-24.0:
238 Successfully uninstalled pip-24.0
239Successfully installed pip-25.0.1
install.2
2404.74s$ pip install pylint ruff flake8 pyfakefs keyring
241Collecting pylint
242 Downloading pylint-3.3.4-py3-none-any.whl.metadata (12 kB)
243Collecting ruff
244 Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)
245Collecting flake8
246 Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)
247Collecting pyfakefs
248 Downloading pyfakefs-5.7.4-py3-none-any.whl.metadata (7.8 kB)
249Collecting keyring
250 Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)
251Collecting dill>=0.2 (from pylint)
252 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)
253Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.10.14/lib/python3.10/site-packages (from pylint) (4.2.0)
254Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)
255 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)
256Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)
257 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)
258Collecting mccabe<0.8,>=0.6 (from pylint)
259 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)
260Requirement already satisfied: tomli>=1.1.0 in /home/travis/virtualenv/python3.10.14/lib/python3.10/site-packages (from pylint) (2.0.1)
261Collecting tomlkit>=0.10.1 (from pylint)
262 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)
263Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)
264 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)
265Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)
266 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)
267Collecting SecretStorage>=3.2 (from keyring)
268 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)
269Collecting jeepney>=0.4.2 (from keyring)
270 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)
271Collecting importlib_metadata>=4.11.4 (from keyring)
272 Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)
273Collecting jaraco.classes (from keyring)
274 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)
275Collecting jaraco.functools (from keyring)
276 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)
277Collecting jaraco.context (from keyring)
278 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)
279Collecting typing-extensions>=4.0.0 (from astroid<=3.4.0-dev0,>=3.3.8->pylint)
280 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)
281Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring)
282 Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)
283Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)
284 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)
285Collecting more-itertools (from jaraco.classes->keyring)
286 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)
287Collecting backports.tarfile (from jaraco.context->keyring)
288 Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)
289Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)
290 Downloading cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)
291Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)
292 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)
293Downloading pylint-3.3.4-py3-none-any.whl (522 kB)
294Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)
295Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)
296Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)
297Downloading keyring-25.6.0-py3-none-any.whl (39 kB)
298Downloading astroid-3.3.8-py3-none-any.whl (275 kB)
299Downloading dill-0.3.9-py3-none-any.whl (119 kB)
300Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)
301Downloading isort-6.0.0-py3-none-any.whl (94 kB)
302Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)
303Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)
304Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)
305Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)
306Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)
307Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)
308Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)
309Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)
310Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)
311Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)
312Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)
313Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)
314Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)
315Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)
316Downloading cffi-1.17.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (446 kB)
317Downloading pycparser-2.22-py3-none-any.whl (117 kB)
318Installing 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
319Successfully installed SecretStorage-3.3.3 astroid-3.3.8 backports.tarfile-1.2.0 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 importlib_metadata-8.6.1 isort-6.0.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.6.0 mccabe-0.7.0 more-itertools-10.6.0 pycodestyle-2.12.1 pycparser-2.22 pyfakefs-5.7.4 pyflakes-3.2.0 pylint-3.3.4 ruff-0.9.6 tomlkit-0.13.2 typing-extensions-4.12.2 zipp-3.21.0
install.3
32012.06s$ pip install pyqt6 dbus-python
321Collecting pyqt6
322 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)
323Collecting dbus-python
324 Downloading dbus-python-1.3.2.tar.gz (605 kB)
325 Installing build dependencies ... done
326 Getting requirements to build wheel ... done
327 Preparing metadata (pyproject.toml) ... done
328Collecting PyQt6-sip<14,>=13.8 (from pyqt6)
329 Downloading PyQt6_sip-13.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)
330Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)
331 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)
332Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)
333Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)
334Downloading PyQt6_sip-13.10.0-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.whl (283 kB)
335Building wheels for collected packages: dbus-python
336 Building wheel for dbus-python (pyproject.toml) ... done
337 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp310-cp310-linux_x86_64.whl size=121900 sha256=5367aa1e71ca86c7ce79f8290b8e4d4ef5f0cdf43a4bc79845247755c7118d84
338 Stored in directory: /home/travis/.cache/pip/wheels/c8/53/b5/e4afbee894a48133d20f9ff9842a0083b0428af33a10d7a712
339Successfully built dbus-python
340Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6
341Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1
install.4
3420.13s$ ssh-keygen -b 2048 -t rsa -f /home/travis/.ssh/id_rsa -N ""
343Generating public/private rsa key pair.
344Your identification has been saved in /home/travis/.ssh/id_rsa
345Your public key has been saved in /home/travis/.ssh/id_rsa.pub
346The key fingerprint is:
347SHA256:dq8NP2a/0AO7i42t5xcyG5gX7Sh5MtOH+cRp/sSSk0s travis@travis-job-8ba2a66b-eedb-4418-b1f0-9e7b3a87a3f6
348The key's randomart image is:
349+---[RSA 2048]----+
350| |
351| |
352| . |
353| . . |
354| S .=.B . |
355| . .O.@+O+ |
356| .B+@E.o|
357| X*++* |
358| =*O=+o.|
359+----[SHA256]-----+
install.5
3600.00s$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
install.6
3610.01s$ eval `ssh-agent -s`
362Agent pid 5170
3630.22s$ python -m compileall common common/test common/plugins qt qt/test qt/plugins
364Listing 'common'...
365Compiling 'common/applicationinstance.py'...
366Compiling 'common/askpass.py'...
367Compiling 'common/backintime.py'...
368Listing 'common/bash-completion'...
369Compiling 'common/bcolors.py'...
370Compiling 'common/bitbase.py'...
371Compiling 'common/cli.py'...
372Compiling 'common/config.py'...
373Compiling 'common/configfile.py'...
374Compiling 'common/daemon.py'...
375Compiling 'common/diagnostics.py'...
376Listing 'common/doc-dev'...
377Listing 'common/doc-dev/_static'...
378Listing 'common/doc-dev/_templates'...
379Compiling 'common/doc-dev/conf.py'...
380Listing 'common/doc-dev/plugins'...
381Compiling 'common/encfstools.py'...
382Compiling 'common/encode.py'...
383Compiling 'common/exceptions.py'...
384Compiling 'common/flock.py'...
385Compiling 'common/guiapplicationinstance.py'...
386Compiling 'common/languages.py'...
387Compiling 'common/logger.py'...
388Listing 'common/man'...
389Listing 'common/man/C'...
390Compiling 'common/mount.py'...
391Compiling 'common/password.py'...
392Compiling 'common/password_ipc.py'...
393Compiling 'common/pluginmanager.py'...
394Listing 'common/plugins'...
395Compiling 'common/plugins/usercallbackplugin.py'...
396Listing 'common/po'...
397Compiling 'common/progress.py'...
398Compiling 'common/qt_probing.py'...
399Compiling 'common/schedule.py'...
400Compiling 'common/singleton.py'...
401Compiling 'common/snapshotlog.py'...
402Compiling 'common/snapshots.py'...
403Compiling 'common/ssh_max_arg.py'...
404Compiling 'common/sshtools.py'...
405Listing 'common/test'...
406Compiling 'common/test/__init__.py'...
407Compiling 'common/test/constants.py'...
408Compiling 'common/test/generic.py'...
409Compiling 'common/test/test_applicationinstance.py'...
410Compiling 'common/test/test_argparser.py'...
411Compiling 'common/test/test_backintime.py'...
412Compiling 'common/test/test_backup.py'...
413Compiling 'common/test/test_config.py'...
414Compiling 'common/test/test_config_crontab.py'...
415Compiling 'common/test/test_configfile.py'...
416Compiling 'common/test/test_diagnostics.py'...
417Compiling 'common/test/test_encfstools.py'...
418Compiling 'common/test/test_languages.py'...
419Compiling 'common/test/test_lint.py'...
420Compiling 'common/test/test_mount.py'...
421Compiling 'common/test/test_plugin_usercallback.py'...
422Compiling 'common/test/test_restore.py'...
423Compiling 'common/test/test_schedule.py'...
424Compiling 'common/test/test_sid.py'...
425Compiling 'common/test/test_singleton.py'...
426Compiling 'common/test/test_snapshotlog.py'...
427Compiling 'common/test/test_snapshots.py'...
428Compiling 'common/test/test_snapshots_autoremove.py'...
429Compiling 'common/test/test_sshtools.py'...
430Compiling 'common/test/test_takeSnapshot.py'...
431Compiling 'common/test/test_tools.py'...
432Compiling 'common/test/test_uniquenessset.py'...
433Compiling 'common/tools.py'...
434Compiling 'common/uniquenessset.py'...
435Compiling 'common/version.py'...
436Listing 'common/test'...
437Listing 'common/plugins'...
438Listing 'qt'...
439Compiling 'qt/aboutdlg.py'...
440Compiling 'qt/app.py'...
441Compiling 'qt/editusercallback.py'...
442Compiling 'qt/encfsmsgbox.py'...
443Compiling 'qt/icon.py'...
444Listing 'qt/icons'...
445Listing 'qt/icons/16x16'...
446Listing 'qt/icons/16x16/actions'...
447Listing 'qt/icons/22x22'...
448Listing 'qt/icons/22x22/actions'...
449Listing 'qt/icons/24x24'...
450Listing 'qt/icons/24x24/actions'...
451Listing 'qt/icons/32x32'...
452Listing 'qt/icons/32x32/actions'...
453Listing 'qt/icons/48x48'...
454Listing 'qt/icons/48x48/actions'...
455Listing 'qt/icons/scalable'...
456Listing 'qt/icons/scalable/actions'...
457Compiling 'qt/languagedialog.py'...
458Compiling 'qt/logviewdialog.py'...
459Listing 'qt/man'...
460Listing 'qt/man/C'...
461Listing 'qt/manageprofiles'...
462Compiling 'qt/manageprofiles/__init__.py'...
463Compiling 'qt/manageprofiles/combobox.py'...
464Compiling 'qt/manageprofiles/schedulewidget.py'...
465Compiling 'qt/manageprofiles/spinboxunit.py'...
466Compiling 'qt/manageprofiles/sshproxywidget.py'...
467Compiling 'qt/manageprofiles/statebindcheckbox.py'...
468Compiling 'qt/manageprofiles/tab_expert_options.py'...
469Compiling 'qt/manageprofiles/tab_general.py'...
470Compiling 'qt/manageprofiles/tab_options.py'...
471Compiling 'qt/manageprofiles/tab_remove_retention.py'...
472Compiling 'qt/messagebox.py'...
473Listing 'qt/plugins'...
474Compiling 'qt/plugins/notifyplugin.py'...
475Compiling 'qt/plugins/systrayiconplugin.py'...
476Compiling 'qt/qtsystrayicon.py'...
477Compiling 'qt/qttools.py'...
478Compiling 'qt/qttools_path.py'...
479Compiling 'qt/restoreconfigdialog.py'...
480Compiling 'qt/restoredialog.py'...
481Compiling 'qt/serviceHelper.py'...
482Compiling 'qt/snapshotsdialog.py'...
483Compiling 'qt/statedata.py'...
484Listing 'qt/test'...
485Compiling 'qt/test/__init__.py'...
486Compiling 'qt/test/test_lint.py'...
487Compiling 'qt/test/test_statedata.py'...
488Compiling 'qt/usermessagedialog.py'...
489Listing 'qt/test'...
490Listing 'qt/plugins'...
491The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.
4920.00s$ cd common
493The command "cd common" exited with 0.
4940.12s$ ./configure
495Replacement of python path with "/usr/bin/python3" successful.
496All OK. Now run:
497 make
498 sudo make install
499The command "./configure" exited with 0.
500118.97s$ make unittest-v
501/home/travis/virtualenv/python3.10.14/bin/pytest -v
502============================= test session starts ==============================
503platform linux -- Python 3.10.14, pytest-8.1.1, pluggy-1.4.0 -- /home/travis/virtualenv/python3.10.14/bin/python
504cachedir: .pytest_cache
505rootdir: /home/travis/build/bit-team/backintime/common
506plugins: pyfakefs-5.7.4
507collected 427 items
509test/test_applicationinstance.py::General::test_autoExit_other_running_process PASSED [ 0%]
510test/test_applicationinstance.py::General::test_autoExit_unique_process PASSED [ 0%]
511test/test_applicationinstance.py::General::test_auto_flock PASSED [ 0%]
512test/test_applicationinstance.py::General::test_create_and_remove_pid_file PASSED [ 0%]
513test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]
514test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]
515test/test_applicationinstance.py::General::test_existing_process_with_wrong_pid PASSED [ 1%]
516test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]
517test/test_applicationinstance.py::General::test_flock_exclusive PASSED [ 2%]
518test/test_applicationinstance.py::General::test_flock_exclusive_fail PASSED [ 2%]
519test/test_applicationinstance.py::General::test_killing_existing_process PASSED [ 2%]
520test/test_applicationinstance.py::General::test_leftover_empty_lockfile PASSED [ 2%]
521test/test_applicationinstance.py::General::test_no_pid_file PASSED [ 3%]
522test/test_applicationinstance.py::General::test_non_existing_process PASSED [ 3%]
523test/test_applicationinstance.py::General::test_pid_file_content PASSED [ 3%]
524test/test_applicationinstance.py::General::test_readPidFile PASSED [ 3%]
525test/test_applicationinstance.py::General::test_readPidFile_fail PASSED [ 3%]
526test/test_applicationinstance.py::General::test_thread_write_without_flock PASSED [ 4%]
527test/test_applicationinstance.py::General::test_write_pid_fail PASSED [ 4%]
528test/test_argparser.py::General::test_config PASSED [ 4%]
529test/test_argparser.py::General::test_config_no_path PASSED [ 4%]
530test/test_argparser.py::General::test_debug PASSED [ 5%]
531test/test_argparser.py::General::test_invalid_arg PASSED [ 5%]
532test/test_argparser.py::General::test_quiet PASSED [ 5%]
533test/test_argparser.py::Backup::test_backwards_compatiblity_alias PASSED [ 5%]
534test/test_argparser.py::Backup::test_multi_args PASSED [ 6%]
535test/test_argparser.py::Backup::test_profile PASSED [ 6%]
536test/test_argparser.py::Backup::test_profile_and_profile_id PASSED [ 6%]
537test/test_argparser.py::Backup::test_profile_id PASSED [ 6%]
538test/test_argparser.py::Backup::test_quiet PASSED [ 7%]
539test/test_argparser.py::Backup::test_simple PASSED [ 7%]
540test/test_argparser.py::Restore::test_empty_where PASSED [ 7%]
541test/test_argparser.py::Restore::test_local_backup_and_no_local_backup PASSED [ 7%]
542test/test_argparser.py::Restore::test_multi_args PASSED [ 7%]
543test/test_argparser.py::Restore::test_simple PASSED [ 8%]
544test/test_argparser.py::Restore::test_snapshot_id_index PASSED [ 8%]
545test/test_argparser.py::Restore::test_what_space_in_path PASSED [ 8%]
546test/test_argparser.py::Restore::test_what_where_snapshot_id PASSED [ 8%]
547test/test_argparser.py::Restore::test_what_where_snapshot_id_multi_args PASSED [ 9%]
548test/test_argparser.py::Restore::test_where_space_in_path PASSED [ 9%]
549test/test_backintime.py::BackInTime::test_diagnostics_arg PASSED [ 9%]
550test/test_backintime.py::BackInTime::test_local_snapshot_is_successful FAILED [ 9%]
551test/test_backintime.py::BackInTime::test_quiet_mode PASSED [ 10%]
552test/test_backup.py::TestBackup::test_already_running PASSED [ 10%]
553test/test_backup.py::TestBackup::test_backup PASSED [ 10%]
554test/test_backup.py::TestBackup::test_backup_async PASSED [ 10%]
555test/test_backup.py::TestBackup::test_backup_async_profile_2 PASSED [ 11%]
556test/test_backup.py::TestBackup::test_backup_async_with_checksum PASSED [ 11%]
557test/test_backup.py::TestBackup::test_cant_backup PASSED [ 11%]
558test/test_backup.py::TestBackup::test_mount_exception PASSED [ 11%]
559test/test_backup.py::TestBackup::test_no_backup_on_battery PASSED [ 11%]
560test/test_backup.py::TestBackup::test_no_changes PASSED [ 12%]
561test/test_backup.py::TestBackup::test_not_configured PASSED [ 12%]
562test/test_backup.py::TestBackup::test_plugin_prevented_backup PASSED [ 12%]
563test/test_backup.py::TestBackup::test_scheduled PASSED [ 12%]
564test/test_backup.py::TestBackup::test_takeSnapshot_exception_cleanup PASSED [ 13%]
565test/test_backup.py::TestBackup::test_umount_exception PASSED [ 13%]
566test/test_backup.py::TestBackup::test_with_errors PASSED [ 13%]
567test/test_config.py::RemoveOldSnapshotsDate::test_day PASSED [ 13%]
568test/test_config.py::RemoveOldSnapshotsDate::test_invalid_unit PASSED [ 14%]
569test/test_config.py::RemoveOldSnapshotsDate::test_week_always_monday PASSED [ 14%]
570test/test_config.py::RemoveOldSnapshotsDate::test_week_ignore_current PASSED [ 14%]
571test/test_config.py::RemoveOldSnapshotsDate::test_year_ignore_current_month PASSED [ 14%]
572test/test_config.py::SshCommand::test_cipher_aes256_cbc PASSED [ 14%]
573test/test_config.py::SshCommand::test_cipher_disabled PASSED [ 15%]
574test/test_config.py::SshCommand::test_custom_args PASSED [ 15%]
575test/test_config.py::SshCommand::test_disable_args PASSED [ 15%]
576test/test_config.py::SshCommand::test_full_command PASSED [ 15%]
577test/test_config.py::SshCommand::test_nice_and_ionice PASSED [ 16%]
578test/test_config.py::SshCommand::test_nice_and_ionice_without_command PASSED [ 16%]
579test/test_config.py::SshCommand::test_prefix PASSED [ 16%]
580test/test_config.py::SshCommand::test_prefix_false PASSED [ 16%]
581test/test_config.py::SshCommand::test_quote PASSED [ 17%]
582test/test_config.py::SshCommand::test_quote_without_command PASSED [ 17%]
583test/test_config.py::SshCommand::test_without_command PASSED [ 17%]
584test/test_config_crontab.py::Cron::test_cron_lines PASSED [ 17%]
585test/test_config_crontab.py::CrontabDebug::test_crontab_contains_debug PASSED [ 18%]
586test/test_config_crontab.py::CrontabDebug::test_crontab_without_debug PASSED [ 18%]
587test/test_configfile.py::TestConfigFile::test_boolValue PASSED [ 18%]
588test/test_configfile.py::TestConfigFile::test_boolValue_default PASSED [ 18%]
589test/test_configfile.py::TestConfigFile::test_hasKey PASSED [ 18%]
590test/test_configfile.py::TestConfigFile::test_intValue PASSED [ 19%]
591test/test_configfile.py::TestConfigFile::test_intValue_default PASSED [ 19%]
592test/test_configfile.py::TestConfigFile::test_listValue_bool PASSED [ 19%]
593test/test_configfile.py::TestConfigFile::test_listValue_default PASSED [ 19%]
594test/test_configfile.py::TestConfigFile::test_listValue_empty_list PASSED [ 20%]
595test/test_configfile.py::TestConfigFile::test_listValue_int PASSED [ 20%]
596test/test_configfile.py::TestConfigFile::test_listValue_invalid_type PASSED [ 20%]
597test/test_configfile.py::TestConfigFile::test_listValue_missing_values PASSED [ 20%]
598test/test_configfile.py::TestConfigFile::test_listValue_str PASSED [ 21%]
599test/test_configfile.py::TestConfigFile::test_listValue_tuple PASSED [ 21%]
600test/test_configfile.py::TestConfigFile::test_listValue_tuple_missing_values PASSED [ 21%]
601test/test_configfile.py::TestConfigFile::test_listValue_wrong_size PASSED [ 21%]
602test/test_configfile.py::TestConfigFile::test_listValue_zero_count PASSED [ 22%]
603test/test_configfile.py::TestConfigFile::test_load PASSED [ 22%]
604test/test_configfile.py::TestConfigFile::test_remapKey PASSED [ 22%]
605test/test_configfile.py::TestConfigFile::test_remapKeyRegex PASSED [ 22%]
606test/test_configfile.py::TestConfigFile::test_remove_key PASSED [ 22%]
607test/test_configfile.py::TestConfigFile::test_remove_keys_start_with PASSED [ 23%]
608test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]
609test/test_configfile.py::TestConfigFile::test_save PASSED [ 23%]
610test/test_configfile.py::TestConfigFile::test_setBoolValue PASSED [ 23%]
611test/test_configfile.py::TestConfigFile::test_setIntValue PASSED [ 24%]
612test/test_configfile.py::TestConfigFile::test_setListValue_bool PASSED [ 24%]
613test/test_configfile.py::TestConfigFile::test_setListValue_int PASSED [ 24%]
614test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]
615test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_value PASSED [ 25%]
616test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers PASSED [ 25%]
617test/test_configfile.py::TestConfigFile::test_setListValue_remove_leftovers_tuple PASSED [ 25%]
618test/test_configfile.py::TestConfigFile::test_setListValue_str PASSED [ 25%]
619test/test_configfile.py::TestConfigFile::test_setListValue_tuple PASSED [ 25%]
620test/test_configfile.py::TestConfigFile::test_setListValue_tuple_missing_values PASSED [ 26%]
621test/test_configfile.py::TestConfigFile::test_setStrValue PASSED [ 26%]
622test/test_configfile.py::TestConfigFile::test_strValue PASSED [ 26%]
623test/test_configfile.py::TestConfigFile::test_strValue_default PASSED [ 26%]
624test/test_configfile.py::TestConfigFileWithProfiles::test_addProfile PASSED [ 27%]
625test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile PASSED [ 27%]
626test/test_configfile.py::TestConfigFileWithProfiles::test_current_profile_by_name PASSED [ 27%]
627test/test_configfile.py::TestConfigFileWithProfiles::test_get_profile_key PASSED [ 27%]
628test/test_configfile.py::TestConfigFileWithProfiles::test_hasProfileKey PASSED [ 28%]
629test/test_configfile.py::TestConfigFileWithProfiles::test_load PASSED [ 28%]
630test/test_configfile.py::TestConfigFileWithProfiles::test_profileExists PASSED [ 28%]
631test/test_configfile.py::TestConfigFileWithProfiles::test_profileExistsByName PASSED [ 28%]
632test/test_configfile.py::TestConfigFileWithProfiles::test_profileName PASSED [ 29%]
633test/test_configfile.py::TestConfigFileWithProfiles::test_profiles PASSED [ 29%]
634test/test_configfile.py::TestConfigFileWithProfiles::test_profilesSortedByName PASSED [ 29%]
635test/test_configfile.py::TestConfigFileWithProfiles::test_remapProfileKey PASSED [ 29%]
636test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfile PASSED [ 29%]
637test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKey PASSED [ 30%]
638test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]
639test/test_configfile.py::TestConfigFileWithProfiles::test_setProfileName PASSED [ 30%]
640test/test_configfile.py::TestConfigFileWithProfiles::test_set_profile_value PASSED [ 30%]
641test/test_diagnostics.py::Diagnostics::test_content_minimal PASSED [ 31%]
642test/test_diagnostics.py::Diagnostics::test_no_extern_version PASSED [ 31%]
643test/test_diagnostics.py::Diagnostics::test_no_ressource_warning PASSED [ 31%]
644test/test_diagnostics.py::Diagnostics::test_replace_user_path PASSED [ 31%]
645test/test_diagnostics.py::Diagnostics::test_some_content PASSED [ 32%]
646test/test_encfstools.py::TestEncFS_mount::test_dummy PASSED [ 32%]
647test/test_encfstools.py::TestEncFS_mount::test_initialise_encfs PASSED [ 32%]
648test/test_languages.py::General::test_completeness_key_types PASSED [ 32%]
649test/test_languages.py::General::test_completeness_value_types PASSED [ 33%]
650test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 33%]
651test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset FAILED [ 33%]
652test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset FAILED [ 33%]
653test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset FAILED [ 33%]
654test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset FAILED [ 34%]
655test/test_lint.py::MirrorMirrorOnTheWall::test060_reuse SKIPPED (Usi...) [ 34%]
656test/test_mount.py::CheckLocks::test_foreign_lock PASSED [ 34%]
657test/test_mount.py::CheckLocks::test_foreign_lock_notexisting_pid PASSED [ 34%]
658test/test_mount.py::CheckLocks::test_ignore_own_lock PASSED [ 35%]
659test/test_mount.py::CheckLocks::test_lock_remove PASSED [ 35%]
660test/test_mount.py::CheckLocks::test_not_existing_dir PASSED [ 35%]
661test/test_mount.py::CheckLocks::test_own_lock_but_diff_tmpmount PASSED [ 35%]
662test/test_mount.py::CheckLocks::test_symlinks_remove PASSED [ 36%]
663test/test_mount.py::CheckHighLevelLocalMount::test_first_preMountCheck PASSED [ 36%]
664test/test_mount.py::CheckHighLevelLocalMount::test_initialised_preMountCheck PASSED [ 36%]
665test/test_mount.py::CheckHighLevelLocalMount::test_mount PASSED [ 36%]
666test/test_mount.py::CheckHighLevelLocalMount::test_remount_to_new_local_mount PASSED [ 37%]
667test/test_mount.py::CheckHighLevelLocalMount::test_umount PASSED [ 37%]
668test/test_plugin_usercallback.py::UserCallback::test_reason_appExit PASSED [ 37%]
669test/test_plugin_usercallback.py::UserCallback::test_reason_appStart PASSED [ 37%]
670test/test_plugin_usercallback.py::UserCallback::test_reason_error PASSED [ 37%]
671test/test_plugin_usercallback.py::UserCallback::test_reason_mount PASSED [ 38%]
672test/test_plugin_usercallback.py::UserCallback::test_reason_processBegin PASSED [ 38%]
673test/test_plugin_usercallback.py::UserCallback::test_reason_processEnd PASSED [ 38%]
674test/test_plugin_usercallback.py::UserCallback::test_reason_processnewSnapshot PASSED [ 38%]
675test/test_plugin_usercallback.py::UserCallback::test_reason_unmount PASSED [ 39%]
676test/test_plugin_usercallback.py::SystemTest::test_local_snapshot FAILED [ 39%]
677test/test_restore.py::TestRestore::test_backup PASSED [ 39%]
678test/test_restore.py::TestRestore::test_delete PASSED [ 39%]
679test/test_restore.py::TestRestore::test_no_backup PASSED [ 40%]
680test/test_restore.py::TestRestore::test_only_new PASSED [ 40%]
681test/test_restore.py::TestRestore::test_restore_folder_to_different_destination PASSED [ 40%]
682test/test_restore.py::TestRestore::test_restore_multiple_files PASSED [ 40%]
683test/test_restore.py::TestRestore::test_restore_to_different_destination PASSED [ 40%]
684test/test_restore.py::TestRestoreLocal::test_restore PASSED [ 41%]
685test/test_restore.py::TestRestoreLocal::test_restore_file_with_spaces PASSED [ 41%]
686test/test_restore.py::TestRestoreSSH::test_restore PASSED [ 41%]
687test/test_restore.py::TestRestoreSSH::test_restore_file_with_spaces PASSED [ 41%]
688test/test_schedule.py::Schedule::test_bit_to_crontab PASSED [ 42%]
689test/test_schedule.py::Schedule::test_remove_bit_entries PASSED [ 42%]
690test/test_sid.py::TestSID::test_displayID PASSED [ 42%]
691test/test_sid.py::TestSID::test_displayName PASSED [ 42%]
692test/test_sid.py::TestSID::test_equal_sid PASSED [ 43%]
693test/test_sid.py::TestSID::test_exists PASSED [ 43%]
694test/test_sid.py::TestSID::test_failed PASSED [ 43%]
695test/test_sid.py::TestSID::test_fileInfo PASSED [ 43%]
696test/test_sid.py::TestSID::test_fileInfoErrorRead PASSED [ 44%]
697test/test_sid.py::TestSID::test_fileInfoErrorWrite PASSED [ 44%]
698test/test_sid.py::TestSID::test_hash PASSED [ 44%]
699test/test_sid.py::TestSID::test_info PASSED [ 44%]
700test/test_sid.py::TestSID::test_isExistingPathInsideSnapshotFolder PASSED [ 44%]
701test/test_sid.py::TestSID::test_lastChecked PASSED [ 45%]
702test/test_sid.py::TestSID::test_log PASSED [ 45%]
703test/test_sid.py::TestSID::test_log_filter PASSED [ 45%]
704test/test_sid.py::TestSID::test_makeDirs PASSED [ 45%]
705test/test_sid.py::TestSID::test_makeWritable PASSED [ 46%]
706test/test_sid.py::TestSID::test_name PASSED [ 46%]
707test/test_sid.py::TestSID::test_new_object_with_invalid_type PASSED [ 46%]
708test/test_sid.py::TestSID::test_new_object_with_invalid_value PASSED [ 46%]
709test/test_sid.py::TestSID::test_new_object_with_valid_date PASSED [ 47%]
710test/test_sid.py::TestSID::test_path PASSED [ 47%]
711test/test_sid.py::TestSID::test_setLog_binary PASSED [ 47%]
712test/test_sid.py::TestSID::test_sort_sids PASSED [ 47%]
713test/test_sid.py::TestSID::test_split PASSED [ 48%]
714test/test_sid.py::TestSID::test_tag PASSED [ 48%]
715test/test_sid.py::TestSID::test_withoutTag PASSED [ 48%]
716test/test_sid.py::TestNewSnapshot::test_create_new PASSED [ 48%]
717test/test_sid.py::TestNewSnapshot::test_hasChanges PASSED [ 48%]
718test/test_sid.py::TestNewSnapshot::test_saveToContinue PASSED [ 49%]
719test/test_sid.py::TestRootSnapshot::test_create PASSED [ 49%]
720test/test_sid.py::TestRootSnapshot::test_path PASSED [ 49%]
721test/test_sid.py::TestIterSnapshots::test_iter_snapshots PASSED [ 49%]
722test/test_sid.py::TestIterSnapshots::test_lastSnapshot PASSED [ 50%]
723test/test_sid.py::TestIterSnapshots::test_list_invalid_snapshot PASSED [ 50%]
724test/test_sid.py::TestIterSnapshots::test_list_new_snapshot PASSED [ 50%]
725test/test_sid.py::TestIterSnapshots::test_list_not_reverse PASSED [ 50%]
726test/test_sid.py::TestIterSnapshots::test_list_snapshot_without_backup PASSED [ 51%]
727test/test_sid.py::TestIterSnapshots::test_list_symlink_last_snapshot PASSED [ 51%]
728test/test_sid.py::TestIterSnapshots::test_list_valid PASSED [ 51%]
729test/test_sid.py::TestIterSnapshots::test_list_without_new_snapshot PASSED [ 51%]
730test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_iterSnapshots PASSED [ 51%]
731test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_lastSnapshots PASSED [ 52%]
732test/test_sid.py::TestIterSnapshotsNonexistingSnapshotPath::test_listSnapshots PASSED [ 52%]
733test/test_singleton.py::Test::test_multi_class PASSED [ 52%]
734test/test_singleton.py::Test::test_share_value PASSED [ 52%]
735test/test_singleton.py::Test::test_twins PASSED [ 53%]
736test/test_snapshotlog.py::TestLogFilter::test_filter PASSED [ 53%]
737test/test_snapshotlog.py::TestSnapshotLog::test_append PASSED [ 53%]
738test/test_snapshotlog.py::TestSnapshotLog::test_append_log_level PASSED [ 53%]
739test/test_snapshotlog.py::TestSnapshotLog::test_get PASSED [ 54%]
740test/test_snapshotlog.py::TestSnapshotLog::test_get_filter PASSED [ 54%]
741test/test_snapshotlog.py::TestSnapshotLog::test_new PASSED [ 54%]
742test/test_snapshotlog.py::TestSnapshotLog::test_new_continue PASSED [ 54%]
743test/test_snapshotlog.py::TestSnapshotLog::test_skipLines PASSED [ 55%]
744test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_filtered PASSED [ 55%]
745test/test_snapshotlog.py::TestSnapshotLog::test_skipLines_show_all PASSED [ 55%]
746test/test_snapshots.py::SetTakeSnapshotMessage::test_error PASSED [ 55%]
747test/test_snapshots.py::SetTakeSnapshotMessage::test_info PASSED [ 55%]
748test/test_snapshots.py::UserAndGroups::test_gid_backup PASSED [ 56%]
749test/test_snapshots.py::UserAndGroups::test_gid_invalid PASSED [ 56%]
750test/test_snapshots.py::UserAndGroups::test_gid_valid PASSED [ 56%]
751test/test_snapshots.py::UserAndGroups::test_groupname_invalid PASSED [ 56%]
752test/test_snapshots.py::UserAndGroups::test_groupname_valid PASSED [ 57%]
753test/test_snapshots.py::UserAndGroups::test_uid_backup PASSED [ 57%]
754test/test_snapshots.py::UserAndGroups::test_uid_invalid PASSED [ 57%]
755test/test_snapshots.py::UserAndGroups::test_uid_valid PASSED [ 57%]
756test/test_snapshots.py::UserAndGroups::test_username_invalid PASSED [ 58%]
757test/test_snapshots.py::UserAndGroups::test_username_valid PASSED [ 58%]
758test/test_snapshots.py::HelperScripts::test_create_last_snapshot_symlink PASSED [ 58%]
759test/test_snapshots.py::HelperScripts::test_make_dirs PASSED [ 58%]
760test/test_snapshots.py::HelperScripts::test_rsync_remote_path PASSED [ 59%]
761test/test_snapshots.py::HelperScripts::test_stat_free_space_local PASSED [ 59%]
762test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_exclude_unique_items PASSED [ 59%]
763test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_root PASSED [ 59%]
764test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_include_unique_items PASSED [ 59%]
765test/test_snapshots.py::RsyncExcludeIncludeSuffix::test_rsync_suffix PASSED [ 60%]
766test/test_snapshots.py::Callbacks::test_callback PASSED [ 60%]
767test/test_snapshots.py::Callbacks::test_dir PASSED [ 60%]
768test/test_snapshots.py::Callbacks::test_error PASSED [ 60%]
769test/test_snapshots.py::Callbacks::test_keep_params PASSED [ 61%]
770test/test_snapshots.py::Callbacks::test_restore PASSED [ 61%]
771test/test_snapshots.py::Callbacks::test_transfer PASSED [ 61%]
772test/test_snapshots.py::SnapshotWithSID::test_backup_config PASSED [ 61%]
773test/test_snapshots.py::SnapshotWithSID::test_backup_info_file PASSED [ 62%]
774test/test_snapshots.py::SnapshotWithSID::test_backup_permissions FAILED [ 62%]
775test/test_snapshots.py::SnapshotWithSID::test_collect_permission PASSED [ 62%]
776test/test_snapshots.py::RestorePathInfo::test_change_group PASSED [ 62%]
777test/test_snapshots.py::RestorePathInfo::test_change_owner_without_root PASSED [ 62%]
778test/test_snapshots.py::RestorePathInfo::test_change_permissions PASSED [ 63%]
779test/test_snapshots.py::RestorePathInfo::test_no_changes PASSED [ 63%]
780test/test_snapshots.py::DeletePath::test_dir PASSED [ 63%]
781test/test_snapshots.py::DeletePath::test_dir_readonly PASSED [ 63%]
782test/test_snapshots.py::DeletePath::test_file PASSED [ 64%]
783test/test_snapshots.py::DeletePath::test_file_readonly PASSED [ 64%]
784test/test_snapshots.py::DeletePath::test_pardir_readonly PASSED [ 64%]
785test/test_snapshots.py::RemoveSnapshot::test_remove PASSED [ 64%]
786test/test_snapshots.py::RemoveSnapshot::test_remove_read_only PASSED [ 65%]
787test/test_snapshots.py::SshSnapshots::test_stat_free_space_ssh PASSED [ 65%]
788test/test_snapshots.py::SshPermissions::test_backup_permissions FAILED [ 65%]
789test/test_snapshots.py::SshRemoveSnapshots::test_remove PASSED [ 65%]
790test/test_snapshots.py::SshRemoveSnapshots::test_remove_with_blank PASSED [ 66%]
791test/test_snapshots_autoremove.py::KeepFirst::test_all_invalid PASSED [ 66%]
792test/test_snapshots_autoremove.py::KeepFirst::test_ignore_unhealthy PASSED [ 66%]
793test/test_snapshots_autoremove.py::KeepFirst::test_keep_first_range_outside PASSED [ 66%]
794test/test_snapshots_autoremove.py::KeepFirst::test_min_included_max_not PASSED [ 66%]
795test/test_snapshots_autoremove.py::KeepFirst::test_no_date_ordering PASSED [ 67%]
796test/test_snapshots_autoremove.py::KeepFirst::test_one_but_set PASSED [ 67%]
797test/test_snapshots_autoremove.py::KeepFirst::test_simple_one PASSED [ 67%]
798test/test_snapshots_autoremove.py::KeepAllForLast::test_border PASSED [ 67%]
799test/test_snapshots_autoremove.py::KeepAllForLast::test_simple PASSED [ 68%]
800test/test_snapshots_autoremove.py::KeepOneForLastNDays::test_doc_example PASSED [ 68%]
801test/test_snapshots_autoremove.py::KeepOneForLastNWeeks::test_doc_example PASSED [ 68%]
802test/test_snapshots_autoremove.py::KeepOneForLastNMonths::test_doc_example PASSED [ 68%]
803test/test_snapshots_autoremove.py::KeepOnePerYearForAllYears::test_doc_example PASSED [ 69%]
804test/test_snapshots_autoremove.py::IncDecMonths::test_dec_leap_months PASSED [ 69%]
805test/test_snapshots_autoremove.py::IncDecMonths::test_dec_simple PASSED [ 69%]
806test/test_snapshots_autoremove.py::IncDecMonths::test_dec_year PASSED [ 69%]
807test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_months PASSED [ 70%]
808test/test_snapshots_autoremove.py::IncDecMonths::test_inc_leap_year PASSED [ 70%]
809test/test_snapshots_autoremove.py::IncDecMonths::test_inc_next_year PASSED [ 70%]
810test/test_snapshots_autoremove.py::IncDecMonths::test_inc_simple PASSED [ 70%]
811test/test_sshtools.py::General::test_can_mount_ssh_rw PASSED [ 70%]
812test/test_sshtools.py::General::test_checkCipher_default PASSED [ 71%]
813test/test_sshtools.py::General::test_checkCipher_fail PASSED [ 71%]
814test/test_sshtools.py::General::test_checkCipher_specific PASSED [ 71%]
815test/test_sshtools.py::General::test_checkKnownHosts PASSED [ 71%]
816test/test_sshtools.py::General::test_checkKnownHosts_fail PASSED [ 72%]
817test/test_sshtools.py::General::test_checkLogin PASSED [ 72%]
818test/test_sshtools.py::General::test_checkLogin_fail_wrong_user PASSED [ 72%]
819test/test_sshtools.py::General::test_checkPingHost PASSED [ 72%]
820test/test_sshtools.py::General::test_checkPingHost_fail PASSED [ 73%]
821test/test_sshtools.py::General::test_checkRemoteFolder PASSED [ 73%]
822test/test_sshtools.py::General::test_checkRemoteFolder_fail_can_not_create PASSED [ 73%]
823test/test_sshtools.py::General::test_checkRemoteFolder_fail_not_a_folder PASSED [ 73%]
824test/test_sshtools.py::General::test_checkRemoteFolder_with_spaces PASSED [ 74%]
825test/test_sshtools.py::General::test_check_remote_command PASSED [ 74%]
826test/test_sshtools.py::General::test_check_remote_command_fail PASSED [ 74%]
827test/test_sshtools.py::General::test_check_remote_command_hard_link_fail PASSED [ 74%]
828test/test_sshtools.py::General::test_check_remote_command_with_spaces PASSED [ 74%]
829test/test_sshtools.py::General::test_randomId PASSED [ 75%]
830test/test_sshtools.py::General::test_unlockSshAgent PASSED [ 75%]
831test/test_sshtools.py::General::test_unlockSshAgent_fail PASSED [ 75%]
832test/test_sshtools.py::SshKey::test_fingerprint PASSED [ 75%]
833test/test_sshtools.py::SshKey::test_generate PASSED [ 76%]
834test/test_sshtools.py::SshKey::test_host_key PASSED [ 76%]
835test/test_sshtools.py::SshKey::test_write_known_host_file PASSED [ 76%]
836test/test_sshtools.py::StartSshAgent::test_equal_sign PASSED [ 76%]
837test/test_sshtools.py::StartSshAgent::test_error PASSED [ 77%]
838test/test_sshtools.py::StartSshAgent::test_export PASSED [ 77%]
839test/test_sshtools.py::StartSshAgent::test_just_start PASSED [ 77%]
840test/test_sshtools.py::StartSshAgent::test_missing PASSED [ 77%]
841test/test_sshtools.py::StartSshAgent::test_space PASSED [ 77%]
842test/test_sshtools.py::SSHCopyID::test_complete_command PASSED [ 78%]
843test/test_sshtools.py::SSHCopyID::test_custom_port PASSED [ 78%]
844test/test_sshtools.py::SSHCopyID::test_default_port PASSED [ 78%]
845test/test_sshtools.py::SSHCopyID::test_proxy_with_custom_port PASSED [ 78%]
846test/test_sshtools.py::SSHCopyID::test_proxy_with_default_port PASSED [ 79%]
847test/test_takeSnapshot.py::Take::test_error FAILED [ 79%]
848test/test_takeSnapshot.py::Take::test_error_without_continue PASSED [ 79%]
849test/test_takeSnapshot.py::Take::test_exclude FAILED [ 79%]
850test/test_takeSnapshot.py::Take::test_fail_create_new_snapshot PASSED [ 80%]
851test/test_takeSnapshot.py::Take::test_four_snapshots FAILED [ 80%]
852test/test_takeSnapshot.py::Take::test_new_exists FAILED [ 80%]
853test/test_takeSnapshot.py::Take::test_new_exists_continue FAILED [ 80%]
854test/test_takeSnapshot.py::Take::test_spaces_in_exclude FAILED [ 81%]
855test/test_takeSnapshot.py::Take::test_spaces_in_include FAILED [ 81%]
856test/test_takeSnapshot.py::TakeSSH::test_error FAILED [ 81%]
857test/test_takeSnapshot.py::TakeSSH::test_error_without_continue PASSED [ 81%]
858test/test_takeSnapshot.py::TakeSSH::test_exclude FAILED [ 81%]
859test/test_takeSnapshot.py::TakeSSH::test_fail_create_new_snapshot PASSED [ 82%]
860test/test_takeSnapshot.py::TakeSSH::test_four_snapshots FAILED [ 82%]
861test/test_takeSnapshot.py::TakeSSH::test_new_exists FAILED [ 82%]
862test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue FAILED [ 82%]
863test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude FAILED [ 83%]
864test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include FAILED [ 83%]
865test/test_tools.py::TestTools::test_addSourceToPathEnviron PASSED [ 83%]
866test/test_tools.py::TestTools::test_backintimePath PASSED [ 83%]
867test/test_tools.py::TestTools::test_checkCommand PASSED [ 84%]
868test/test_tools.py::TestTools::test_checkCronPattern PASSED [ 84%]
869test/test_tools.py::TestTools::test_checkXServer PASSED [ 84%]
870test/test_tools.py::TestTools::test_decodeOctalEscape PASSED [ 84%]
871test/test_tools.py::TestTools::test_isRoot PASSED [ 85%]
872test/test_tools.py::TestTools::test_makeDirs PASSED [ 85%]
873test/test_tools.py::TestTools::test_makeDirs_not_writable PASSED [ 85%]
874test/test_tools.py::TestTools::test_md5sum PASSED [ 85%]
875test/test_tools.py::TestTools::test_mkdir PASSED [ 85%]
876test/test_tools.py::TestTools::test_mountArgs PASSED [ 86%]
877test/test_tools.py::TestTools::test_mountpoint PASSED [ 86%]
878test/test_tools.py::TestTools::test_patternHasNotEncryptableWildcard PASSED [ 86%]
879test/test_tools.py::TestTools::test_pids PASSED [ 86%]
880test/test_tools.py::TestTools::test_pidsWithName PASSED [ 87%]
881test/test_tools.py::TestTools::test_powerStatusAvailable PASSED [ 87%]
882test/test_tools.py::TestTools::test_preparePath PASSED [ 87%]
883test/test_tools.py::TestTools::test_processAlive PASSED [ 87%]
884test/test_tools.py::TestTools::test_processCmdline PASSED [ 88%]
885test/test_tools.py::TestTools::test_processCmdline_exception PASSED [ 88%]
886test/test_tools.py::TestTools::test_processExists PASSED [ 88%]
887test/test_tools.py::TestTools::test_processName PASSED [ 88%]
888test/test_tools.py::TestTools::test_processPaused PASSED [ 88%]
889test/test_tools.py::TestTools::test_processStat PASSED [ 89%]
890test/test_tools.py::TestTools::test_processStat_exception PASSED [ 89%]
891test/test_tools.py::TestTools::test_readFile PASSED [ 89%]
892test/test_tools.py::TestTools::test_readFileLines PASSED [ 89%]
893test/test_tools.py::TestTools::test_readTimeStamp PASSED [ 90%]
894test/test_tools.py::TestTools::test_registerBackintimePath PASSED [ 90%]
895test/test_tools.py::TestTools::test_rsyncCaps PASSED [ 90%]
896test/test_tools.py::TestTools::test_runningFromSource PASSED [ 90%]
897test/test_tools.py::TestTools::test_sharePath PASSED [ 91%]
898test/test_tools.py::TestTools::test_splitCommands PASSED [ 91%]
899test/test_tools.py::TestTools::test_usingSudo PASSED [ 91%]
900test/test_tools.py::TestTools::test_which PASSED [ 91%]
901test/test_tools.py::TestTools::test_writeTimeStamp PASSED [ 92%]
902test/test_tools.py::EscapeIPv6::test_escaped PASSED [ 92%]
903test/test_tools.py::EscapeIPv6::test_invalid PASSED [ 92%]
904test/test_tools.py::EscapeIPv6::test_passed PASSED [ 92%]
905test/test_tools.py::Environ::test_envLoad_do_not_overwrite_previous_values PASSED [ 92%]
906test/test_tools.py::Environ::test_envLoad_without_previous_values PASSED [ 93%]
907test/test_tools.py::Environ::test_envSave PASSED [ 93%]
908test/test_tools.py::ExecuteSubprocess::test_callback PASSED [ 93%]
909test/test_tools.py::ExecuteSubprocess::test_pausable PASSED [ 93%]
910test/test_tools.py::ExecuteSubprocess::test_returncode PASSED [ 94%]
911test/test_tools.py::Tools_FakeFS::test_git_repo_info PASSED [ 94%]
912test/test_tools.py::Tools_FakeFS::test_git_repo_info_none PASSED [ 94%]
913test/test_tools.py::ValidateSnapshotsPath::test_fails_on_ro PASSED [ 94%]
914test/test_tools.py::ValidateSnapshotsPath::test_permission_fail PASSED [ 95%]
915test/test_tools.py::ValidateSnapshotsPath::test_writes PASSED [ 95%]
916test/test_tools.py::OlderThan::test_days_not_older PASSED [ 95%]
917test/test_tools.py::OlderThan::test_days_older PASSED [ 95%]
918test/test_tools.py::OlderThan::test_hours_not_older PASSED [ 96%]
919test/test_tools.py::OlderThan::test_hours_older PASSED [ 96%]
920test/test_tools.py::OlderThan::test_month_31th PASSED [ 96%]
921test/test_tools.py::OlderThan::test_month_31th_plus_ms PASSED [ 96%]
922test/test_tools.py::OlderThan::test_month_next_year PASSED [ 96%]
923test/test_tools.py::OlderThan::test_month_next_year_plus_ms PASSED [ 97%]
924test/test_tools.py::OlderThan::test_month_not_older PASSED [ 97%]
925test/test_tools.py::OlderThan::test_month_older PASSED [ 97%]
926test/test_tools.py::OlderThan::test_week_not_older PASSED [ 97%]
927test/test_tools.py::OlderThan::test_week_older PASSED [ 98%]
928test/test_tools.py::NestedDictUpdate::test_simple PASSED [ 98%]
929test/test_uniquenessset.py::General::test_001_depency_workaround SKIPPED [ 98%]
930test/test_uniquenessset.py::General::test_ctor_defaults PASSED [ 98%]
931test/test_uniquenessset.py::General::test_deep_check PASSED [ 99%]
932test/test_uniquenessset.py::General::test_fail_equal_without_equal_to PASSED [ 99%]
933test/test_uniquenessset.py::General::test_size_mtime PASSED [ 99%]
934test/test_uniquenessset.py::General::test_unique_myself PASSED [ 99%]
935test/test_uniquenessset.py::General::test_unique_size_but_different_mtime PASSED [100%]
937=================================== FAILURES ===================================
938_________________ BackInTime.test_local_snapshot_is_successful _________________
940self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>
942 def test_local_snapshot_is_successful(self):
943 """From BIT initialization through snapshot
945 From BIT initialization all the way through successful snapshot on a
946 local mount. test one of the highest level interfaces a user could
947 work with - the command line ensures that argument parsing,
948 functionality, and output all work as expected is NOT intended to
949 replace individual method tests, which are incredibly useful as well.
951 Development notes (by Buhtz, 2023):
952 Multiple tests do compare return codes and output on stdout. It is NOT
953 tested what is on the file system. The intention might be a system
954 test. But the asserts not qualified to answer the important questions
955 and observe the intended behavior. Heavy refactoring is needed. But
956 because of the "level" of that tests it won't happen in the near
957 future. Also maintenance costs of this tests are damn high because
958 every tiny modification of BIT gives a false fail of this test.
960 Development notes (by Buhtz, 2024-05):
961 It is just dumb stdout parsing. I tend to remove this test because of
962 the calculation of its value and its maintenance costs.
963 """
965 # ensure that we see full diffs of assert output if there are any
966 self.maxDiff = None
968 # create pristine source directory with single file
969 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")
970 os.mkdir('/tmp/test')
972 with open('/tmp/test/testfile', 'w') as f:
973 f.write('some data')
975 # create pristine snapshot directory
976 subprocess.getoutput(
977 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")
978 os.mkdir('/tmp/snapshots')
980 # remove restored directory
981 subprocess.getoutput("rm -rf /tmp/restored")
983 # install proper destination filesystem structure and verify output
984 proc = subprocess.Popen(["./backintime",
985 "--config",
986 "test/config",
987 "--share-path",
988 self.sharePath,
989 "check-config",
990 # do not overwrite users crontab
991 "--no-crontab"],
992 stdout=subprocess.PIPE,
993 stderr=subprocess.PIPE)
995 output, error = proc.communicate()
996 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
997 .format(proc.returncode, error.decode(), output.decode())
999 self.assertEqual(proc.returncode, 0, msg)
1001 self.assertRegex(output.decode(), re.compile(r'''
1002 Back In Time
1003 Version: \d+.\d+.\d+.*
1005 Back In Time comes with ABSOLUTELY NO WARRANTY.
1006 This is free software, and you are welcome to redistribute it
1007 under certain conditions; type `backintime --license' for details.
1009 (INFO: Update to config version \d+
1010 )?
1011 \+--------------------------------\+
1012 | Check/prepare snapshot path |
1013 \+--------------------------------\+
1014 Check/prepare snapshot path: done
1016 \+--------------------------------\+
1017 | Check config |
1018 \+--------------------------------\+
1019 Check config: done
1021 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))
1023 # execute backup and verify output
1024 proc = subprocess.Popen(["./backintime",
1025 "--config", "test/config",
1026 "--share-path", self.sharePath,
1027 "backup"],
1028 stdout=subprocess.PIPE,
1029 stderr=subprocess.PIPE)
1030 output, error = proc.communicate()
1031 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \
1032 .format(proc.returncode, error.decode(), output.decode())
1033> self.assertEqual(proc.returncode, 0, msg)
1034E AssertionError: 1 != 0 : Returncode: 1
1035E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1036E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1037E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1038E INFO: Lock
1039E INFO: Take a new snapshot. Profile: 1 Main profile
1040E INFO: Call rsync to take the snapshot
1041E INFO: Save config file
1042E INFO: Save permissions
1043E Traceback (most recent call last):
1044E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
1045E startApp()
1046E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
1047E args.func(args)
1048E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
1049E ret = takeSnapshot(cfg, force)
1050E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
1051E ret = snapshots.Snapshots(cfg).backup(force)
1052E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
1053E ret_val, ret_error = self.takeSnapshot(
1054E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
1055E self.backupPermissions(new_snapshot)
1056E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
1057E decode = encfstools.Bounce()
1058E AttributeError: module 'encfstools' has no attribute 'Bounce'
1060E stdout:
1061E Back In Time
1062E Version: 1.5.4-rc1
1064E Back In Time comes with ABSOLUTELY NO WARRANTY.
1065E This is free software, and you are welcome to redistribute it
1066E under certain conditions; type `backintime --license' for details.
1068test/test_backintime.py:124: AssertionError
1069______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________
1071self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>
1073 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))
1074 def test010_ruff_default_ruleset(self):
1075 """Ruff in default mode."""
1077 # ATTENTIION: Some settings are found in pyproject.toml
1078 cmd = [
1079 'ruff',
1080 'check',
1081 # Additionally activate subset of special rules:
1082 # - PyLint (PL)
1083 # - PyCodestyle (E, W)
1084 # - flake8-gettext (INT)
1085 # - useless noqua (RUF100)
1086 '--extend-select=PL,E,W,INT,RUF100',
1087 # Ignore: redefined-loop-name
1088 '--ignore=PLW2901',
1089 '--line-length', str(PEP8_MAX_LINE_LENGTH),
1090 # Because of globally installed GNU gettext functions
1091 '--config', 'builtins=["_", "ngettext"]',
1092 # Ruff counting branches different from PyLint.
1093 # See: <https://www.reddit.com/r/learnpython/comments/
1094 # 1buojae/comment/kxu0mp3>
1095 '--config', 'pylint.max-branches=13',
1096 '--config', 'flake8-quotes.inline-quotes = "single"',
1097 # one error per line (no context lines)
1098 '--output-format=concise',
1099 '--quiet',
1102 cmd.extend(full_test_files)
1104 proc = subprocess.run(
1105 cmd,
1106 check=False,
1107 universal_newlines=True,
1108 capture_output=True
1111 # No errors other then linter rules
1112 self.assertIn(proc.returncode, [0, 1], proc.stderr)
1114 error_n = len(proc.stdout.splitlines())
1115 if error_n > 0:
1116 print(proc.stdout)
1118> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')
1119E AssertionError: 0 != 1 : Ruff found 1 problem(s).
1121test/test_lint.py:229: AssertionError
1122----------------------------- Captured stdout call -----------------------------
1123test/test_mount.py:205:80: E501 Line too long (89 > 79)
1125_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________
1127self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>
1129 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))
1130 def test020_flake8_default_ruleset(self):
1131 """Flake8 in default mode."""
1132 cmd = [
1133 'flake8',
1134 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',
1135 '--builtins=_,ngettext',
1136 # '--enable-extensions='
1139 cmd.extend(full_test_files)
1141 proc = subprocess.run(
1142 cmd,
1143 check=False,
1144 universal_newlines=True,
1145 capture_output=True
1148 error_n = len(proc.stdout.splitlines())
1149 if error_n > 0:
1150 print(proc.stdout)
1152> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')
1153E AssertionError: 0 != 2 : Flake8 found 2 problem(s).
1155test/test_lint.py:257: AssertionError
1156----------------------------- Captured stdout call -----------------------------
1157/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)
1158/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)
1160_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________
1162self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>
1164 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1165 def test030_pylint_default_ruleset(self):
1166 """Use Pylint with all default rules to check specific files.
1167 """
1169 cmd = create_pylint_cmd()
1171 # Add py-files
1172 cmd.extend(full_test_files)
1174 r = subprocess.run(
1175 cmd,
1176 check=False,
1177 universal_newlines=True,
1178 capture_output=True)
1180 # Count lines except module headings
1181 error_n = len(list(filter(lambda line: not line.startswith('*****'),
1182 r.stdout.splitlines())))
1183 print(r.stdout)
1185> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1186E AssertionError: 0 != 8 : PyLint found 8 problems.
1188test/test_lint.py:283: AssertionError
1189----------------------------- Captured stdout call -----------------------------
1190************* Module test.test_mount
1191test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)
1192test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)
1193test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1194test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)
1195test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)
1196test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)
1197test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)
1198test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)
1200____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________
1202self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>
1204 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))
1205 def test050_pylint_exclusive_ruleset(self):
1206 """Use Pylint to check for specific rules only.
1208 Some facts about PyLint
1209 - It is one of the slowest available linters.
1210 - It is able to catch lints other linters miss.
1211 """
1213 # Explicit activate checks
1214 err_codes = [
1215 'C0305', # trailing-newlines
1216 'C0325', # superfluous-parens
1217 'C0410', # multiple-imports
1218 'C0303', # trailing-whitespace
1219 'E0100', # init-is-generator
1220 'E0101', # return-in-init
1221 'E0102', # function-redefined
1222 'E0103', # not-in-loop
1223 'E0106', # return-arg-in-generator
1224 'E0213', # no-self-argument
1225 'E0401', # import-error
1226 'E0602', # undefined-variable
1227 'E1101', # no-member
1228 'I0021', # useless-suppression
1229 'W0123', # eval-used
1230 'W0237', # arguments-renamed
1231 'W0311', # bad-indentation
1232 'W0404', # reimported
1233 'W0611', # unused-import
1234 'W0612', # unused-variable
1235 'W0614', # unused-wildcard-import
1236 'W0707', # raise-missing-from
1237 'W1301', # unused-format-string-key
1238 'W1401', # anomalous-backslash-in-string (invalid escape sequence)
1239 'W1515', # forgotten-debug-statement
1240 'W4902', # deprecated-method
1241 'W4904', # deprecated-class
1242 'R0202', # no-classmethod-decorator
1243 'R0203', # no-staticmethod-decorator
1244 # See PyLint bugs:
1245 # https://github.com/pylint-dev/pylint/issues/214
1246 # https://github.com/pylint-dev/pylint/issues/7920
1247 # 'R0801', # duplicate-code
1249 # Enable asap. This list is a selection of existing (not all!)
1250 # problems currently existing in the BIT code base. Quite easy to
1251 # fix because their count is low.
1252 # 'W0237', # arguments-renamed
1253 # 'W0221', # arguments-differ
1254 # 'W0603', # global-statement
1257 cmd = create_pylint_cmd(err_codes)
1259 # Add py-files
1260 cmd.extend(self._collect_py_files())
1262 r = subprocess.run(
1263 cmd,
1264 check=False,
1265 universal_newlines=True,
1266 capture_output=True)
1268 # Count lines except module headings and output about duplicate code
1269 error_n = len(list(filter(
1270 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),
1271 r.stdout.splitlines())))
1272 print(r.stdout)
1274> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')
1275E AssertionError: 0 != 2 : PyLint found 2 problems.
1277test/test_lint.py:358: AssertionError
1278----------------------------- Captured stdout call -----------------------------
1279************* Module snapshots
1280snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)
1281************* Module test.test_encfstools
1282test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)
1284________________________ SystemTest.test_local_snapshot ________________________
1286self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>
1288 def test_local_snapshot(self):
1289 """User-callback response while doing a local snapshot"""
1291 config = Config(
1292 config_path=str(self.config_fp),
1293 data_path=str(self.temp_path / '.local' / 'share')
1296 full_snapshot_path = config.snapshotsFullPath()
1297 Path(full_snapshot_path).mkdir(parents=True)
1299 snapshot = Snapshots(config)
1301 # DevNote : Because BIT don't use Python's logging module there is
1302 # no way to use assertLogs(). Current solution is to capture
1303 # stdout/stderr.
1304 stdout = io.StringIO()
1305 stderr = io.StringIO()
1307 with redirect_stdout(stdout), redirect_stderr(stderr):
1308 # Result is inverted. 'True' means there was an error.
1309> self.assertFalse(snapshot.backup())
1311test/test_plugin_usercallback.py:288:
1312_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1313snapshots.py:896: in backup
1314 ret_val, ret_error = self.takeSnapshot(
1315snapshots.py:1493: in takeSnapshot
1316 self.backupPermissions(new_snapshot)
1317_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1319self = <snapshots.Snapshots object at 0x7bc47683d480>, sid = new_snapshot
1321 def backupPermissions(self, sid):
1322 """
1323 Save permissions (owner, group, read-, write- and executable)
1324 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1326 Args:
1327 sid (SID): snapshot that should be scanned
1329 Returns:
1330 int: Return code of rsync.
1331 """
1332 logger.info('Save permissions', self)
1333 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1335 fileInfoDict = FileInfoDict()
1337 if self.config.snapshotsMode() == 'ssh_encfs':
1338 decode = encfstools.Decode(self.config, False)
1339 else:
1340> decode = encfstools.Bounce()
1341E AttributeError: module 'encfstools' has no attribute 'Bounce'
1343snapshots.py:1182: AttributeError
1344----------------------------- Captured stderr call -----------------------------
1345DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1346WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1347WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1348WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1349DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1350DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1351___________________ SnapshotWithSID.test_backup_permissions ____________________
1353self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>
1355 def test_backup_permissions(self):
1356 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)
1357 infoFilePath = os.path.join(self.snapshotPath,
1358 '20151219-010324-123',
1359 'fileinfo.bz2')
1361 include = self.cfg.include()[0][0]
1362 with TemporaryDirectory(dir = include) as tmp:
1364 file_path = os.path.join(tmp, 'foo')
1365 with open(file_path, 'wt') as f:
1366 f.write('bar')
1367 f.flush()
1369 self.sid.makeDirs(tmp)
1370 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:
1371 snapshot_f.write('bar')
1372 snapshot_f.flush()
1374> self.sn.backupPermissions(self.sid)
1376test/test_snapshots.py:347:
1377_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1379self = <snapshots.Snapshots object at 0x7bc474fdf640>, sid = 20151219-010324-123
1381 def backupPermissions(self, sid):
1382 """
1383 Save permissions (owner, group, read-, write- and executable)
1384 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1386 Args:
1387 sid (SID): snapshot that should be scanned
1389 Returns:
1390 int: Return code of rsync.
1391 """
1392 logger.info('Save permissions', self)
1393 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1395 fileInfoDict = FileInfoDict()
1397 if self.config.snapshotsMode() == 'ssh_encfs':
1398 decode = encfstools.Decode(self.config, False)
1399 else:
1400> decode = encfstools.Bounce()
1401E AttributeError: module 'encfstools' has no attribute 'Bounce'
1403snapshots.py:1182: AttributeError
1404----------------------------- Captured stderr call -----------------------------
1405DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1406WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1407WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1408WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1409DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1410DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1411INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1412____________________ SshPermissions.test_backup_permissions ____________________
1414self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>
1416 def test_backup_permissions(self):
1417 """Backup file permissions in SSH backup mode."""
1419 # --- prepare environment ---
1421 # config instance
1422 cfg = _init_basic_config()
1423 # snapshots profile
1424 snapshot = _init_ssh_profile(cfg)
1425 # backup source directory
1426 _init_source_path(cfg)
1427 # simulate a taken snapshot
1428 sid = _init_concrete_snapshot(cfg)
1430 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand
1431 # all details yet.
1432 # mount
1433 mount_obj = _init_mounting(cfg)
1434 # ...unmount when test finished
1435 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))
1437 # --- prepare the backup source ---
1439 # Does the concrete snapshot exists?
1440 self.assertTrue(sid.exists())
1442 # The backup source path
1443 # e.g. /tmp/e2uij3y
1444 source_path = pathlib.Path(cfg.include()[0][0])
1445 # ...exists?
1446 self.assertTrue(source_path.exists())
1448 # create the test files in the backup source directory
1449 generic.create_test_files(str(source_path))
1451 # --- Do the job to test. ---
1453 # backup permissions of files/folders in the backup source
1454> rc = snapshot.backupPermissions(sid)
1456test/test_snapshots.py:862:
1457_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1459self = <snapshots.Snapshots object at 0x7bc474eebc70>, sid = 20151219-010324-123
1461 def backupPermissions(self, sid):
1462 """
1463 Save permissions (owner, group, read-, write- and executable)
1464 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1466 Args:
1467 sid (SID): snapshot that should be scanned
1469 Returns:
1470 int: Return code of rsync.
1471 """
1472 logger.info('Save permissions', self)
1473 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1475 fileInfoDict = FileInfoDict()
1477 if self.config.snapshotsMode() == 'ssh_encfs':
1478 decode = encfstools.Decode(self.config, False)
1479 else:
1480> decode = encfstools.Bounce()
1481E AttributeError: module 'encfstools' has no attribute 'Bounce'
1483snapshots.py:1182: AttributeError
1484----------------------------- Captured stderr call -----------------------------
1485DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1486WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1487WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1488WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1489DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1490DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1491DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
1492DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
1493DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
1494DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
1495DEBUG: [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']
1496DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
1497DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
1498DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
1499DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
1500DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
1501DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
1502ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
1503DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1504DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1505DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/5456.lock
1506DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
1507DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
1508DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
1509DEBUG: [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']
1510DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
1511DEBUG: [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/DESTINATIONDIRparentva98__kv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentva98__kv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 13;exit 20']
1512DEBUG: [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/DESTINATIONDIRparentva98__kv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentva98__kv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentva98__kv/foo" || exit 13;exit 20
1513DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
1514DEBUG: [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/DESTINATIONDIRparentva98__kv/foo /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/mountpoint
1515DEBUG: [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/DESTINATIONDIRparentva98__kv/foo', '/tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/mountpoint'].
1516INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparentva98__kv/foo on /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/mountpoint
1517DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/locks/5456.lock
1518DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/5456.lock
1519INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1520DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
1521ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
1522DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
1523DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
1524DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/5456.lock
1525INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparentva98__kv/foo from /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/mountpoint
1526DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/2C3F2B11/locks/5456.lock
1527DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRcwbc3k7s/.local/share/backintime/mnt/5456.lock
1528_______________________________ Take.test_error ________________________________
1530self = <test.test_takeSnapshot.Take testMethod=test_error>
1531sleep = <MagicMock name='sleep' id='136083703099696'>
1533 @patch('time.sleep') # speed up unittest
1534 def test_error(self, sleep):
1535 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1536 now = datetime.today()
1537 sid1 = snapshots.SID(now, self.cfg)
1539> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1541test/test_takeSnapshot.py:182:
1542_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1543snapshots.py:1493: in takeSnapshot
1544 self.backupPermissions(new_snapshot)
1545_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1547self = <snapshots.Snapshots object at 0x7bc474c87250>, sid = new_snapshot
1549 def backupPermissions(self, sid):
1550 """
1551 Save permissions (owner, group, read-, write- and executable)
1552 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1554 Args:
1555 sid (SID): snapshot that should be scanned
1557 Returns:
1558 int: Return code of rsync.
1559 """
1560 logger.info('Save permissions', self)
1561 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1563 fileInfoDict = FileInfoDict()
1565 if self.config.snapshotsMode() == 'ssh_encfs':
1566 decode = encfstools.Decode(self.config, False)
1567 else:
1568> decode = encfstools.Bounce()
1569E AttributeError: module 'encfstools' has no attribute 'Bounce'
1571snapshots.py:1182: AttributeError
1572----------------------------- Captured stderr call -----------------------------
1573DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1574WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1575WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1576WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1577DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1578DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1579INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1580DEBUG: [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/tmppkxwi319 --exclude=/tmp/tmpttvg2luz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplrgmfsjo/ --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/tmplrgmfsjo/** --exclude=* / /tmp/tmppkxwi319/backintime/test-host/test-user/1/new_snapshot/backup"
1581DEBUG: [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/tmppkxwi319 --exclude=/tmp/tmpttvg2luz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplrgmfsjo/ --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/tmplrgmfsjo/** --exclude=* / /tmp/tmppkxwi319/backintime/test-host/test-user/1/new_snapshot/backup'
1582WARNING: [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/tmppkxwi319 --exclude=/tmp/tmpttvg2luz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplrgmfsjo/ --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/tmplrgmfsjo/** --exclude=* / /tmp/tmppkxwi319/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
1583INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1584INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1585______________________________ Take.test_exclude _______________________________
1587self = <test.test_takeSnapshot.Take testMethod=test_exclude>
1588sleep = <MagicMock name='sleep' id='136083700587952'>
1590 @patch('time.sleep') # speed up unittest
1591 def test_exclude(self, sleep):
1592 now = datetime.today()
1593 sid1 = snapshots.SID(now, self.cfg)
1594 self.cfg.setExclude(['bar/baz'])
1596> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1598test/test_takeSnapshot.py:138:
1599_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1600snapshots.py:1493: in takeSnapshot
1601 self.backupPermissions(new_snapshot)
1602_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1604self = <snapshots.Snapshots object at 0x7bc474a21810>, sid = new_snapshot
1606 def backupPermissions(self, sid):
1607 """
1608 Save permissions (owner, group, read-, write- and executable)
1609 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1611 Args:
1612 sid (SID): snapshot that should be scanned
1614 Returns:
1615 int: Return code of rsync.
1616 """
1617 logger.info('Save permissions', self)
1618 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1620 fileInfoDict = FileInfoDict()
1622 if self.config.snapshotsMode() == 'ssh_encfs':
1623 decode = encfstools.Decode(self.config, False)
1624 else:
1625> decode = encfstools.Bounce()
1626E AttributeError: module 'encfstools' has no attribute 'Bounce'
1628snapshots.py:1182: AttributeError
1629----------------------------- Captured stderr call -----------------------------
1630DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1631WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1632WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1633WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1634DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1635DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1636INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1637DEBUG: [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/tmpwl4o3fxj --exclude=/tmp/tmp93zrtfcj/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp6dsa_vri/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp6dsa_vri/** --exclude=* / /tmp/tmpwl4o3fxj/backintime/test-host/test-user/1/new_snapshot/backup"
1638DEBUG: [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/tmpwl4o3fxj --exclude=/tmp/tmp93zrtfcj/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp6dsa_vri/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp6dsa_vri/** --exclude=* / /tmp/tmpwl4o3fxj/backintime/test-host/test-user/1/new_snapshot/backup'
1639DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
1640INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1641INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1642___________________________ Take.test_four_snapshots ___________________________
1644self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>
1645sleep = <MagicMock name='sleep' id='136083703192960'>
1647 @patch('time.sleep') # speed up unittest
1648 def test_four_snapshots(self, sleep):
1649 now = datetime.today() - timedelta(minutes = 6)
1650 sid1 = snapshots.SID(now, self.cfg)
1652 # Note: 'self.sn' is of type 'Snapshots'
1653 # First boolean: Snapshot succeeded
1654 # Second boolean: Error occurred
1655 self.assertListEqual(
1656 [True, False], # Snapshot without error
1657> self.sn.takeSnapshot(
1658 sid=sid1,
1659 now=now,
1660 include_folders=[
1661 (self.include.name, 0), # '0' means it is a file
1666test/test_takeSnapshot.py:51:
1667_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1668snapshots.py:1493: in takeSnapshot
1669 self.backupPermissions(new_snapshot)
1670_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1672self = <snapshots.Snapshots object at 0x7bc474e218a0>, sid = new_snapshot
1674 def backupPermissions(self, sid):
1675 """
1676 Save permissions (owner, group, read-, write- and executable)
1677 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1679 Args:
1680 sid (SID): snapshot that should be scanned
1682 Returns:
1683 int: Return code of rsync.
1684 """
1685 logger.info('Save permissions', self)
1686 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1688 fileInfoDict = FileInfoDict()
1690 if self.config.snapshotsMode() == 'ssh_encfs':
1691 decode = encfstools.Decode(self.config, False)
1692 else:
1693> decode = encfstools.Bounce()
1694E AttributeError: module 'encfstools' has no attribute 'Bounce'
1696snapshots.py:1182: AttributeError
1697----------------------------- Captured stderr call -----------------------------
1698DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1699WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1700WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1701WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1702DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1703DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1704INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1705DEBUG: [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/tmp7jqkbyge --exclude=/tmp/tmpuq4vi37f/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp1w1ga88q/ --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/tmp1w1ga88q/** --exclude=* / /tmp/tmp7jqkbyge/backintime/test-host/test-user/1/new_snapshot/backup"
1706DEBUG: [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/tmp7jqkbyge --exclude=/tmp/tmpuq4vi37f/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp1w1ga88q/ --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/tmp1w1ga88q/** --exclude=* / /tmp/tmp7jqkbyge/backintime/test-host/test-user/1/new_snapshot/backup'
1707DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
1708INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1709INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1710_____________________________ Take.test_new_exists _____________________________
1712self = <test.test_takeSnapshot.Take testMethod=test_new_exists>
1713sleep = <MagicMock name='sleep' id='136083700552592'>
1715 @patch('time.sleep') # speed up unittest
1716 def test_new_exists(self, sleep):
1717 new_snapshot = snapshots.NewSnapshot(self.cfg)
1718 new_snapshot.makeDirs()
1719 with open(new_snapshot.path('leftover'), 'wt') as f:
1720 f.write('foo')
1722 now = datetime.today() - timedelta(minutes = 6)
1723 sid1 = snapshots.SID(now, self.cfg)
1725> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1727test/test_takeSnapshot.py:214:
1728_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1729snapshots.py:1493: in takeSnapshot
1730 self.backupPermissions(new_snapshot)
1731_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1733self = <snapshots.Snapshots object at 0x7bc474a191e0>, sid = new_snapshot
1735 def backupPermissions(self, sid):
1736 """
1737 Save permissions (owner, group, read-, write- and executable)
1738 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1740 Args:
1741 sid (SID): snapshot that should be scanned
1743 Returns:
1744 int: Return code of rsync.
1745 """
1746 logger.info('Save permissions', self)
1747 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1749 fileInfoDict = FileInfoDict()
1751 if self.config.snapshotsMode() == 'ssh_encfs':
1752 decode = encfstools.Decode(self.config, False)
1753 else:
1754> decode = encfstools.Bounce()
1755E AttributeError: module 'encfstools' has no attribute 'Bounce'
1757snapshots.py:1182: AttributeError
1758----------------------------- Captured stderr call -----------------------------
1759DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1760WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1761WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1762WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1763DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1764DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1765INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
1766DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpmzctpja3/ /tmp/tmpuzf01umh/backintime/test-host/test-user/1/new_snapshot"
1767DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpmzctpja3/ /tmp/tmpuzf01umh/backintime/test-host/test-user/1/new_snapshot'
1768DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
1769INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1770DEBUG: [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/tmpuzf01umh --exclude=/tmp/tmpi_pvcbyn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmsy6o210/ --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/tmpmsy6o210/** --exclude=* / /tmp/tmpuzf01umh/backintime/test-host/test-user/1/new_snapshot/backup"
1771DEBUG: [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/tmpuzf01umh --exclude=/tmp/tmpi_pvcbyn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmsy6o210/ --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/tmpmsy6o210/** --exclude=* / /tmp/tmpuzf01umh/backintime/test-host/test-user/1/new_snapshot/backup'
1772DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
1773INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1774INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1775________________________ Take.test_new_exists_continue _________________________
1777self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>
1778sleep = <MagicMock name='sleep' id='136083700527840'>
1780 @patch('time.sleep') # speed up unittest
1781 def test_new_exists_continue(self, sleep):
1782 new_snapshot = snapshots.NewSnapshot(self.cfg)
1783 new_snapshot.makeDirs()
1784 with open(new_snapshot.path('leftover'), 'wt') as f:
1785 f.write('foo')
1786 new_snapshot.saveToContinue = True
1788 now = datetime.today() - timedelta(minutes = 6)
1789 sid1 = snapshots.SID(now, self.cfg)
1791> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1793test/test_takeSnapshot.py:229:
1794_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1795snapshots.py:1493: in takeSnapshot
1796 self.backupPermissions(new_snapshot)
1797_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1799self = <snapshots.Snapshots object at 0x7bc474a13460>, sid = new_snapshot
1801 def backupPermissions(self, sid):
1802 """
1803 Save permissions (owner, group, read-, write- and executable)
1804 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1806 Args:
1807 sid (SID): snapshot that should be scanned
1809 Returns:
1810 int: Return code of rsync.
1811 """
1812 logger.info('Save permissions', self)
1813 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1815 fileInfoDict = FileInfoDict()
1817 if self.config.snapshotsMode() == 'ssh_encfs':
1818 decode = encfstools.Decode(self.config, False)
1819 else:
1820> decode = encfstools.Bounce()
1821E AttributeError: module 'encfstools' has no attribute 'Bounce'
1823snapshots.py:1182: AttributeError
1824----------------------------- Captured stderr call -----------------------------
1825DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1826WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1827WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1828WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1829DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1830DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1831INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
1832INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1833DEBUG: [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/tmptm06t637 --exclude=/tmp/tmpb0vrydj_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpf71qv5jn/ --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/tmpf71qv5jn/** --exclude=* / /tmp/tmptm06t637/backintime/test-host/test-user/1/new_snapshot/backup"
1834DEBUG: [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/tmptm06t637 --exclude=/tmp/tmpb0vrydj_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpf71qv5jn/ --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/tmpf71qv5jn/** --exclude=* / /tmp/tmptm06t637/backintime/test-host/test-user/1/new_snapshot/backup'
1835DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
1836INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1837INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1838_________________________ Take.test_spaces_in_exclude __________________________
1840self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>
1841sleep = <MagicMock name='sleep' id='136083703293040'>
1843 @patch('time.sleep') # speed up unittest
1844 def test_spaces_in_exclude(self, sleep):
1845 now = datetime.today()
1846 sid1 = snapshots.SID(now, self.cfg)
1847 exclude = os.path.join(self.include.name, 'test path with spaces')
1848 generic.create_test_files(exclude)
1849 self.cfg.setExclude([exclude])
1851> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1853test/test_takeSnapshot.py:161:
1854_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1855snapshots.py:1493: in takeSnapshot
1856 self.backupPermissions(new_snapshot)
1857_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1859self = <snapshots.Snapshots object at 0x7bc474cb4d90>, sid = new_snapshot
1861 def backupPermissions(self, sid):
1862 """
1863 Save permissions (owner, group, read-, write- and executable)
1864 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1866 Args:
1867 sid (SID): snapshot that should be scanned
1869 Returns:
1870 int: Return code of rsync.
1871 """
1872 logger.info('Save permissions', self)
1873 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1875 fileInfoDict = FileInfoDict()
1877 if self.config.snapshotsMode() == 'ssh_encfs':
1878 decode = encfstools.Decode(self.config, False)
1879 else:
1880> decode = encfstools.Bounce()
1881E AttributeError: module 'encfstools' has no attribute 'Bounce'
1883snapshots.py:1182: AttributeError
1884----------------------------- Captured stderr call -----------------------------
1885DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1886WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1887WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1888WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1889DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1890DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1891INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1892DEBUG: [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/tmpkm772cv4 --exclude=/tmp/tmpbjvbzrj9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq_us6z21/ --include=/tmp/ --exclude=/tmp/tmpq_us6z21/test path with spaces --include=/tmp/tmpq_us6z21/** --exclude=* / /tmp/tmpkm772cv4/backintime/test-host/test-user/1/new_snapshot/backup"
1893DEBUG: [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/tmpkm772cv4 --exclude=/tmp/tmpbjvbzrj9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq_us6z21/ --include=/tmp/ --exclude=/tmp/tmpq_us6z21/test path with spaces --include=/tmp/tmpq_us6z21/** --exclude=* / /tmp/tmpkm772cv4/backintime/test-host/test-user/1/new_snapshot/backup'
1894DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
1895INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1896INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1897_________________________ Take.test_spaces_in_include __________________________
1899self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>
1900sleep = <MagicMock name='sleep' id='136083700756640'>
1902 @patch('time.sleep') # speed up unittest
1903 def test_spaces_in_include(self, sleep):
1904 now = datetime.today()
1905 sid1 = snapshots.SID(now, self.cfg)
1906 include = os.path.join(self.include.name, 'test path with spaces')
1907 generic.create_test_files(include)
1909> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
1911test/test_takeSnapshot.py:118:
1912_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1913snapshots.py:1493: in takeSnapshot
1914 self.backupPermissions(new_snapshot)
1915_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1917self = <snapshots.Snapshots object at 0x7bc474a4ae30>, sid = new_snapshot
1919 def backupPermissions(self, sid):
1920 """
1921 Save permissions (owner, group, read-, write- and executable)
1922 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1924 Args:
1925 sid (SID): snapshot that should be scanned
1927 Returns:
1928 int: Return code of rsync.
1929 """
1930 logger.info('Save permissions', self)
1931 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1933 fileInfoDict = FileInfoDict()
1935 if self.config.snapshotsMode() == 'ssh_encfs':
1936 decode = encfstools.Decode(self.config, False)
1937 else:
1938> decode = encfstools.Bounce()
1939E AttributeError: module 'encfstools' has no attribute 'Bounce'
1941snapshots.py:1182: AttributeError
1942----------------------------- Captured stderr call -----------------------------
1943DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
1944WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
1945WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
1946WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
1947DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
1948DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
1949INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
1950DEBUG: [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/tmp6bbdwiyz --exclude=/tmp/tmpwy_pwzsn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq5qs7uct/test path with spaces/ --include=/tmp/tmpq5qs7uct/ --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/tmpq5qs7uct/test path with spaces/** --exclude=* / /tmp/tmp6bbdwiyz/backintime/test-host/test-user/1/new_snapshot/backup"
1951DEBUG: [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/tmp6bbdwiyz --exclude=/tmp/tmpwy_pwzsn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq5qs7uct/test path with spaces/ --include=/tmp/tmpq5qs7uct/ --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/tmpq5qs7uct/test path with spaces/** --exclude=* / /tmp/tmp6bbdwiyz/backintime/test-host/test-user/1/new_snapshot/backup'
1952DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
1953INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
1954INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
1955______________________________ TakeSSH.test_error ______________________________
1957self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>
1958sleep = <MagicMock name='sleep' id='136083703217360'>
1960 @patch('time.sleep') # speed up unittest
1961 def test_error(self, sleep):
1962 with generic.mockPermissions(os.path.join(self.include.name, 'test')):
1963 now = datetime.today()
1964 sid1 = snapshots.SID(now, self.cfg)
1966> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
1968test/test_takeSnapshot.py:182:
1969_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1970snapshots.py:1493: in takeSnapshot
1971 self.backupPermissions(new_snapshot)
1972_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
1974self = <snapshots.Snapshots object at 0x7bc474ca2830>, sid = new_snapshot
1976 def backupPermissions(self, sid):
1977 """
1978 Save permissions (owner, group, read-, write- and executable)
1979 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
1981 Args:
1982 sid (SID): snapshot that should be scanned
1984 Returns:
1985 int: Return code of rsync.
1986 """
1987 logger.info('Save permissions', self)
1988 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
1990 fileInfoDict = FileInfoDict()
1992 if self.config.snapshotsMode() == 'ssh_encfs':
1993 decode = encfstools.Decode(self.config, False)
1994 else:
1995> decode = encfstools.Bounce()
1996E AttributeError: module 'encfstools' has no attribute 'Bounce'
1998snapshots.py:1182: AttributeError
1999----------------------------- Captured stderr call -----------------------------
2000DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2001WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2002WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2003WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2004DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2005DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2006DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2007DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2008DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2009DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2010DEBUG: [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']
2011DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2012DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2013DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2014DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2015DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2016DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2017ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2018DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2019DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2020DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/5456.lock
2021DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2022DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2023DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2024DEBUG: [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']
2025DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2026DEBUG: [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/tmptumfooaa/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmptumfooaa/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmptumfooaa/foo" || exit 11;test -w "/tmp/tmptumfooaa/foo" || exit 12;test -x "/tmp/tmptumfooaa/foo" || exit 13;exit 20']
2027DEBUG: [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/tmptumfooaa/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmptumfooaa/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmptumfooaa/foo" || exit 11;test -w "/tmp/tmptumfooaa/foo" || exit 12;test -x "/tmp/tmptumfooaa/foo" || exit 13;exit 20
2028DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2029DEBUG: [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/tmptumfooaa/foo /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/mountpoint
2030DEBUG: [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/tmptumfooaa/foo', '/tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/mountpoint'].
2031INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmptumfooaa/foo on /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/mountpoint
2032DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/locks/5456.lock
2033DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/5456.lock
2034DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2035INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2036DEBUG: [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/tmpfjdgpi3v/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpfjdgpi3v/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqnuzps20/ --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/tmpqnuzps20/** --exclude=* / travis@localhost:/tmp/tmptumfooaa/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2037DEBUG: [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/tmpfjdgpi3v/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpfjdgpi3v/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqnuzps20/ --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/tmpqnuzps20/** --exclude=* / travis@localhost:/tmp/tmptumfooaa/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2038WARNING: [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/tmpfjdgpi3v/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpfjdgpi3v/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqnuzps20/ --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/tmpqnuzps20/** --exclude=* / travis@localhost:/tmp/tmptumfooaa/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 23
2039INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2040INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2041DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2042DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2043DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2044DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2045DEBUG: [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']
2046DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2047DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2048DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2049DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2050DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2051DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2052ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2053DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2054DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2055DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/5456.lock
2056INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmptumfooaa/foo from /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/mountpoint
2057DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/346CC0A5/locks/5456.lock
2058DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpfjdgpi3v/.local/share/backintime/mnt/5456.lock
2059_____________________________ TakeSSH.test_exclude _____________________________
2061self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>
2062sleep = <MagicMock name='sleep' id='136083701496560'>
2064 @patch('time.sleep') # speed up unittest
2065 def test_exclude(self, sleep):
2066 now = datetime.today()
2067 sid1 = snapshots.SID(now, self.cfg)
2068 self.cfg.setExclude(['bar/baz'])
2070> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2072test/test_takeSnapshot.py:138:
2073_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2074snapshots.py:1493: in takeSnapshot
2075 self.backupPermissions(new_snapshot)
2076_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2078self = <snapshots.Snapshots object at 0x7bc474aff880>, sid = new_snapshot
2080 def backupPermissions(self, sid):
2081 """
2082 Save permissions (owner, group, read-, write- and executable)
2083 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2085 Args:
2086 sid (SID): snapshot that should be scanned
2088 Returns:
2089 int: Return code of rsync.
2090 """
2091 logger.info('Save permissions', self)
2092 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2094 fileInfoDict = FileInfoDict()
2096 if self.config.snapshotsMode() == 'ssh_encfs':
2097 decode = encfstools.Decode(self.config, False)
2098 else:
2099> decode = encfstools.Bounce()
2100E AttributeError: module 'encfstools' has no attribute 'Bounce'
2102snapshots.py:1182: AttributeError
2103----------------------------- Captured stderr call -----------------------------
2104DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2105WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2106WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2107WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2108DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2109DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2110DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2111DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2112DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2113DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2114DEBUG: [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']
2115DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2116DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2117DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2118DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2119DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2120DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2121ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2122DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2123DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2124DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5456.lock
2125DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2126DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2127DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2128DEBUG: [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']
2129DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2130DEBUG: [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/tmp7afm82n6/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp7afm82n6/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp7afm82n6/foo" || exit 11;test -w "/tmp/tmp7afm82n6/foo" || exit 12;test -x "/tmp/tmp7afm82n6/foo" || exit 13;exit 20']
2131DEBUG: [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/tmp7afm82n6/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp7afm82n6/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp7afm82n6/foo" || exit 11;test -w "/tmp/tmp7afm82n6/foo" || exit 12;test -x "/tmp/tmp7afm82n6/foo" || exit 13;exit 20
2132DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2133DEBUG: [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/tmp7afm82n6/foo /tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/mountpoint
2134DEBUG: [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/tmp7afm82n6/foo', '/tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/mountpoint'].
2135INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp7afm82n6/foo on /tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/mountpoint
2136DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/locks/5456.lock
2137DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5456.lock
2138DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2139INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2140DEBUG: [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/tmp8et9co_m/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp8et9co_m/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpd20n5g68/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpd20n5g68/** --exclude=* / travis@localhost:/tmp/tmp7afm82n6/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2141DEBUG: [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/tmp8et9co_m/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp8et9co_m/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpd20n5g68/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpd20n5g68/** --exclude=* / travis@localhost:/tmp/tmp7afm82n6/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2142DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 0
2143INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2144INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2145DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2146DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2147DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2148DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2149DEBUG: [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']
2150DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2151DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2152DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2153DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2154DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2155DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2156ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2157DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2158DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2159DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5456.lock
2160INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp7afm82n6/foo from /tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/mountpoint
2161DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5BDE1466/locks/5456.lock
2162DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp8et9co_m/.local/share/backintime/mnt/5456.lock
2163_________________________ TakeSSH.test_four_snapshots __________________________
2165self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>
2166sleep = <MagicMock name='sleep' id='136083698650944'>
2168 @patch('time.sleep') # speed up unittest
2169 def test_four_snapshots(self, sleep):
2170 now = datetime.today() - timedelta(minutes = 6)
2171 sid1 = snapshots.SID(now, self.cfg)
2173 # Note: 'self.sn' is of type 'Snapshots'
2174 # First boolean: Snapshot succeeded
2175 # Second boolean: Error occurred
2176 self.assertListEqual(
2177 [True, False], # Snapshot without error
2178> self.sn.takeSnapshot(
2179 sid=sid1,
2180 now=now,
2181 include_folders=[
2182 (self.include.name, 0), # '0' means it is a file
2187test/test_takeSnapshot.py:51:
2188_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2189snapshots.py:1493: in takeSnapshot
2190 self.backupPermissions(new_snapshot)
2191_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2193self = <snapshots.Snapshots object at 0x7bc474a18880>, sid = new_snapshot
2195 def backupPermissions(self, sid):
2196 """
2197 Save permissions (owner, group, read-, write- and executable)
2198 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2200 Args:
2201 sid (SID): snapshot that should be scanned
2203 Returns:
2204 int: Return code of rsync.
2205 """
2206 logger.info('Save permissions', self)
2207 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2209 fileInfoDict = FileInfoDict()
2211 if self.config.snapshotsMode() == 'ssh_encfs':
2212 decode = encfstools.Decode(self.config, False)
2213 else:
2214> decode = encfstools.Bounce()
2215E AttributeError: module 'encfstools' has no attribute 'Bounce'
2217snapshots.py:1182: AttributeError
2218----------------------------- Captured stderr call -----------------------------
2219DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2220WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2221WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2222WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2223DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2224DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2225DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2226DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2227DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2228DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2229DEBUG: [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']
2230DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2231DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2232DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2233DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2234DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2235DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2236ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2237DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2238DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2239DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/5456.lock
2240DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2241DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2242DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2243DEBUG: [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']
2244DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2245DEBUG: [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/tmpkh3lvahw/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpkh3lvahw/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpkh3lvahw/foo" || exit 11;test -w "/tmp/tmpkh3lvahw/foo" || exit 12;test -x "/tmp/tmpkh3lvahw/foo" || exit 13;exit 20']
2246DEBUG: [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/tmpkh3lvahw/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpkh3lvahw/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpkh3lvahw/foo" || exit 11;test -w "/tmp/tmpkh3lvahw/foo" || exit 12;test -x "/tmp/tmpkh3lvahw/foo" || exit 13;exit 20
2247DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2248DEBUG: [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/tmpkh3lvahw/foo /tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/mountpoint
2249DEBUG: [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/tmpkh3lvahw/foo', '/tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/mountpoint'].
2250INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpkh3lvahw/foo on /tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/mountpoint
2251DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/locks/5456.lock
2252DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/5456.lock
2253DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2254INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2255DEBUG: [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/tmp5n9417lf/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp5n9417lf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpdnulh69q/ --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/tmpdnulh69q/** --exclude=* / travis@localhost:/tmp/tmpkh3lvahw/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2256DEBUG: [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/tmp5n9417lf/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp5n9417lf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpdnulh69q/ --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/tmpdnulh69q/** --exclude=* / travis@localhost:/tmp/tmpkh3lvahw/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2257DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 0
2258INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2259INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2260DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2261DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2262DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2263DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2264DEBUG: [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']
2265DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2266DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2267DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2268DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2269DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2270DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2271ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2272DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2273DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2274DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/5456.lock
2275INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpkh3lvahw/foo from /tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/mountpoint
2276DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/43DCE7E5/locks/5456.lock
2277DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5n9417lf/.local/share/backintime/mnt/5456.lock
2278___________________________ TakeSSH.test_new_exists ____________________________
2280self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>
2281sleep = <MagicMock name='sleep' id='136083700728640'>
2283 @patch('time.sleep') # speed up unittest
2284 def test_new_exists(self, sleep):
2285 new_snapshot = snapshots.NewSnapshot(self.cfg)
2286 new_snapshot.makeDirs()
2287 with open(new_snapshot.path('leftover'), 'wt') as f:
2288 f.write('foo')
2290 now = datetime.today() - timedelta(minutes = 6)
2291 sid1 = snapshots.SID(now, self.cfg)
2293> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2295test/test_takeSnapshot.py:214:
2296_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2297snapshots.py:1493: in takeSnapshot
2298 self.backupPermissions(new_snapshot)
2299_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2301self = <snapshots.Snapshots object at 0x7bc474a44400>, sid = new_snapshot
2303 def backupPermissions(self, sid):
2304 """
2305 Save permissions (owner, group, read-, write- and executable)
2306 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2308 Args:
2309 sid (SID): snapshot that should be scanned
2311 Returns:
2312 int: Return code of rsync.
2313 """
2314 logger.info('Save permissions', self)
2315 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2317 fileInfoDict = FileInfoDict()
2319 if self.config.snapshotsMode() == 'ssh_encfs':
2320 decode = encfstools.Decode(self.config, False)
2321 else:
2322> decode = encfstools.Bounce()
2323E AttributeError: module 'encfstools' has no attribute 'Bounce'
2325snapshots.py:1182: AttributeError
2326----------------------------- Captured stderr call -----------------------------
2327DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2328WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2329WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2330WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2331DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2332DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2333DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2334DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2335DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2336DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2337DEBUG: [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']
2338DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2339DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2340DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2341DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2342DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2343DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2344ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2345DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2346DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2347DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/5456.lock
2348DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2349DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2350DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2351DEBUG: [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']
2352DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2353DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpp2_3amy4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpp2_3amy4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpp2_3amy4/foo" || exit 11;test -w "/tmp/tmpp2_3amy4/foo" || exit 12;test -x "/tmp/tmpp2_3amy4/foo" || exit 13;exit 20']
2354DEBUG: [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/tmpp2_3amy4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpp2_3amy4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpp2_3amy4/foo" || exit 11;test -w "/tmp/tmpp2_3amy4/foo" || exit 12;test -x "/tmp/tmpp2_3amy4/foo" || exit 13;exit 20
2355DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2356DEBUG: [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/tmpp2_3amy4/foo /tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/mountpoint
2357DEBUG: [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/tmpp2_3amy4/foo', '/tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/mountpoint'].
2358INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpp2_3amy4/foo on /tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/mountpoint
2359DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/locks/5456.lock
2360DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/5456.lock
2361INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run
2362DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2363DEBUG: [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/tmpiq7xvfni/ travis@localhost:/tmp/tmpp2_3amy4/foo/backintime/test-host/test-user/1/new_snapshot"
2364DEBUG: [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/tmpiq7xvfni/ travis@localhost:/tmp/tmpp2_3amy4/foo/backintime/test-host/test-user/1/new_snapshot'
2365DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 0
2366ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmp2ri89pvu/.local/share/backintime/mnt/1_5456/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmp2ri89pvu/.local/share/backintime/mnt/1_5456/backintime/test-host/test-user/1/new_snapshot/backup'
2367DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2368INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2369DEBUG: [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/tmp2ri89pvu/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp2ri89pvu/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjomp4syq/ --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/tmpjomp4syq/** --exclude=* / travis@localhost:/tmp/tmpp2_3amy4/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2370DEBUG: [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/tmp2ri89pvu/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp2ri89pvu/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjomp4syq/ --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/tmpjomp4syq/** --exclude=* / travis@localhost:/tmp/tmpp2_3amy4/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2371DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 0
2372INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2373INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2374DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2375DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2376DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2377DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2378DEBUG: [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']
2379DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2380DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2381DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2382DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2383DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2384DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2385ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2386DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2387DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2388DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/5456.lock
2389INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpp2_3amy4/foo from /tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/mountpoint
2390DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/15D75A41/locks/5456.lock
2391DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp2ri89pvu/.local/share/backintime/mnt/5456.lock
2392_______________________ TakeSSH.test_new_exists_continue _______________________
2394self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>
2395sleep = <MagicMock name='sleep' id='136083701330368'>
2397 @patch('time.sleep') # speed up unittest
2398 def test_new_exists_continue(self, sleep):
2399 new_snapshot = snapshots.NewSnapshot(self.cfg)
2400 new_snapshot.makeDirs()
2401 with open(new_snapshot.path('leftover'), 'wt') as f:
2402 f.write('foo')
2403 new_snapshot.saveToContinue = True
2405 now = datetime.today() - timedelta(minutes = 6)
2406 sid1 = snapshots.SID(now, self.cfg)
2408> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2410test/test_takeSnapshot.py:229:
2411_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2412snapshots.py:1493: in takeSnapshot
2413 self.backupPermissions(new_snapshot)
2414_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2416self = <snapshots.Snapshots object at 0x7bc474ad71f0>, sid = new_snapshot
2418 def backupPermissions(self, sid):
2419 """
2420 Save permissions (owner, group, read-, write- and executable)
2421 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2423 Args:
2424 sid (SID): snapshot that should be scanned
2426 Returns:
2427 int: Return code of rsync.
2428 """
2429 logger.info('Save permissions', self)
2430 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2432 fileInfoDict = FileInfoDict()
2434 if self.config.snapshotsMode() == 'ssh_encfs':
2435 decode = encfstools.Decode(self.config, False)
2436 else:
2437> decode = encfstools.Bounce()
2438E AttributeError: module 'encfstools' has no attribute 'Bounce'
2440snapshots.py:1182: AttributeError
2441----------------------------- Captured stderr call -----------------------------
2442DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2443WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2444WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2445WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2446DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2447DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2448DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2449DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2450DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2451DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2452DEBUG: [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']
2453DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2454DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2455DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2456DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2457DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2458DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2459ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2460DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2461DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2462DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/5456.lock
2463DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2464DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2465DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2466DEBUG: [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']
2467DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2468DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpas6tsanj/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpas6tsanj/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpas6tsanj/foo" || exit 11;test -w "/tmp/tmpas6tsanj/foo" || exit 12;test -x "/tmp/tmpas6tsanj/foo" || exit 13;exit 20']
2469DEBUG: [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/tmpas6tsanj/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpas6tsanj/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpas6tsanj/foo" || exit 11;test -w "/tmp/tmpas6tsanj/foo" || exit 12;test -x "/tmp/tmpas6tsanj/foo" || exit 13;exit 20
2470DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2471DEBUG: [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/tmpas6tsanj/foo /tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/mountpoint
2472DEBUG: [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/tmpas6tsanj/foo', '/tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/mountpoint'].
2473INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpas6tsanj/foo on /tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/mountpoint
2474DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/locks/5456.lock
2475DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/5456.lock
2476INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.
2477DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2478INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2479DEBUG: [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/tmpwv_y208l/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpwv_y208l/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpk6d18f3j/ --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/tmpk6d18f3j/** --exclude=* / travis@localhost:/tmp/tmpas6tsanj/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2480DEBUG: [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/tmpwv_y208l/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpwv_y208l/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpk6d18f3j/ --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/tmpk6d18f3j/** --exclude=* / travis@localhost:/tmp/tmpas6tsanj/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2481DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 0
2482INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2483INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2484DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2485DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2486DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2487DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2488DEBUG: [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']
2489DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2490DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2491DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2492DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2493DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2494DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2495ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2496DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2497DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2498DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/5456.lock
2499INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpas6tsanj/foo from /tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/mountpoint
2500DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/B3F000E6/locks/5456.lock
2501DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpwv_y208l/.local/share/backintime/mnt/5456.lock
2502________________________ TakeSSH.test_spaces_in_exclude ________________________
2504self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>
2505sleep = <MagicMock name='sleep' id='136083701061456'>
2507 @patch('time.sleep') # speed up unittest
2508 def test_spaces_in_exclude(self, sleep):
2509 now = datetime.today()
2510 sid1 = snapshots.SID(now, self.cfg)
2511 exclude = os.path.join(self.include.name, 'test path with spaces')
2512 generic.create_test_files(exclude)
2513 self.cfg.setExclude([exclude])
2515> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))
2517test/test_takeSnapshot.py:161:
2518_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2519snapshots.py:1493: in takeSnapshot
2520 self.backupPermissions(new_snapshot)
2521_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2523self = <snapshots.Snapshots object at 0x7bc474a95b10>, sid = new_snapshot
2525 def backupPermissions(self, sid):
2526 """
2527 Save permissions (owner, group, read-, write- and executable)
2528 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2530 Args:
2531 sid (SID): snapshot that should be scanned
2533 Returns:
2534 int: Return code of rsync.
2535 """
2536 logger.info('Save permissions', self)
2537 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2539 fileInfoDict = FileInfoDict()
2541 if self.config.snapshotsMode() == 'ssh_encfs':
2542 decode = encfstools.Decode(self.config, False)
2543 else:
2544> decode = encfstools.Bounce()
2545E AttributeError: module 'encfstools' has no attribute 'Bounce'
2547snapshots.py:1182: AttributeError
2548----------------------------- Captured stderr call -----------------------------
2549DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2550WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2551WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2552WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2553DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2554DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2555DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2556DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2557DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2558DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2559DEBUG: [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']
2560DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2561DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2562DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2563DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2564DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2565DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2566ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2567DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2568DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2569DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/5456.lock
2570DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2571DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2572DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2573DEBUG: [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']
2574DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2575DEBUG: [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/tmpshcu55p8/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpshcu55p8/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpshcu55p8/foo" || exit 11;test -w "/tmp/tmpshcu55p8/foo" || exit 12;test -x "/tmp/tmpshcu55p8/foo" || exit 13;exit 20']
2576DEBUG: [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/tmpshcu55p8/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpshcu55p8/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpshcu55p8/foo" || exit 11;test -w "/tmp/tmpshcu55p8/foo" || exit 12;test -x "/tmp/tmpshcu55p8/foo" || exit 13;exit 20
2577DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2578DEBUG: [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/tmpshcu55p8/foo /tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/mountpoint
2579DEBUG: [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/tmpshcu55p8/foo', '/tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/mountpoint'].
2580INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpshcu55p8/foo on /tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/mountpoint
2581DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/locks/5456.lock
2582DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/5456.lock
2583DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2584INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2585DEBUG: [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/tmpcncqye8d/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpcncqye8d/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpgkmz7laq/ --include=/tmp/ --exclude=/tmp/tmpgkmz7laq/test path with spaces --include=/tmp/tmpgkmz7laq/** --exclude=* / travis@localhost:/tmp/tmpshcu55p8/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2586DEBUG: [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/tmpcncqye8d/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmpcncqye8d/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpgkmz7laq/ --include=/tmp/ --exclude=/tmp/tmpgkmz7laq/test path with spaces --include=/tmp/tmpgkmz7laq/** --exclude=* / travis@localhost:/tmp/tmpshcu55p8/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2587DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 0
2588INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2589INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2590DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2591DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2592DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2593DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2594DEBUG: [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']
2595DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2596DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2597DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2598DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2599DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2600DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2601ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2602DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2603DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2604DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/5456.lock
2605INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpshcu55p8/foo from /tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/mountpoint
2606DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/7F77E803/locks/5456.lock
2607DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcncqye8d/.local/share/backintime/mnt/5456.lock
2608________________________ TakeSSH.test_spaces_in_include ________________________
2610self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>
2611sleep = <MagicMock name='sleep' id='136083701326336'>
2613 @patch('time.sleep') # speed up unittest
2614 def test_spaces_in_include(self, sleep):
2615 now = datetime.today()
2616 sid1 = snapshots.SID(now, self.cfg)
2617 include = os.path.join(self.include.name, 'test path with spaces')
2618 generic.create_test_files(include)
2620> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))
2622test/test_takeSnapshot.py:118:
2623_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2624snapshots.py:1493: in takeSnapshot
2625 self.backupPermissions(new_snapshot)
2626_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
2628self = <snapshots.Snapshots object at 0x7bc474ad73a0>, sid = new_snapshot
2630 def backupPermissions(self, sid):
2631 """
2632 Save permissions (owner, group, read-, write- and executable)
2633 for all files in Snapshot ``sid`` into snapshots fileInfoDict.
2635 Args:
2636 sid (SID): snapshot that should be scanned
2638 Returns:
2639 int: Return code of rsync.
2640 """
2641 logger.info('Save permissions', self)
2642 self.setTakeSnapshotMessage(0, _('Saving permissions…'))
2644 fileInfoDict = FileInfoDict()
2646 if self.config.snapshotsMode() == 'ssh_encfs':
2647 decode = encfstools.Decode(self.config, False)
2648 else:
2649> decode = encfstools.Bounce()
2650E AttributeError: module 'encfstools' has no attribute 'Bounce'
2652snapshots.py:1182: AttributeError
2653----------------------------- Captured stderr call -----------------------------
2654DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile
2655WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2656WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2657WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2658DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.
2659DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"
2660DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2661DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2662DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2663DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2664DEBUG: [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']
2665DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2666DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2667DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2668DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2669DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2670DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 7
2671ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2672DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2673DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2674DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp967fsjti/.local/share/backintime/mnt/5456.lock
2675DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"
2676DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available
2677DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login
2678DEBUG: [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']
2679DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory
2680DEBUG: [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/tmp3ad61ufv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp3ad61ufv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp3ad61ufv/foo" || exit 11;test -w "/tmp/tmp3ad61ufv/foo" || exit 12;test -x "/tmp/tmp3ad61ufv/foo" || exit 13;exit 20']
2681DEBUG: [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/tmp3ad61ufv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp3ad61ufv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp3ad61ufv/foo" || exit 11;test -w "/tmp/tmp3ad61ufv/foo" || exit 12;test -x "/tmp/tmp3ad61ufv/foo" || exit 13;exit 20
2682DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 20
2683DEBUG: [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/tmp3ad61ufv/foo /tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/mountpoint
2684DEBUG: [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/tmp3ad61ufv/foo', '/tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/mountpoint'].
2685INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp3ad61ufv/foo on /tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/mountpoint
2686DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/locks/5456.lock
2687DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp967fsjti/.local/share/backintime/mnt/5456.lock
2688DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']
2689INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot
2690DEBUG: [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/tmp967fsjti/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp967fsjti/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqeeviwlp/test path with spaces/ --include=/tmp/tmpqeeviwlp/ --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/tmpqeeviwlp/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp3ad61ufv/foo/backintime/test-host/test-user/1/new_snapshot/backup"
2691DEBUG: [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/tmp967fsjti/.local/share/backintime/mnt/1_5456 --exclude=/tmp/tmp967fsjti/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqeeviwlp/test path with spaces/ --include=/tmp/tmpqeeviwlp/ --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/tmpqeeviwlp/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp3ad61ufv/foo/backintime/test-host/test-user/1/new_snapshot/backup'
2692DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 0
2693INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file
2694INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions
2695DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring
2696DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:
2697DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)
2698DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)
2699DEBUG: [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']
2700DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]
2701DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.
2702DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.
2703DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running
2704DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']
2705DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.k1kasrre/config_path/user-callback 1 Main profile 8
2706ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory
2707DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.
2708DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent
2709DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp967fsjti/.local/share/backintime/mnt/5456.lock
2710INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp3ad61ufv/foo from /tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/mountpoint
2711DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp967fsjti/.local/share/backintime/mnt/F180F4AF/locks/5456.lock
2712DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp967fsjti/.local/share/backintime/mnt/5456.lock
2713=========================== short test summary info ============================
2714FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 1
2715stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown
2716WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files
2717WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure
2718INFO: Lock
2719INFO: Take a new snapshot. Profile: 1 Main profile
2720INFO: Call rsync to take the snapshot
2721INFO: Save config file
2722INFO: Save permissions
2723Traceback (most recent call last):
2724 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>
2725 startApp()
2726 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp
2727 args.func(args)
2728 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup
2729 ret = takeSnapshot(cfg, force)
2730 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot
2731 ret = snapshots.Snapshots(cfg).backup(force)
2732 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup
2733 ret_val, ret_error = self.takeSnapshot(
2734 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot
2735 self.backupPermissions(new_snapshot)
2736 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions
2737 decode = encfstools.Bounce()
2738AttributeError: module 'encfstools' has no attribute 'Bounce'
2740stdout:
2741Back In Time
2742Version: 1.5.4-rc1
2744Back In Time comes with ABSOLUTELY NO WARRANTY.
2745This is free software, and you are welcome to redistribute it
2746under certain conditions; type `backintime --license' for details.
2747FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).
2748FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).
2749FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.
2750FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.
2751FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'
2752FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2753FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'
2754FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2755FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2756FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2757FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2758FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2759FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2760FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2761FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'
2762FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2763FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'
2764FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'
2765FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'
2766FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'
2767FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'
2768============ 22 failed, 403 passed, 2 skipped in 118.50s (0:01:58) =============
2769make: *** [Makefile:620: unittest-v] Error 1
2770The command "make unittest-v" exited with 2.
27710.00s$ cd ..
2772The command "cd .." exited with 0.
27730.00s$ cd qt
2774The command "cd qt" exited with 0.
27750.06s$ ./configure
2776Replacement of python path with "/usr/bin/python3" successful.
2777All OK. Now run:
2778 make
2779 sudo make install
2780The command "./configure" exited with 0.
27810.01s$ make
2782# Man pages
2783for 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
2784The command "make" exited with 0.
278525.22s$ pytest --verbose
2786============================= test session starts ==============================
2787platform linux -- Python 3.10.14, pytest-8.1.1, pluggy-1.4.0 -- /home/travis/virtualenv/python3.10.14/bin/python
2788cachedir: .pytest_cache
2789rootdir: /home/travis/build/bit-team/backintime/qt
2790plugins: pyfakefs-5.7.4
2791collected 9 items
2793test/test_lint.py::MirrorMirrorOnTheWall::test005_ensure_linter_versions PASSED [ 11%]
2794test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset PASSED [ 22%]
2795test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset PASSED [ 33%]
2796test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset PASSED [ 44%]
2797test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset PASSED [ 55%]
2798test/test_statedata.py::IsSingleton::test_content PASSED [ 66%]
2799test/test_statedata.py::IsSingleton::test_identity PASSED [ 77%]
2800test/test_statedata.py::Properties::test_profile_not_exist PASSED [ 88%]
2801test/test_statedata.py::Properties::test_read_empty_global PASSED [100%]
2803============================== 9 passed in 25.00s ==============================
2804The command "pytest --verbose" exited with 0.
2807Done. Your build exited with 1.
Top