AMD64
Python: 3.9
Git
PYTHONUNBUFFERED=1
Scroll to End of Log
0.18s0.10s3.9 is not installed; attempting download0.06s0.00sTopworker_info1Worker information2hostname: c04afe9e-bce6-49cb-83c9-8e1e14f46a15@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-33version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f0304instance: travis-job-8fe1cf29-48b9-4d75-a941-d432797f9282 travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)5startup: 5.937430369ssystem_info7Build system information8Build language: python9Build dist: jammy10Build id: 27423638511Job id: 63063362312Runtime kernel version: 6.8.0-1018-gcp13VM: default14travis-build version: 6b157a1c15Build image provisioning date and time16Fri Nov 22 04:28:26 PM UTC 202417Operating System Details18Distributor ID: Ubuntu19Description: Ubuntu 22.04.5 LTS20Release: 22.0421Codename: jammy22Systemd Version23systemd 249 (249.11-0ubuntu3.12)24Cookbooks Version25be2ab50 https://github.com/travis-ci/travis-cookbooks/tree/be2ab5026git version27git version 2.47.028bash version29GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)30gcc version31gcc (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.032docker version33Client:34 Version: 24.0.735 API version: 1.4336 Go version: go1.21.137 Git commit: 24.0.7-0ubuntu2~22.04.138 Built: Wed Mar 13 20:23:54 202439 OS/Arch: linux/amd6440 Context: default42Server:43 Engine:44 Version: 24.0.745 API version: 1.43 (minimum version 1.12)46 Go version: go1.21.147 Git commit: 24.0.7-0ubuntu2~22.04.148 Built: Wed Mar 13 20:23:54 202449 OS/Arch: linux/amd6450 Experimental: false51 containerd:52 Version: 1.7.1253 GitCommit:54 runc:55 Version: 1.1.12-0ubuntu2~22.04.156 GitCommit:57 docker-init:58 Version: 0.19.059 GitCommit:60clang version61clang version 18.1.862jq version63jq-1.7.164bats version65Bats 1.11.066shellcheck version670.10.068shfmt version69v3.8.070ccache version714.5.172cmake version73cmake version 3.29.074heroku version75heroku/9.5.0 linux-x64 node-v16.20.276imagemagick version77Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org78md5deep version794.480mercurial version81version 6.5.282mysql version83mysql Ver 8.0.40-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))84openssl version85OpenSSL 3.0.2 15 Mar 2022 (Library: OpenSSL 3.0.2 15 Mar 2022)86packer version87Packer v1.11.288postgresql client version89psql (PostgreSQL) 14.13 (Ubuntu 14.13-0ubuntu0.22.04.1)90ragel version91Ragel State Machine Compiler version 6.10 March 201792sudo version931.9.994gzip version95gzip 1.1096zip version97Zip 3.098vim version99VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Oct 16 2024 17:27:14)100iptables version101iptables v1.8.7 (nf_tables)102curl version103curl 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.18104wget version105GNU Wget 1.21.2 built on linux-gnu.106rsync version107rsync version 3.2.7 protocol version 31108nvm version1090.40.1110perlbrew version111/home/travis/perl5/perlbrew/bin/perlbrew - App::perlbrew/0.95112phpenv version113rbenv 1.3.0114rvm version115rvm 1.29.12 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]116default ruby version117ruby 3.3.5 (2024-09-03 revision ef084cc8f4) [x86_64-linux]118default python version119Python 3.10.14120ElasticSearch version1217.16.3122Installed Firefox version123firefox 99.0124MongoDB version125MongoDB 6.0.19126ant version127Apache Ant(TM) version 1.10.12 compiled on January 17 1970128mvn version129Apache Maven 3.9.4 (dfbb324ad4a7c8fb0bf182e6d91b0ae20e3d2dd9)130gradle version131Gradle 8.3!132lein version133Leiningen 2.11.2 on Java 11.0.21 OpenJDK 64-Bit Server VM134Pre-installed Node.js versions135v10.24.1136v12.22.12137v14.21.3138v16.15139v16.20.2140v18.20.3141v18.20.5142v20.18.1143v22.11.0144v4.9.1145v6.17.1146v8.17.0147phpenv versions148 system149 8.1150* 8.1.2 (set by /home/travis/.phpenv/version)151 hhvm-stable152 hhvm153composer --version154Composer version 2.3.7 2022-06-06 16:43:28155Pre-installed Ruby versions156ruby-2.7.8157ruby-3.3.51600.00s0.05s0.00s0.01s0.12s0.00s0.00s0.00s0.01s0.00s0.11s0.00s0.88s0.00s0.00s18.76s0.00s3.16s0.00s3.62sdocker_mtu_and_registry_mirrorsDockerresolvconf161Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/22.04/x86_64/python-3.9.tar.bz21640.00sssh_known_hosts.0165Adding ssh known hosts166$ mkdir -p ${TRAVIS_HOME}/.ssh1670.05s$ ssh-keyscan -t $TRAVIS_SSH_KEY_TYPES -H localhost 2>&1 | tee -a ${TRAVIS_HOME}/.ssh/known_hosts168# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10169# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10170# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10171|1|KOyLd/LyJeWduXN7gfaUfWPZLws=|bY1O805qrx9OCVRHYangq5fltr4= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=172|1|vO3J4g6oI/eY/NYqfr0JwtXuSu8=|AcClDGT259YFXDY/c5Y1Llg1Z2o= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=git.checkout175Cloning into 'bit-team/backintime'...176remote: Enumerating objects: 932, done.177remote: Counting objects: 100% (932/932), done.178remote: Compressing objects: 100% (557/557), done.179remote: Total 932 (delta 541), reused 633 (delta 346), pack-reused 0 (from 0)180Receiving objects: 100% (932/932), 4.82 MiB | 11.34 MiB/s, done.181Resolving deltas: 100% (541/541), done.182$ cd bit-team/backintime184remote: Enumerating objects: 47, done.185remote: Counting objects: 100% (42/42), done.186remote: Compressing objects: 100% (14/14), done.187remote: Total 33 (delta 25), reused 26 (delta 19), pack-reused 0 (from 0)188Unpacking objects: 100% (33/33), 4.91 KiB | 457.00 KiB/s, done.189From https://github.com/bit-team/backintime190 * branch refs/pull/2039/merge -> FETCH_HEAD191$ git checkout -qf FETCH_HEAD1930.00s194Setting environment variables from .travis.yml195$ export PYTHONUNBUFFERED=1198$ python --version199Python 3.9.21200$ pip --version201pip 24.3.1 from /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages/pip (python 3.9)before_install.1before_install.2204Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).205OKbefore_install.3207W: http://package.perforce.com/apt/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.208W: http://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.before_install.4210Reading package lists... Done211Building dependency tree... Done212Reading state information... Done213screen is already the newest version (4.9.0-1).214libdbus-1-dev is already the newest version (1.12.20-2ubuntu4.1).215util-linux is already the newest version (2.37.2-4ubuntu3.4).216The following NEW packages will be installed:217 sshfs2180 upgraded, 1 newly installed, 0 to remove and 134 not upgraded.219Need to get 45.1 kB of archives.220After this operation, 126 kB of additional disk space will be used.221Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 sshfs amd64 3.7.1+repack-2 [45.1 kB]222Fetched 45.1 kB in 0s (116 kB/s)223Selecting previously unselected package sshfs.224(Reading database ... 132481 files and directories currently installed.)225Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...226Unpacking sshfs (3.7.1+repack-2) ...227Setting up sshfs (3.7.1+repack-2) ...228Processing triggers for man-db (2.10.2-1) ...229NEEDRESTART-VER: 3.5230NEEDRESTART-KCUR: 6.8.0-1018-gcp231NEEDRESTART-KEXP: 6.8.0-1018-gcp232NEEDRESTART-KSTA: 1install.1234Requirement already satisfied: pip in /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages (24.3.1)235Collecting pip236 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)237Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)238Installing collected packages: pip239 Attempting uninstall: pip240 Found existing installation: pip 24.3.1241 Uninstalling pip-24.3.1:242 Successfully uninstalled pip-24.3.1243Successfully installed pip-25.0.1install.2245Collecting pylint246 Downloading pylint-3.3.4-py3-none-any.whl.metadata (12 kB)247Collecting ruff248 Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)249Collecting flake8250 Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)251Collecting pyfakefs252 Downloading pyfakefs-5.7.4-py3-none-any.whl.metadata (7.8 kB)253Collecting keyring254 Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)255Collecting dill>=0.2 (from pylint)256 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)257Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages (from pylint) (4.3.6)258Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)259 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)260Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)261 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)262Collecting mccabe<0.8,>=0.6 (from pylint)263 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)264Requirement already satisfied: tomli>=1.1.0 in /home/travis/virtualenv/python3.9.21/lib/python3.9/site-packages (from pylint) (2.2.1)265Collecting tomlkit>=0.10.1 (from pylint)266 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)267Collecting typing-extensions>=3.10.0 (from pylint)268 Downloading typing_extensions-4.12.2-py3-none-any.whl.metadata (3.0 kB)269Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)270 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)271Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)272 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)273Collecting SecretStorage>=3.2 (from keyring)274 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)275Collecting jeepney>=0.4.2 (from keyring)276 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)277Collecting importlib_metadata>=4.11.4 (from keyring)278 Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)279Collecting jaraco.classes (from keyring)280 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)281Collecting jaraco.functools (from keyring)282 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)283Collecting jaraco.context (from keyring)284 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)285Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring)286 Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)287Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)288 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)289Collecting more-itertools (from jaraco.classes->keyring)290 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)291Collecting backports.tarfile (from jaraco.context->keyring)292 Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)293Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)294 Downloading cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)295Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)296 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)297Downloading pylint-3.3.4-py3-none-any.whl (522 kB)298Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)299Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)300Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)301Downloading keyring-25.6.0-py3-none-any.whl (39 kB)302Downloading astroid-3.3.8-py3-none-any.whl (275 kB)303Downloading dill-0.3.9-py3-none-any.whl (119 kB)304Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)305Downloading isort-6.0.0-py3-none-any.whl (94 kB)306Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)307Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)308Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)309Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)310Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)311Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)312Downloading typing_extensions-4.12.2-py3-none-any.whl (37 kB)313Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)314Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)315Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)316Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)317Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)318Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)319Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)320Downloading cffi-1.17.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (445 kB)321Downloading pycparser-2.22-py3-none-any.whl (117 kB)322Installing collected packages: zipp, typing-extensions, tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, isort, dill, backports.tarfile, jaraco.functools, jaraco.context, jaraco.classes, importlib_metadata, flake8, cffi, astroid, pylint, cryptography, SecretStorage, keyring323Successfully 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.0install.3325Collecting pyqt6326 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)327Collecting dbus-python328 Downloading dbus-python-1.3.2.tar.gz (605 kB)329 Installing build dependencies ... done330 Getting requirements to build wheel ... done331 Preparing metadata (pyproject.toml) ... done332Collecting PyQt6-sip<14,>=13.8 (from pyqt6)333 Downloading PyQt6_sip-13.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)334Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)335 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)336Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)337Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)338Downloading PyQt6_sip-13.10.0-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl (281 kB)339Building wheels for collected packages: dbus-python340 Building wheel for dbus-python (pyproject.toml) ... done341 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp39-cp39-linux_x86_64.whl size=121904 sha256=5d51c18deb01db50bd3a25156d9fff8d1aa171c1558980543561beef6211fbbb342 Stored in directory: /home/travis/.cache/pip/wheels/27/85/e1/b15bc5a2c09c521621b4f5a32a2aa85b08586fbb80cea67ffd343Successfully built dbus-python344Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6345Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1install.4347Generating public/private rsa key pair.348Your identification has been saved in /home/travis/.ssh/id_rsa349Your public key has been saved in /home/travis/.ssh/id_rsa.pub350The key fingerprint is:351SHA256:ohGt4H2uqote4rvIavX/rmfbtoyi5QvjiqSoVsfoSuQ travis@travis-job-8fe1cf29-48b9-4d75-a941-d432797f9282352The key's randomart image is:353+---[RSA 2048]----+354| |355| . |356| . . . |357| . o o |358| .. * o S |359|o + B . |360| E+.+o.. |361|Xo+..o=. o+. |362|/@=oooo=O=o+. |363+----[SHA256]-----+install.5368Listing 'common'...369Compiling 'common/applicationinstance.py'...370Compiling 'common/askpass.py'...371Compiling 'common/backintime.py'...372Listing 'common/bash-completion'...373Compiling 'common/bcolors.py'...374Compiling 'common/bitbase.py'...375Compiling 'common/cli.py'...376Compiling 'common/config.py'...377Compiling 'common/configfile.py'...378Compiling 'common/daemon.py'...379Compiling 'common/diagnostics.py'...380Listing 'common/doc-dev'...381Listing 'common/doc-dev/_static'...382Listing 'common/doc-dev/_templates'...383Compiling 'common/doc-dev/conf.py'...384Listing 'common/doc-dev/plugins'...385Compiling 'common/encfstools.py'...386Compiling 'common/encode.py'...387Compiling 'common/exceptions.py'...388Compiling 'common/flock.py'...389Compiling 'common/guiapplicationinstance.py'...390Compiling 'common/languages.py'...391Compiling 'common/logger.py'...392Listing 'common/man'...393Listing 'common/man/C'...394Compiling 'common/mount.py'...395Compiling 'common/password.py'...396Compiling 'common/password_ipc.py'...397Compiling 'common/pluginmanager.py'...398Listing 'common/plugins'...399Compiling 'common/plugins/usercallbackplugin.py'...400Listing 'common/po'...401Compiling 'common/progress.py'...402Compiling 'common/qt_probing.py'...403Compiling 'common/schedule.py'...404Compiling 'common/singleton.py'...405Compiling 'common/snapshotlog.py'...406Compiling 'common/snapshots.py'...407Compiling 'common/ssh_max_arg.py'...408Compiling 'common/sshtools.py'...409Listing 'common/test'...410Compiling 'common/test/__init__.py'...411Compiling 'common/test/constants.py'...412Compiling 'common/test/generic.py'...413Compiling 'common/test/test_applicationinstance.py'...414Compiling 'common/test/test_argparser.py'...415Compiling 'common/test/test_backintime.py'...416Compiling 'common/test/test_backup.py'...417Compiling 'common/test/test_config.py'...418Compiling 'common/test/test_config_crontab.py'...419Compiling 'common/test/test_configfile.py'...420Compiling 'common/test/test_diagnostics.py'...421Compiling 'common/test/test_encfstools.py'...422Compiling 'common/test/test_languages.py'...423Compiling 'common/test/test_lint.py'...424Compiling 'common/test/test_mount.py'...425Compiling 'common/test/test_plugin_usercallback.py'...426Compiling 'common/test/test_restore.py'...427Compiling 'common/test/test_schedule.py'...428Compiling 'common/test/test_sid.py'...429Compiling 'common/test/test_singleton.py'...430Compiling 'common/test/test_snapshotlog.py'...431Compiling 'common/test/test_snapshots.py'...432Compiling 'common/test/test_snapshots_autoremove.py'...433Compiling 'common/test/test_sshtools.py'...434Compiling 'common/test/test_takeSnapshot.py'...435Compiling 'common/test/test_tools.py'...436Compiling 'common/test/test_uniquenessset.py'...437Compiling 'common/tools.py'...438Compiling 'common/uniquenessset.py'...439Compiling 'common/version.py'...440Listing 'common/test'...441Listing 'common/plugins'...442Listing 'qt'...443Compiling 'qt/aboutdlg.py'...444Compiling 'qt/app.py'...445Compiling 'qt/editusercallback.py'...446Compiling 'qt/encfsmsgbox.py'...447Compiling 'qt/icon.py'...448Listing 'qt/icons'...449Listing 'qt/icons/16x16'...450Listing 'qt/icons/16x16/actions'...451Listing 'qt/icons/22x22'...452Listing 'qt/icons/22x22/actions'...453Listing 'qt/icons/24x24'...454Listing 'qt/icons/24x24/actions'...455Listing 'qt/icons/32x32'...456Listing 'qt/icons/32x32/actions'...457Listing 'qt/icons/48x48'...458Listing 'qt/icons/48x48/actions'...459Listing 'qt/icons/scalable'...460Listing 'qt/icons/scalable/actions'...461Compiling 'qt/languagedialog.py'...462Compiling 'qt/logviewdialog.py'...463Listing 'qt/man'...464Listing 'qt/man/C'...465Listing 'qt/manageprofiles'...466Compiling 'qt/manageprofiles/__init__.py'...467Compiling 'qt/manageprofiles/combobox.py'...468Compiling 'qt/manageprofiles/schedulewidget.py'...469Compiling 'qt/manageprofiles/spinboxunit.py'...470Compiling 'qt/manageprofiles/sshproxywidget.py'...471Compiling 'qt/manageprofiles/statebindcheckbox.py'...472Compiling 'qt/manageprofiles/tab_expert_options.py'...473Compiling 'qt/manageprofiles/tab_general.py'...474Compiling 'qt/manageprofiles/tab_options.py'...475Compiling 'qt/manageprofiles/tab_remove_retention.py'...476Compiling 'qt/messagebox.py'...477Listing 'qt/plugins'...478Compiling 'qt/plugins/notifyplugin.py'...479Compiling 'qt/plugins/systrayiconplugin.py'...480Compiling 'qt/qtsystrayicon.py'...481Compiling 'qt/qttools.py'...482Compiling 'qt/qttools_path.py'...483Compiling 'qt/restoreconfigdialog.py'...484Compiling 'qt/restoredialog.py'...485Compiling 'qt/serviceHelper.py'...486Compiling 'qt/snapshotsdialog.py'...487Compiling 'qt/statedata.py'...488Listing 'qt/test'...489Compiling 'qt/test/__init__.py'...490Compiling 'qt/test/test_lint.py'...491Compiling 'qt/test/test_statedata.py'...492Compiling 'qt/usermessagedialog.py'...493Listing 'qt/test'...494Listing 'qt/plugins'...495The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.497The command "cd common" exited with 0.499Replacement of python path with "/usr/bin/python3" successful.500All OK. Now run:501 make502 sudo make install503The command "./configure" exited with 0.505/home/travis/virtualenv/python3.9.21/bin/pytest -v506============================= test session starts ==============================507platform linux -- Python 3.9.21, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.9.21/bin/python508cachedir: .pytest_cache509rootdir: /home/travis/build/bit-team/backintime/common510plugins: pyfakefs-5.7.4511collected 427 items517test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]518test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]520test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]612test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]618test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]642test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]941=================================== FAILURES ===================================942_________________ BackInTime.test_local_snapshot_is_successful _________________944self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>946 def test_local_snapshot_is_successful(self):947 """From BIT initialization through snapshot949 From BIT initialization all the way through successful snapshot on a950 local mount. test one of the highest level interfaces a user could951 work with - the command line ensures that argument parsing,952 functionality, and output all work as expected is NOT intended to953 replace individual method tests, which are incredibly useful as well.955 Development notes (by Buhtz, 2023):956 Multiple tests do compare return codes and output on stdout. It is NOT957 tested what is on the file system. The intention might be a system958 test. But the asserts not qualified to answer the important questions959 and observe the intended behavior. Heavy refactoring is needed. But960 because of the "level" of that tests it won't happen in the near961 future. Also maintenance costs of this tests are damn high because962 every tiny modification of BIT gives a false fail of this test.964 Development notes (by Buhtz, 2024-05):965 It is just dumb stdout parsing. I tend to remove this test because of966 the calculation of its value and its maintenance costs.967 """969 # ensure that we see full diffs of assert output if there are any970 self.maxDiff = None972 # create pristine source directory with single file973 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")974 os.mkdir('/tmp/test')976 with open('/tmp/test/testfile', 'w') as f:977 f.write('some data')979 # create pristine snapshot directory980 subprocess.getoutput(981 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")982 os.mkdir('/tmp/snapshots')984 # remove restored directory985 subprocess.getoutput("rm -rf /tmp/restored")987 # install proper destination filesystem structure and verify output988 proc = subprocess.Popen(["./backintime",989 "--config",990 "test/config",991 "--share-path",992 self.sharePath,993 "check-config",994 # do not overwrite users crontab995 "--no-crontab"],996 stdout=subprocess.PIPE,997 stderr=subprocess.PIPE)999 output, error = proc.communicate()1000 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \1001 .format(proc.returncode, error.decode(), output.decode())1003 self.assertEqual(proc.returncode, 0, msg)1005 self.assertRegex(output.decode(), re.compile(r'''1006 Back In Time1007 Version: \d+.\d+.\d+.*1009 Back In Time comes with ABSOLUTELY NO WARRANTY.1010 This is free software, and you are welcome to redistribute it1011 under certain conditions; type `backintime --license' for details.1013 (INFO: Update to config version \d+1014 )?1015 \+--------------------------------\+1016 | Check/prepare snapshot path |1017 \+--------------------------------\+1018 Check/prepare snapshot path: done1020 \+--------------------------------\+1021 | Check config |1022 \+--------------------------------\+1023 Check config: done1025 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))1027 # execute backup and verify output1028 proc = subprocess.Popen(["./backintime",1029 "--config", "test/config",1030 "--share-path", self.sharePath,1031 "backup"],1032 stdout=subprocess.PIPE,1033 stderr=subprocess.PIPE)1034 output, error = proc.communicate()1035 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \1036 .format(proc.returncode, error.decode(), output.decode())1037> self.assertEqual(proc.returncode, 0, msg)1038E AssertionError: 1 != 0 : Returncode: 11039E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1040E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1041E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1042E INFO: Lock1043E INFO: Take a new snapshot. Profile: 1 Main profile1044E INFO: Call rsync to take the snapshot1045E INFO: Save config file1046E INFO: Save permissions1047E Traceback (most recent call last):1048E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>1049E startApp()1050E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp1051E args.func(args)1052E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup1053E ret = takeSnapshot(cfg, force)1054E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot1055E ret = snapshots.Snapshots(cfg).backup(force)1056E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup1057E ret_val, ret_error = self.takeSnapshot(1058E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot1059E self.backupPermissions(new_snapshot)1060E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions1061E decode = encfstools.Bounce()1062E AttributeError: module 'encfstools' has no attribute 'Bounce'1063E1064E stdout:1065E Back In Time1066E Version: 1.5.4-rc11067E1068E Back In Time comes with ABSOLUTELY NO WARRANTY.1069E This is free software, and you are welcome to redistribute it1070E under certain conditions; type `backintime --license' for details.1073______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________1075self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>1077 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))1078 def test010_ruff_default_ruleset(self):1079 """Ruff in default mode."""1081 # ATTENTIION: Some settings are found in pyproject.toml1082 cmd = [1083 'ruff',1084 'check',1085 # Additionally activate subset of special rules:1086 # - PyLint (PL)1087 # - PyCodestyle (E, W)1088 # - flake8-gettext (INT)1089 # - useless noqua (RUF100)1090 '--extend-select=PL,E,W,INT,RUF100',1091 # Ignore: redefined-loop-name1092 '--ignore=PLW2901',1093 '--line-length', str(PEP8_MAX_LINE_LENGTH),1094 # Because of globally installed GNU gettext functions1095 '--config', 'builtins=["_", "ngettext"]',1096 # Ruff counting branches different from PyLint.1097 # See: <https://www.reddit.com/r/learnpython/comments/1098 # 1buojae/comment/kxu0mp3>1099 '--config', 'pylint.max-branches=13',1100 '--config', 'flake8-quotes.inline-quotes = "single"',1101 # one error per line (no context lines)1102 '--output-format=concise',1103 '--quiet',1104 ]1106 cmd.extend(full_test_files)1108 proc = subprocess.run(1109 cmd,1110 check=False,1111 universal_newlines=True,1112 capture_output=True1113 )1115 # No errors other then linter rules1116 self.assertIn(proc.returncode, [0, 1], proc.stderr)1118 error_n = len(proc.stdout.splitlines())1119 if error_n > 0:1120 print(proc.stdout)1122> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')1123E AssertionError: 0 != 1 : Ruff found 1 problem(s).1126----------------------------- Captured stdout call -----------------------------1127test/test_mount.py:205:80: E501 Line too long (89 > 79)1129_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________1131self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>1133 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))1134 def test020_flake8_default_ruleset(self):1135 """Flake8 in default mode."""1136 cmd = [1137 'flake8',1138 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',1139 '--builtins=_,ngettext',1140 # '--enable-extensions='1141 ]1143 cmd.extend(full_test_files)1145 proc = subprocess.run(1146 cmd,1147 check=False,1148 universal_newlines=True,1149 capture_output=True1150 )1152 error_n = len(proc.stdout.splitlines())1153 if error_n > 0:1154 print(proc.stdout)1156> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')1157E AssertionError: 0 != 2 : Flake8 found 2 problem(s).1160----------------------------- Captured stdout call -----------------------------1161/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)1162/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)1164_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________1166self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>1168 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1169 def test030_pylint_default_ruleset(self):1170 """Use Pylint with all default rules to check specific files.1171 """1173 cmd = create_pylint_cmd()1175 # Add py-files1176 cmd.extend(full_test_files)1178 r = subprocess.run(1179 cmd,1180 check=False,1181 universal_newlines=True,1182 capture_output=True)1184 # Count lines except module headings1185 error_n = len(list(filter(lambda line: not line.startswith('*****'),1186 r.stdout.splitlines())))1187 print(r.stdout)1189> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1190E AssertionError: 0 != 8 : PyLint found 8 problems.1193----------------------------- Captured stdout call -----------------------------1194************* Module test.test_mount1195test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)1196test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)1197test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1198test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)1199test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1200test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)1201test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)1202test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)1204____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________1206self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>1208 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1209 def test050_pylint_exclusive_ruleset(self):1210 """Use Pylint to check for specific rules only.1212 Some facts about PyLint1213 - It is one of the slowest available linters.1214 - It is able to catch lints other linters miss.1215 """1217 # Explicit activate checks1218 err_codes = [1219 'C0305', # trailing-newlines1220 'C0325', # superfluous-parens1221 'C0410', # multiple-imports1222 'C0303', # trailing-whitespace1223 'E0100', # init-is-generator1224 'E0101', # return-in-init1225 'E0102', # function-redefined1226 'E0103', # not-in-loop1227 'E0106', # return-arg-in-generator1228 'E0213', # no-self-argument1229 'E0401', # import-error1230 'E0602', # undefined-variable1231 'E1101', # no-member1232 'I0021', # useless-suppression1233 'W0123', # eval-used1234 'W0237', # arguments-renamed1235 'W0311', # bad-indentation1236 'W0404', # reimported1237 'W0611', # unused-import1238 'W0612', # unused-variable1239 'W0614', # unused-wildcard-import1240 'W0707', # raise-missing-from1241 'W1301', # unused-format-string-key1242 'W1401', # anomalous-backslash-in-string (invalid escape sequence)1243 'W1515', # forgotten-debug-statement1244 'W4902', # deprecated-method1245 'W4904', # deprecated-class1246 'R0202', # no-classmethod-decorator1247 'R0203', # no-staticmethod-decorator1248 # See PyLint bugs:1249 # https://github.com/pylint-dev/pylint/issues/2141250 # https://github.com/pylint-dev/pylint/issues/79201251 # 'R0801', # duplicate-code1253 # Enable asap. This list is a selection of existing (not all!)1254 # problems currently existing in the BIT code base. Quite easy to1255 # fix because their count is low.1256 # 'W0237', # arguments-renamed1257 # 'W0221', # arguments-differ1258 # 'W0603', # global-statement1259 ]1261 cmd = create_pylint_cmd(err_codes)1263 # Add py-files1264 cmd.extend(self._collect_py_files())1266 r = subprocess.run(1267 cmd,1268 check=False,1269 universal_newlines=True,1270 capture_output=True)1272 # Count lines except module headings and output about duplicate code1273 error_n = len(list(filter(1274 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),1275 r.stdout.splitlines())))1276 print(r.stdout)1278> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1279E AssertionError: 0 != 2 : PyLint found 2 problems.1282----------------------------- Captured stdout call -----------------------------1283************* Module snapshots1284snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)1285************* Module test.test_encfstools1286test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)1288________________________ SystemTest.test_local_snapshot ________________________1290self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>1292 def test_local_snapshot(self):1293 """User-callback response while doing a local snapshot"""1295 config = Config(1296 config_path=str(self.config_fp),1297 data_path=str(self.temp_path / '.local' / 'share')1298 )1300 full_snapshot_path = config.snapshotsFullPath()1301 Path(full_snapshot_path).mkdir(parents=True)1303 snapshot = Snapshots(config)1305 # DevNote : Because BIT don't use Python's logging module there is1306 # no way to use assertLogs(). Current solution is to capture1307 # stdout/stderr.1308 stdout = io.StringIO()1309 stderr = io.StringIO()1311 with redirect_stdout(stdout), redirect_stderr(stderr):1312 # Result is inverted. 'True' means there was an error.1313> self.assertFalse(snapshot.backup())1316_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1318 ret_val, ret_error = self.takeSnapshot(1320 self.backupPermissions(new_snapshot)1321_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1323self = <snapshots.Snapshots object at 0x7156a16f2790>, sid = new_snapshot1325 def backupPermissions(self, sid):1326 """1327 Save permissions (owner, group, read-, write- and executable)1328 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1330 Args:1331 sid (SID): snapshot that should be scanned1333 Returns:1334 int: Return code of rsync.1335 """1336 logger.info('Save permissions', self)1337 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1339 fileInfoDict = FileInfoDict()1341 if self.config.snapshotsMode() == 'ssh_encfs':1342 decode = encfstools.Decode(self.config, False)1343 else:1344> decode = encfstools.Bounce()1345E AttributeError: module 'encfstools' has no attribute 'Bounce'1348----------------------------- Captured stderr call -----------------------------1349DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1350WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1351WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1352WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1353DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1354DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1355___________________ SnapshotWithSID.test_backup_permissions ____________________1357self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>1359 def test_backup_permissions(self):1360 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)1361 infoFilePath = os.path.join(self.snapshotPath,1362 '20151219-010324-123',1363 'fileinfo.bz2')1365 include = self.cfg.include()[0][0]1366 with TemporaryDirectory(dir = include) as tmp:1368 file_path = os.path.join(tmp, 'foo')1369 with open(file_path, 'wt') as f:1370 f.write('bar')1371 f.flush()1373 self.sid.makeDirs(tmp)1374 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:1375 snapshot_f.write('bar')1376 snapshot_f.flush()1378> self.sn.backupPermissions(self.sid)1381_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1383self = <snapshots.Snapshots object at 0x7156a162cf40>, sid = 20151219-010324-1231385 def backupPermissions(self, sid):1386 """1387 Save permissions (owner, group, read-, write- and executable)1388 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1390 Args:1391 sid (SID): snapshot that should be scanned1393 Returns:1394 int: Return code of rsync.1395 """1396 logger.info('Save permissions', self)1397 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1399 fileInfoDict = FileInfoDict()1401 if self.config.snapshotsMode() == 'ssh_encfs':1402 decode = encfstools.Decode(self.config, False)1403 else:1404> decode = encfstools.Bounce()1405E AttributeError: module 'encfstools' has no attribute 'Bounce'1408----------------------------- Captured stderr call -----------------------------1409DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1410WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1411WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1412WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1413DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1414DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1415INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1416____________________ SshPermissions.test_backup_permissions ____________________1418self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>1420 def test_backup_permissions(self):1421 """Backup file permissions in SSH backup mode."""1423 # --- prepare environment ---1425 # config instance1426 cfg = _init_basic_config()1427 # snapshots profile1428 snapshot = _init_ssh_profile(cfg)1429 # backup source directory1430 _init_source_path(cfg)1431 # simulate a taken snapshot1432 sid = _init_concrete_snapshot(cfg)1434 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand1435 # all details yet.1436 # mount1437 mount_obj = _init_mounting(cfg)1438 # ...unmount when test finished1439 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))1441 # --- prepare the backup source ---1443 # Does the concrete snapshot exists?1444 self.assertTrue(sid.exists())1446 # The backup source path1447 # e.g. /tmp/e2uij3y1448 source_path = pathlib.Path(cfg.include()[0][0])1449 # ...exists?1450 self.assertTrue(source_path.exists())1452 # create the test files in the backup source directory1453 generic.create_test_files(str(source_path))1455 # --- Do the job to test. ---1457 # backup permissions of files/folders in the backup source1458> rc = snapshot.backupPermissions(sid)1461_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1463self = <snapshots.Snapshots object at 0x7156a15e5160>, sid = 20151219-010324-1231465 def backupPermissions(self, sid):1466 """1467 Save permissions (owner, group, read-, write- and executable)1468 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1470 Args:1471 sid (SID): snapshot that should be scanned1473 Returns:1474 int: Return code of rsync.1475 """1476 logger.info('Save permissions', self)1477 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1479 fileInfoDict = FileInfoDict()1481 if self.config.snapshotsMode() == 'ssh_encfs':1482 decode = encfstools.Decode(self.config, False)1483 else:1484> decode = encfstools.Bounce()1485E AttributeError: module 'encfstools' has no attribute 'Bounce'1488----------------------------- Captured stderr call -----------------------------1489DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1490WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1491WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1492WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1493DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1494DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1495DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1496DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1497DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)1498DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)1499DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']1500DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]1501DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.1502DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.1503DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running1504DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']1505DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 71506ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory1507DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1508DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1509DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock1510DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"1511DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available1512DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login1513DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']1514DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory1515DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/DESTINATIONDIRparentfot326qi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentfot326qi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 13;exit 20']1516DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/DESTINATIONDIRparentfot326qi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentfot326qi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentfot326qi/foo" || exit 13;exit 201517DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 201518DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint1519DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo', '/tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint'].1520INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo on /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint1521DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/locks/5467.lock1522DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock1523INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1524DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 81525ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory1526DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1527DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1528DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock1529INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparentfot326qi/foo from /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/mountpoint1530DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/D9C5200F/locks/5467.lock1531DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRul9fomhr/.local/share/backintime/mnt/5467.lock1532_______________________________ Take.test_error ________________________________1534self = <test.test_takeSnapshot.Take testMethod=test_error>1535sleep = <MagicMock name='sleep' id='124616886995072'>1537 @patch('time.sleep') # speed up unittest1538 def test_error(self, sleep):1539 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1540 now = datetime.today()1541 sid1 = snapshots.SID(now, self.cfg)1543> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1546_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1548 self.backupPermissions(new_snapshot)1549_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1551self = <snapshots.Snapshots object at 0x7156a14849d0>, sid = new_snapshot1553 def backupPermissions(self, sid):1554 """1555 Save permissions (owner, group, read-, write- and executable)1556 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1558 Args:1559 sid (SID): snapshot that should be scanned1561 Returns:1562 int: Return code of rsync.1563 """1564 logger.info('Save permissions', self)1565 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1567 fileInfoDict = FileInfoDict()1569 if self.config.snapshotsMode() == 'ssh_encfs':1570 decode = encfstools.Decode(self.config, False)1571 else:1572> decode = encfstools.Bounce()1573E AttributeError: module 'encfstools' has no attribute 'Bounce'1576----------------------------- Captured stderr call -----------------------------1577DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1578WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1579WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1580WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1581DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1582DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1583INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1584DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup"1585DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup'1586WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp86whvnyh --exclude=/tmp/tmpuk1q2wf3/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp7p1wzjcx/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp7p1wzjcx/** --exclude=* / /tmp/tmp86whvnyh/backintime/test-host/test-user/1/new_snapshot/backup" returns 231587INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1588INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1589______________________________ Take.test_exclude _______________________________1591self = <test.test_takeSnapshot.Take testMethod=test_exclude>1592sleep = <MagicMock name='sleep' id='124616882258224'>1594 @patch('time.sleep') # speed up unittest1595 def test_exclude(self, sleep):1596 now = datetime.today()1597 sid1 = snapshots.SID(now, self.cfg)1598 self.cfg.setExclude(['bar/baz'])1600> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1603_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1605 self.backupPermissions(new_snapshot)1606_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1608self = <snapshots.Snapshots object at 0x7156a14a7f10>, sid = new_snapshot1610 def backupPermissions(self, sid):1611 """1612 Save permissions (owner, group, read-, write- and executable)1613 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1615 Args:1616 sid (SID): snapshot that should be scanned1618 Returns:1619 int: Return code of rsync.1620 """1621 logger.info('Save permissions', self)1622 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1624 fileInfoDict = FileInfoDict()1626 if self.config.snapshotsMode() == 'ssh_encfs':1627 decode = encfstools.Decode(self.config, False)1628 else:1629> decode = encfstools.Bounce()1630E AttributeError: module 'encfstools' has no attribute 'Bounce'1633----------------------------- Captured stderr call -----------------------------1634DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1635WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1636WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1637WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1638DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1639DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1640INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1641DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp4190yldj --exclude=/tmp/tmpqvu5wvci/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp65cqs2jm/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp65cqs2jm/** --exclude=* / /tmp/tmp4190yldj/backintime/test-host/test-user/1/new_snapshot/backup"1642DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp4190yldj --exclude=/tmp/tmpqvu5wvci/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp65cqs2jm/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp65cqs2jm/** --exclude=* / /tmp/tmp4190yldj/backintime/test-host/test-user/1/new_snapshot/backup'1643DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 01644INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1645INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1646___________________________ Take.test_four_snapshots ___________________________1648self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>1649sleep = <MagicMock name='sleep' id='124616887121472'>1651 @patch('time.sleep') # speed up unittest1652 def test_four_snapshots(self, sleep):1653 now = datetime.today() - timedelta(minutes = 6)1654 sid1 = snapshots.SID(now, self.cfg)1656 # Note: 'self.sn' is of type 'Snapshots'1657 # First boolean: Snapshot succeeded1658 # Second boolean: Error occurred1659 self.assertListEqual(1660 [True, False], # Snapshot without error1661> self.sn.takeSnapshot(1662 sid=sid1,1663 now=now,1664 include_folders=[1665 (self.include.name, 0), # '0' means it is a file1666 ]1667 )1668 )1671_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1673 self.backupPermissions(new_snapshot)1674_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1676self = <snapshots.Snapshots object at 0x7156a14a36a0>, sid = new_snapshot1678 def backupPermissions(self, sid):1679 """1680 Save permissions (owner, group, read-, write- and executable)1681 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1683 Args:1684 sid (SID): snapshot that should be scanned1686 Returns:1687 int: Return code of rsync.1688 """1689 logger.info('Save permissions', self)1690 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1692 fileInfoDict = FileInfoDict()1694 if self.config.snapshotsMode() == 'ssh_encfs':1695 decode = encfstools.Decode(self.config, False)1696 else:1697> decode = encfstools.Bounce()1698E AttributeError: module 'encfstools' has no attribute 'Bounce'1701----------------------------- Captured stderr call -----------------------------1702DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1703WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1704WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1705WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1706DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1707DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1708INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1709DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpe2s_a5t9 --exclude=/tmp/tmpgfrushvs/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpfv5b7hh_/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpfv5b7hh_/** --exclude=* / /tmp/tmpe2s_a5t9/backintime/test-host/test-user/1/new_snapshot/backup"1710DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpe2s_a5t9 --exclude=/tmp/tmpgfrushvs/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpfv5b7hh_/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpfv5b7hh_/** --exclude=* / /tmp/tmpe2s_a5t9/backintime/test-host/test-user/1/new_snapshot/backup'1711DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 01712INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1713INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1714_____________________________ Take.test_new_exists _____________________________1716self = <test.test_takeSnapshot.Take testMethod=test_new_exists>1717sleep = <MagicMock name='sleep' id='124616882108784'>1719 @patch('time.sleep') # speed up unittest1720 def test_new_exists(self, sleep):1721 new_snapshot = snapshots.NewSnapshot(self.cfg)1722 new_snapshot.makeDirs()1723 with open(new_snapshot.path('leftover'), 'wt') as f:1724 f.write('foo')1726 now = datetime.today() - timedelta(minutes = 6)1727 sid1 = snapshots.SID(now, self.cfg)1729> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1732_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1734 self.backupPermissions(new_snapshot)1735_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1737self = <snapshots.Snapshots object at 0x7156a0fdb760>, sid = new_snapshot1739 def backupPermissions(self, sid):1740 """1741 Save permissions (owner, group, read-, write- and executable)1742 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1744 Args:1745 sid (SID): snapshot that should be scanned1747 Returns:1748 int: Return code of rsync.1749 """1750 logger.info('Save permissions', self)1751 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1753 fileInfoDict = FileInfoDict()1755 if self.config.snapshotsMode() == 'ssh_encfs':1756 decode = encfstools.Decode(self.config, False)1757 else:1758> decode = encfstools.Bounce()1759E AttributeError: module 'encfstools' has no attribute 'Bounce'1762----------------------------- Captured stderr call -----------------------------1763DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1764WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1765WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1766WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1767DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1768DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1769INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run1770DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpluftrxy_/ /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot"1771DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpluftrxy_/ /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot'1772DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 01773INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1774DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpqzoex11g --exclude=/tmp/tmp7ii3_edb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjvw4kv82/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpjvw4kv82/** --exclude=* / /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot/backup"1775DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpqzoex11g --exclude=/tmp/tmp7ii3_edb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjvw4kv82/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpjvw4kv82/** --exclude=* / /tmp/tmpqzoex11g/backintime/test-host/test-user/1/new_snapshot/backup'1776DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 01777INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1778INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1779________________________ Take.test_new_exists_continue _________________________1781self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>1782sleep = <MagicMock name='sleep' id='124616882072256'>1784 @patch('time.sleep') # speed up unittest1785 def test_new_exists_continue(self, sleep):1786 new_snapshot = snapshots.NewSnapshot(self.cfg)1787 new_snapshot.makeDirs()1788 with open(new_snapshot.path('leftover'), 'wt') as f:1789 f.write('foo')1790 new_snapshot.saveToContinue = True1792 now = datetime.today() - timedelta(minutes = 6)1793 sid1 = snapshots.SID(now, self.cfg)1795> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1798_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1800 self.backupPermissions(new_snapshot)1801_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1803self = <snapshots.Snapshots object at 0x7156a0fd28b0>, sid = new_snapshot1805 def backupPermissions(self, sid):1806 """1807 Save permissions (owner, group, read-, write- and executable)1808 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1810 Args:1811 sid (SID): snapshot that should be scanned1813 Returns:1814 int: Return code of rsync.1815 """1816 logger.info('Save permissions', self)1817 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1819 fileInfoDict = FileInfoDict()1821 if self.config.snapshotsMode() == 'ssh_encfs':1822 decode = encfstools.Decode(self.config, False)1823 else:1824> decode = encfstools.Bounce()1825E AttributeError: module 'encfstools' has no attribute 'Bounce'1828----------------------------- Captured stderr call -----------------------------1829DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1830WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1831WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1832WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1833DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1834DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1835INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.1836INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1837DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmptkh7owo1 --exclude=/tmp/tmpy406gows/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpds8t9m_u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpds8t9m_u/** --exclude=* / /tmp/tmptkh7owo1/backintime/test-host/test-user/1/new_snapshot/backup"1838DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmptkh7owo1 --exclude=/tmp/tmpy406gows/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpds8t9m_u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpds8t9m_u/** --exclude=* / /tmp/tmptkh7owo1/backintime/test-host/test-user/1/new_snapshot/backup'1839DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 01840INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1841INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1842_________________________ Take.test_spaces_in_exclude __________________________1844self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>1845sleep = <MagicMock name='sleep' id='124616888091696'>1847 @patch('time.sleep') # speed up unittest1848 def test_spaces_in_exclude(self, sleep):1849 now = datetime.today()1850 sid1 = snapshots.SID(now, self.cfg)1851 exclude = os.path.join(self.include.name, 'test path with spaces')1852 generic.create_test_files(exclude)1853 self.cfg.setExclude([exclude])1855> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1858_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1860 self.backupPermissions(new_snapshot)1861_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1863self = <snapshots.Snapshots object at 0x7156a1590790>, sid = new_snapshot1865 def backupPermissions(self, sid):1866 """1867 Save permissions (owner, group, read-, write- and executable)1868 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1870 Args:1871 sid (SID): snapshot that should be scanned1873 Returns:1874 int: Return code of rsync.1875 """1876 logger.info('Save permissions', self)1877 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1879 fileInfoDict = FileInfoDict()1881 if self.config.snapshotsMode() == 'ssh_encfs':1882 decode = encfstools.Decode(self.config, False)1883 else:1884> decode = encfstools.Bounce()1885E AttributeError: module 'encfstools' has no attribute 'Bounce'1888----------------------------- Captured stderr call -----------------------------1889DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1890WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1891WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1892WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1893DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1894DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1895INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1896DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxn3vz9eh --exclude=/tmp/tmpl814pd1t/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmppjcokqst/ --include=/tmp/ --exclude=/tmp/tmppjcokqst/test path with spaces --include=/tmp/tmppjcokqst/** --exclude=* / /tmp/tmpxn3vz9eh/backintime/test-host/test-user/1/new_snapshot/backup"1897DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxn3vz9eh --exclude=/tmp/tmpl814pd1t/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmppjcokqst/ --include=/tmp/ --exclude=/tmp/tmppjcokqst/test path with spaces --include=/tmp/tmppjcokqst/** --exclude=* / /tmp/tmpxn3vz9eh/backintime/test-host/test-user/1/new_snapshot/backup'1898DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 01899INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1900INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1901_________________________ Take.test_spaces_in_include __________________________1903self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>1904sleep = <MagicMock name='sleep' id='124616882256384'>1906 @patch('time.sleep') # speed up unittest1907 def test_spaces_in_include(self, sleep):1908 now = datetime.today()1909 sid1 = snapshots.SID(now, self.cfg)1910 include = os.path.join(self.include.name, 'test path with spaces')1911 generic.create_test_files(include)1913> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))1916_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1918 self.backupPermissions(new_snapshot)1919_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1921self = <snapshots.Snapshots object at 0x7156a0fffc70>, sid = new_snapshot1923 def backupPermissions(self, sid):1924 """1925 Save permissions (owner, group, read-, write- and executable)1926 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1928 Args:1929 sid (SID): snapshot that should be scanned1931 Returns:1932 int: Return code of rsync.1933 """1934 logger.info('Save permissions', self)1935 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1937 fileInfoDict = FileInfoDict()1939 if self.config.snapshotsMode() == 'ssh_encfs':1940 decode = encfstools.Decode(self.config, False)1941 else:1942> decode = encfstools.Bounce()1943E AttributeError: module 'encfstools' has no attribute 'Bounce'1946----------------------------- Captured stderr call -----------------------------1947DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1948WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1949WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1950WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1951DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1952DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1953INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1954DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7uxv6vzg --exclude=/tmp/tmpmdzy3s77/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnu2xholq/test path with spaces/ --include=/tmp/tmpnu2xholq/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpnu2xholq/test path with spaces/** --exclude=* / /tmp/tmp7uxv6vzg/backintime/test-host/test-user/1/new_snapshot/backup"1955DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7uxv6vzg --exclude=/tmp/tmpmdzy3s77/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnu2xholq/test path with spaces/ --include=/tmp/tmpnu2xholq/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpnu2xholq/test path with spaces/** --exclude=* / /tmp/tmp7uxv6vzg/backintime/test-host/test-user/1/new_snapshot/backup'1956DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 01957INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1958INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1959______________________________ TakeSSH.test_error ______________________________1961self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>1962sleep = <MagicMock name='sleep' id='124616882112352'>1964 @patch('time.sleep') # speed up unittest1965 def test_error(self, sleep):1966 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1967 now = datetime.today()1968 sid1 = snapshots.SID(now, self.cfg)1970> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1973_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1975 self.backupPermissions(new_snapshot)1976_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1978self = <snapshots.Snapshots object at 0x7156a0fdc580>, sid = new_snapshot1980 def backupPermissions(self, sid):1981 """1982 Save permissions (owner, group, read-, write- and executable)1983 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1985 Args:1986 sid (SID): snapshot that should be scanned1988 Returns:1989 int: Return code of rsync.1990 """1991 logger.info('Save permissions', self)1992 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1994 fileInfoDict = FileInfoDict()1996 if self.config.snapshotsMode() == 'ssh_encfs':1997 decode = encfstools.Decode(self.config, False)1998 else:1999> decode = encfstools.Bounce()2000E AttributeError: module 'encfstools' has no attribute 'Bounce'2003----------------------------- Captured stderr call -----------------------------2004DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2005WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2006WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2007WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2008DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2009DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2010DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2011DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2012DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2013DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2014DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2015DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2016DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2017DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2018DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2019DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2020DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72021ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2022DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2023DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2024DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock2025DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2026DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2027DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2028DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2029DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2030DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpz8rn7los/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpz8rn7los/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpz8rn7los/foo" || exit 11;test -w "/tmp/tmpz8rn7los/foo" || exit 12;test -x "/tmp/tmpz8rn7los/foo" || exit 13;exit 20']2031DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpz8rn7los/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpz8rn7los/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpz8rn7los/foo" || exit 11;test -w "/tmp/tmpz8rn7los/foo" || exit 12;test -x "/tmp/tmpz8rn7los/foo" || exit 13;exit 202032DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202033DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpz8rn7los/foo /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint2034DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpz8rn7los/foo', '/tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint'].2035INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpz8rn7los/foo on /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint2036DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/locks/5467.lock2037DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock2038DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2039INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2040DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup"2041DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup'2042WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp72thherf/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmp72thherf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpmrnqz9yk/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpmrnqz9yk/** --exclude=* / travis@localhost:/tmp/tmpz8rn7los/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 232043INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2044INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2045DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2046DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2047DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2048DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2049DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2050DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2051DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2052DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2053DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2054DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2055DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82056ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2057DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2058DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2059DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock2060INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpz8rn7los/foo from /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/mountpoint2061DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp72thherf/.local/share/backintime/mnt/CCAF36A3/locks/5467.lock2062DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp72thherf/.local/share/backintime/mnt/5467.lock2063_____________________________ TakeSSH.test_exclude _____________________________2065self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>2066sleep = <MagicMock name='sleep' id='124616888143152'>2068 @patch('time.sleep') # speed up unittest2069 def test_exclude(self, sleep):2070 now = datetime.today()2071 sid1 = snapshots.SID(now, self.cfg)2072 self.cfg.setExclude(['bar/baz'])2074> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2077_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2079 self.backupPermissions(new_snapshot)2080_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2082self = <snapshots.Snapshots object at 0x7156a159cdc0>, sid = new_snapshot2084 def backupPermissions(self, sid):2085 """2086 Save permissions (owner, group, read-, write- and executable)2087 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2089 Args:2090 sid (SID): snapshot that should be scanned2092 Returns:2093 int: Return code of rsync.2094 """2095 logger.info('Save permissions', self)2096 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2098 fileInfoDict = FileInfoDict()2100 if self.config.snapshotsMode() == 'ssh_encfs':2101 decode = encfstools.Decode(self.config, False)2102 else:2103> decode = encfstools.Bounce()2104E AttributeError: module 'encfstools' has no attribute 'Bounce'2107----------------------------- Captured stderr call -----------------------------2108DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2109WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2110WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2111WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2112DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2113DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2114DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2115DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2116DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2117DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2118DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2119DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2120DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2121DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2122DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2123DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2124DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72125ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2126DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2127DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2128DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock2129DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2130DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2131DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2132DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2133DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2134DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmp5wgji71v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp5wgji71v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp5wgji71v/foo" || exit 11;test -w "/tmp/tmp5wgji71v/foo" || exit 12;test -x "/tmp/tmp5wgji71v/foo" || exit 13;exit 20']2135DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmp5wgji71v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp5wgji71v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp5wgji71v/foo" || exit 11;test -w "/tmp/tmp5wgji71v/foo" || exit 12;test -x "/tmp/tmp5wgji71v/foo" || exit 13;exit 202136DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202137DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmp5wgji71v/foo /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint2138DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmp5wgji71v/foo', '/tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint'].2139INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp5wgji71v/foo on /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint2140DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/locks/5467.lock2141DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock2142DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2143INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2144DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpurwxvuqn/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpurwxvuqn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwptu035_/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpwptu035_/** --exclude=* / travis@localhost:/tmp/tmp5wgji71v/foo/backintime/test-host/test-user/1/new_snapshot/backup"2145DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpurwxvuqn/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpurwxvuqn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwptu035_/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpwptu035_/** --exclude=* / travis@localhost:/tmp/tmp5wgji71v/foo/backintime/test-host/test-user/1/new_snapshot/backup'2146DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 02147INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2148INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2149DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2150DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2151DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2152DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2153DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2154DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2155DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2156DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2157DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2158DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2159DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82160ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2161DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2162DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2163DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock2164INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp5wgji71v/foo from /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/mountpoint2165DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/F9605C49/locks/5467.lock2166DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpurwxvuqn/.local/share/backintime/mnt/5467.lock2167_________________________ TakeSSH.test_four_snapshots __________________________2169self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>2170sleep = <MagicMock name='sleep' id='124616882170032'>2172 @patch('time.sleep') # speed up unittest2173 def test_four_snapshots(self, sleep):2174 now = datetime.today() - timedelta(minutes = 6)2175 sid1 = snapshots.SID(now, self.cfg)2177 # Note: 'self.sn' is of type 'Snapshots'2178 # First boolean: Snapshot succeeded2179 # Second boolean: Error occurred2180 self.assertListEqual(2181 [True, False], # Snapshot without error2182> self.sn.takeSnapshot(2183 sid=sid1,2184 now=now,2185 include_folders=[2186 (self.include.name, 0), # '0' means it is a file2187 ]2188 )2189 )2192_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2194 self.backupPermissions(new_snapshot)2195_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2197self = <snapshots.Snapshots object at 0x7156a0fea6d0>, sid = new_snapshot2199 def backupPermissions(self, sid):2200 """2201 Save permissions (owner, group, read-, write- and executable)2202 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2204 Args:2205 sid (SID): snapshot that should be scanned2207 Returns:2208 int: Return code of rsync.2209 """2210 logger.info('Save permissions', self)2211 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2213 fileInfoDict = FileInfoDict()2215 if self.config.snapshotsMode() == 'ssh_encfs':2216 decode = encfstools.Decode(self.config, False)2217 else:2218> decode = encfstools.Bounce()2219E AttributeError: module 'encfstools' has no attribute 'Bounce'2222----------------------------- Captured stderr call -----------------------------2223DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2224WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2225WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2226WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2227DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2228DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2229DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2230DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2231DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2232DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2233DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2234DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2235DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2236DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2237DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2238DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2239DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72240ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2241DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2242DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2243DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock2244DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2245DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2246DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2247DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2248DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2249DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpi5mtyxq4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpi5mtyxq4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpi5mtyxq4/foo" || exit 11;test -w "/tmp/tmpi5mtyxq4/foo" || exit 12;test -x "/tmp/tmpi5mtyxq4/foo" || exit 13;exit 20']2250DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpi5mtyxq4/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpi5mtyxq4/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpi5mtyxq4/foo" || exit 11;test -w "/tmp/tmpi5mtyxq4/foo" || exit 12;test -x "/tmp/tmpi5mtyxq4/foo" || exit 13;exit 202251DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202252DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpi5mtyxq4/foo /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint2253DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpi5mtyxq4/foo', '/tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint'].2254INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpi5mtyxq4/foo on /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint2255DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/locks/5467.lock2256DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock2257DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2258INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2259DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpcnxajude/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpcnxajude/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvbb9e2td/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpvbb9e2td/** --exclude=* / travis@localhost:/tmp/tmpi5mtyxq4/foo/backintime/test-host/test-user/1/new_snapshot/backup"2260DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpcnxajude/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpcnxajude/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvbb9e2td/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpvbb9e2td/** --exclude=* / travis@localhost:/tmp/tmpi5mtyxq4/foo/backintime/test-host/test-user/1/new_snapshot/backup'2261DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 02262INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2263INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2264DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2265DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2266DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2267DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2268DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2269DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2270DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2271DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2272DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2273DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2274DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82275ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2276DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2277DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2278DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock2279INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpi5mtyxq4/foo from /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/mountpoint2280DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpcnxajude/.local/share/backintime/mnt/575E3AE9/locks/5467.lock2281DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpcnxajude/.local/share/backintime/mnt/5467.lock2282___________________________ TakeSSH.test_new_exists ____________________________2284self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>2285sleep = <MagicMock name='sleep' id='124616882234032'>2287 @patch('time.sleep') # speed up unittest2288 def test_new_exists(self, sleep):2289 new_snapshot = snapshots.NewSnapshot(self.cfg)2290 new_snapshot.makeDirs()2291 with open(new_snapshot.path('leftover'), 'wt') as f:2292 f.write('foo')2294 now = datetime.today() - timedelta(minutes = 6)2295 sid1 = snapshots.SID(now, self.cfg)2297> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2300_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2302 self.backupPermissions(new_snapshot)2303_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2305self = <snapshots.Snapshots object at 0x7156a0ffa3a0>, sid = new_snapshot2307 def backupPermissions(self, sid):2308 """2309 Save permissions (owner, group, read-, write- and executable)2310 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2312 Args:2313 sid (SID): snapshot that should be scanned2315 Returns:2316 int: Return code of rsync.2317 """2318 logger.info('Save permissions', self)2319 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2321 fileInfoDict = FileInfoDict()2323 if self.config.snapshotsMode() == 'ssh_encfs':2324 decode = encfstools.Decode(self.config, False)2325 else:2326> decode = encfstools.Bounce()2327E AttributeError: module 'encfstools' has no attribute 'Bounce'2330----------------------------- Captured stderr call -----------------------------2331DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2332WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2333WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2334WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2335DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2336DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2337DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2338DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2339DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2340DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2341DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2342DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2343DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2344DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2345DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2346DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2347DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72348ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2349DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2350DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2351DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock2352DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2353DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2354DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2355DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2356DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2357DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmppnhg8t31/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmppnhg8t31/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmppnhg8t31/foo" || exit 11;test -w "/tmp/tmppnhg8t31/foo" || exit 12;test -x "/tmp/tmppnhg8t31/foo" || exit 13;exit 20']2358DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmppnhg8t31/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmppnhg8t31/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmppnhg8t31/foo" || exit 11;test -w "/tmp/tmppnhg8t31/foo" || exit 12;test -x "/tmp/tmppnhg8t31/foo" || exit 13;exit 202359DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202360DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmppnhg8t31/foo /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint2361DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmppnhg8t31/foo', '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint'].2362INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmppnhg8t31/foo on /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint2363DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/locks/5467.lock2364DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock2365INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run2366DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2367DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpoj1u0uoa/ travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot"2368DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpoj1u0uoa/ travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot'2369DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 02370ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467/backintime/test-host/test-user/1/new_snapshot/backup'2371DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2372INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2373DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpo70qqgbq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpbo9w0cno/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpbo9w0cno/** --exclude=* / travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot/backup"2374DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpo70qqgbq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpo70qqgbq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpbo9w0cno/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpbo9w0cno/** --exclude=* / travis@localhost:/tmp/tmppnhg8t31/foo/backintime/test-host/test-user/1/new_snapshot/backup'2375DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 02376INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2377INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2378DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2379DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2380DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2381DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2382DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2383DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2384DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2385DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2386DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2387DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2388DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82389ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2390DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2391DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2392DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock2393INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmppnhg8t31/foo from /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/mountpoint2394DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/16D364CD/locks/5467.lock2395DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpo70qqgbq/.local/share/backintime/mnt/5467.lock2396_______________________ TakeSSH.test_new_exists_continue _______________________2398self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>2399sleep = <MagicMock name='sleep' id='124616888112080'>2401 @patch('time.sleep') # speed up unittest2402 def test_new_exists_continue(self, sleep):2403 new_snapshot = snapshots.NewSnapshot(self.cfg)2404 new_snapshot.makeDirs()2405 with open(new_snapshot.path('leftover'), 'wt') as f:2406 f.write('foo')2407 new_snapshot.saveToContinue = True2409 now = datetime.today() - timedelta(minutes = 6)2410 sid1 = snapshots.SID(now, self.cfg)2412> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2415_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2417 self.backupPermissions(new_snapshot)2418_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2420self = <snapshots.Snapshots object at 0x7156a0fb1640>, sid = new_snapshot2422 def backupPermissions(self, sid):2423 """2424 Save permissions (owner, group, read-, write- and executable)2425 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2427 Args:2428 sid (SID): snapshot that should be scanned2430 Returns:2431 int: Return code of rsync.2432 """2433 logger.info('Save permissions', self)2434 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2436 fileInfoDict = FileInfoDict()2438 if self.config.snapshotsMode() == 'ssh_encfs':2439 decode = encfstools.Decode(self.config, False)2440 else:2441> decode = encfstools.Bounce()2442E AttributeError: module 'encfstools' has no attribute 'Bounce'2445----------------------------- Captured stderr call -----------------------------2446DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2447WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2448WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2449WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2450DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2451DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2452DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2453DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2454DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2455DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2456DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2457DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2458DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2459DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2460DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2461DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2462DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72463ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2464DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2465DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2466DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock2467DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2468DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2469DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2470DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2471DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2472DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpdaa55bja/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdaa55bja/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdaa55bja/foo" || exit 11;test -w "/tmp/tmpdaa55bja/foo" || exit 12;test -x "/tmp/tmpdaa55bja/foo" || exit 13;exit 20']2473DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpdaa55bja/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdaa55bja/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdaa55bja/foo" || exit 11;test -w "/tmp/tmpdaa55bja/foo" || exit 12;test -x "/tmp/tmpdaa55bja/foo" || exit 13;exit 202474DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202475DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpdaa55bja/foo /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint2476DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpdaa55bja/foo', '/tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint'].2477INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpdaa55bja/foo on /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint2478DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/locks/5467.lock2479DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock2480INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.2481DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2482INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2483DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpa3sm4e7j/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpa3sm4e7j/** --exclude=* / travis@localhost:/tmp/tmpdaa55bja/foo/backintime/test-host/test-user/1/new_snapshot/backup"2484DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpkhw5uz_y/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpa3sm4e7j/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpa3sm4e7j/** --exclude=* / travis@localhost:/tmp/tmpdaa55bja/foo/backintime/test-host/test-user/1/new_snapshot/backup'2485DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 02486INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2487INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2488DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2489DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2490DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2491DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2492DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2493DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2494DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2495DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2496DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2497DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2498DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82499ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2500DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2501DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2502DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock2503INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpdaa55bja/foo from /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/mountpoint2504DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/DA66A97/locks/5467.lock2505DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkhw5uz_y/.local/share/backintime/mnt/5467.lock2506________________________ TakeSSH.test_spaces_in_exclude ________________________2508self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>2509sleep = <MagicMock name='sleep' id='124616881740960'>2511 @patch('time.sleep') # speed up unittest2512 def test_spaces_in_exclude(self, sleep):2513 now = datetime.today()2514 sid1 = snapshots.SID(now, self.cfg)2515 exclude = os.path.join(self.include.name, 'test path with spaces')2516 generic.create_test_files(exclude)2517 self.cfg.setExclude([exclude])2519> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2522_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2524 self.backupPermissions(new_snapshot)2525_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2527self = <snapshots.Snapshots object at 0x7156a0fbd310>, sid = new_snapshot2529 def backupPermissions(self, sid):2530 """2531 Save permissions (owner, group, read-, write- and executable)2532 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2534 Args:2535 sid (SID): snapshot that should be scanned2537 Returns:2538 int: Return code of rsync.2539 """2540 logger.info('Save permissions', self)2541 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2543 fileInfoDict = FileInfoDict()2545 if self.config.snapshotsMode() == 'ssh_encfs':2546 decode = encfstools.Decode(self.config, False)2547 else:2548> decode = encfstools.Bounce()2549E AttributeError: module 'encfstools' has no attribute 'Bounce'2552----------------------------- Captured stderr call -----------------------------2553DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2554WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2555WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2556WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2557DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2558DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2559DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2560DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2561DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2562DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2563DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2564DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2565DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2566DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2567DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2568DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2569DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72570ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2571DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2572DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2573DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock2574DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2575DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2576DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2577DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2578DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2579DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmp954p_upi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp954p_upi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp954p_upi/foo" || exit 11;test -w "/tmp/tmp954p_upi/foo" || exit 12;test -x "/tmp/tmp954p_upi/foo" || exit 13;exit 20']2580DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmp954p_upi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp954p_upi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp954p_upi/foo" || exit 11;test -w "/tmp/tmp954p_upi/foo" || exit 12;test -x "/tmp/tmp954p_upi/foo" || exit 13;exit 202581DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202582DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmp954p_upi/foo /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint2583DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmp954p_upi/foo', '/tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint'].2584INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp954p_upi/foo on /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint2585DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/locks/5467.lock2586DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock2587DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2588INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2589DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpgmk76bh0/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpgmk76bh0/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnp53elgy/ --include=/tmp/ --exclude=/tmp/tmpnp53elgy/test path with spaces --include=/tmp/tmpnp53elgy/** --exclude=* / travis@localhost:/tmp/tmp954p_upi/foo/backintime/test-host/test-user/1/new_snapshot/backup"2590DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpgmk76bh0/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpgmk76bh0/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnp53elgy/ --include=/tmp/ --exclude=/tmp/tmpnp53elgy/test path with spaces --include=/tmp/tmpnp53elgy/** --exclude=* / travis@localhost:/tmp/tmp954p_upi/foo/backintime/test-host/test-user/1/new_snapshot/backup'2591DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 02592INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2593INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2594DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2595DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2596DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2597DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2598DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2599DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2600DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2601DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2602DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2603DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2604DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82605ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2606DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2607DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2608DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock2609INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp954p_upi/foo from /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/mountpoint2610DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/E2B8867C/locks/5467.lock2611DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgmk76bh0/.local/share/backintime/mnt/5467.lock2612________________________ TakeSSH.test_spaces_in_include ________________________2614self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>2615sleep = <MagicMock name='sleep' id='124616888144080'>2617 @patch('time.sleep') # speed up unittest2618 def test_spaces_in_include(self, sleep):2619 now = datetime.today()2620 sid1 = snapshots.SID(now, self.cfg)2621 include = os.path.join(self.include.name, 'test path with spaces')2622 generic.create_test_files(include)2624> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))2627_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2629 self.backupPermissions(new_snapshot)2630_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2632self = <snapshots.Snapshots object at 0x7156a0fa78b0>, sid = new_snapshot2634 def backupPermissions(self, sid):2635 """2636 Save permissions (owner, group, read-, write- and executable)2637 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2639 Args:2640 sid (SID): snapshot that should be scanned2642 Returns:2643 int: Return code of rsync.2644 """2645 logger.info('Save permissions', self)2646 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2648 fileInfoDict = FileInfoDict()2650 if self.config.snapshotsMode() == 'ssh_encfs':2651 decode = encfstools.Decode(self.config, False)2652 else:2653> decode = encfstools.Bounce()2654E AttributeError: module 'encfstools' has no attribute 'Bounce'2657----------------------------- Captured stderr call -----------------------------2658DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2659WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2660WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2661WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2662DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2663DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2664DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2665DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2666DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2667DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2668DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2669DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2670DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2671DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2672DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2673DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2674DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 72675ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2676DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2677DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2678DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock2679DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2680DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2681DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2682DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2683DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2684DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpbuvumgo3/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpbuvumgo3/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpbuvumgo3/foo" || exit 11;test -w "/tmp/tmpbuvumgo3/foo" || exit 12;test -x "/tmp/tmpbuvumgo3/foo" || exit 13;exit 20']2685DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpbuvumgo3/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpbuvumgo3/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpbuvumgo3/foo" || exit 11;test -w "/tmp/tmpbuvumgo3/foo" || exit 12;test -x "/tmp/tmpbuvumgo3/foo" || exit 13;exit 202686DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202687DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpbuvumgo3/foo /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint2688DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpbuvumgo3/foo', '/tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint'].2689INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpbuvumgo3/foo on /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint2690DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/locks/5467.lock2691DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock2692DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2693INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2694DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvbap3zxq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpvbap3zxq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpzeota04p/test path with spaces/ --include=/tmp/tmpzeota04p/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpzeota04p/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpbuvumgo3/foo/backintime/test-host/test-user/1/new_snapshot/backup"2695DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvbap3zxq/.local/share/backintime/mnt/1_5467 --exclude=/tmp/tmpvbap3zxq/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpzeota04p/test path with spaces/ --include=/tmp/tmpzeota04p/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpzeota04p/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpbuvumgo3/foo/backintime/test-host/test-user/1/new_snapshot/backup'2696DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 02697INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2698INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2699DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2700DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2701DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2702DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2703DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2704DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2705DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2706DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2707DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2708DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2709DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.mx55mdgr/config_path/user-callback 1 Main profile 82710ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2711DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2712DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2713DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock2714INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpbuvumgo3/foo from /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/mountpoint2715DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/DC58AC28/locks/5467.lock2716DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpvbap3zxq/.local/share/backintime/mnt/5467.lock2717=========================== short test summary info ============================2718FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 12719stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2720WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2721WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2722INFO: Lock2723INFO: Take a new snapshot. Profile: 1 Main profile2724INFO: Call rsync to take the snapshot2725INFO: Save config file2726INFO: Save permissions2727Traceback (most recent call last):2728 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>2729 startApp()2730 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp2731 args.func(args)2732 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup2733 ret = takeSnapshot(cfg, force)2734 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot2735 ret = snapshots.Snapshots(cfg).backup(force)2736 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup2737 ret_val, ret_error = self.takeSnapshot(2738 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot2739 self.backupPermissions(new_snapshot)2740 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions2741 decode = encfstools.Bounce()2742AttributeError: module 'encfstools' has no attribute 'Bounce'2744stdout:2745Back In Time2746Version: 1.5.4-rc12748Back In Time comes with ABSOLUTELY NO WARRANTY.2749This is free software, and you are welcome to redistribute it2750under certain conditions; type `backintime --license' for details.2751FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).2752FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).2753FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.2754FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.2755FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'2756FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2757FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2758FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2759FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2760FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2761FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2762FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2763FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2764FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2765FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2766FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2767FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2768FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2769FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2770FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2771FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2773make: *** [Makefile:620: unittest-v] Error 12774The command "make unittest-v" exited with 2.2776The command "cd .." exited with 0.2778The command "cd qt" exited with 0.2780Replacement of python path with "/usr/bin/python3" successful.2781All OK. Now run:2782 make2783 sudo make install2784The command "./configure" exited with 0.2786# Man pages2787for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done2788The command "make" exited with 0.2790============================= test session starts ==============================2791platform linux -- Python 3.9.21, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.9.21/bin/python2792cachedir: .pytest_cache2793rootdir: /home/travis/build/bit-team/backintime/qt2794plugins: pyfakefs-5.7.42795collected 9 items2808The command "pytest --verbose" exited with 0.2811Done. Your build exited with 1.