AMD64
Python: 3.13
Git
PYTHONUNBUFFERED=1
Scroll to End of Log
0.21s0.13s3.13 is not installed; attempting download0.07s0.00sTopworker_info1Worker information2hostname: 92260490-7846-48a3-9686-8d9c88fc5b19@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-33version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f0304instance: travis-job-b4caaaa8-93f7-4ba0-adf5-e0476ef4db52 travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)5startup: 5.760850643ssystem_info7Build system information8Build language: python9Build dist: jammy10Build id: 27423638511Job id: 63063362712Runtime 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.06s0.00s0.02s0.15s0.00s0.00s0.00s0.01s0.00s0.13s0.00s1.05s0.00s0.00s21.51s0.00s3.78s0.00s3.88sdocker_mtu_and_registry_mirrorsDockerresolvconf161Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/22.04/x86_64/python-3.13.tar.bz21640.00sssh_known_hosts.0165Adding ssh known hosts166$ mkdir -p ${TRAVIS_HOME}/.ssh1670.06s$ 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|yEf2aAIrBofEnqN5arK8+Nmq8TA=|pbqy8RkvNK8H0y/qQyRbrpKJCVw= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=172|1|zqf6bNFf5l13zi1i+yG62OfcSXE=|3vlDpc/nmNK47PEgnKBx8gr5CIg= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=git.checkout175Cloning into 'bit-team/backintime'...176remote: Enumerating objects: 932, done.177remote: Counting objects: 100% (932/932), done.178remote: Compressing objects: 100% (559/559), done.179remote: Total 932 (delta 541), reused 631 (delta 344), pack-reused 0 (from 0)180Receiving objects: 100% (932/932), 4.82 MiB | 13.70 MiB/s, done.181Resolving deltas: 100% (541/541), done.182$ cd bit-team/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 | 335.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.13.1200$ pip --version201pip 25.0 from /home/travis/virtualenv/python3.13.1/lib/python3.13/site-packages/pip (python 3.13)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 (423 kB/s)223Selecting previously unselected package sshfs.224(Reading database ... 132481 files and directories currently installed.)225Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...226Unpacking sshfs (3.7.1+repack-2) ...227Setting up sshfs (3.7.1+repack-2) ...228Processing triggers for man-db (2.10.2-1) ...229NEEDRESTART-VER: 3.5230NEEDRESTART-KCUR: 6.8.0-1018-gcp231NEEDRESTART-KEXP: 6.8.0-1018-gcp232NEEDRESTART-KSTA: 1install.1234Requirement already satisfied: pip in /home/travis/virtualenv/python3.13.1/lib/python3.13/site-packages (25.0)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 25.0241 Uninstalling pip-25.0:242 Successfully uninstalled pip-25.0243Successfully 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.3.6 (from pylint)256 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)257Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.13.1/lib/python3.13/site-packages (from pylint) (4.3.6)258Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)259 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)260Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)261 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)262Collecting mccabe<0.8,>=0.6 (from pylint)263 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)264Collecting tomlkit>=0.10.1 (from pylint)265 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)266Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)267 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)268Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)269 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)270Collecting SecretStorage>=3.2 (from keyring)271 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)272Collecting jeepney>=0.4.2 (from keyring)273 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)274Collecting jaraco.classes (from keyring)275 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)276Collecting jaraco.functools (from keyring)277 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)278Collecting jaraco.context (from keyring)279 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)280Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)281 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)282Collecting more-itertools (from jaraco.classes->keyring)283 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)284Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)285 Downloading cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)286Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)287 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)288Downloading pylint-3.3.4-py3-none-any.whl (522 kB)289Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)290Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)291Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)292Downloading keyring-25.6.0-py3-none-any.whl (39 kB)293Downloading astroid-3.3.8-py3-none-any.whl (275 kB)294Downloading dill-0.3.9-py3-none-any.whl (119 kB)295Downloading isort-6.0.0-py3-none-any.whl (94 kB)296Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)297Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)298Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)299Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)300Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)301Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)302Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)303Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)304Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)305Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)306Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)307Downloading cffi-1.17.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)308Downloading pycparser-2.22-py3-none-any.whl (117 kB)309Installing collected packages: tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, jaraco.context, isort, dill, astroid, pylint, jaraco.functools, jaraco.classes, flake8, cffi, cryptography, SecretStorage, keyring310Successfully installed SecretStorage-3.3.3 astroid-3.3.8 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 isort-6.0.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.6.0 mccabe-0.7.0 more-itertools-10.6.0 pycodestyle-2.12.1 pycparser-2.22 pyfakefs-5.7.4 pyflakes-3.2.0 pylint-3.3.4 ruff-0.9.6 tomlkit-0.13.2install.3312Collecting pyqt6313 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)314Collecting dbus-python315 Downloading dbus-python-1.3.2.tar.gz (605 kB)316 Installing build dependencies ... done317 Getting requirements to build wheel ... done318 Preparing metadata (pyproject.toml) ... done319Collecting PyQt6-sip<14,>=13.8 (from pyqt6)320 Downloading PyQt6_sip-13.10.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)321Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)322 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)323Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)324Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)325Downloading PyQt6_sip-13.10.0-cp313-cp313-manylinux_2_5_x86_64.manylinux1_x86_64.whl (303 kB)326Building wheels for collected packages: dbus-python327 Building wheel for dbus-python (pyproject.toml) ... done328 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp313-cp313-linux_x86_64.whl size=122684 sha256=741961600e91375a844d9f950bee5e6462566ec70418cdb3f5fa3e62b188cd57329 Stored in directory: /home/travis/.cache/pip/wheels/5d/23/1a/9e68bd3918c8f34a7ab75dda40f5c012553a32ca87408ce35f330Successfully built dbus-python331Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6332Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1install.4334Generating public/private rsa key pair.335Your identification has been saved in /home/travis/.ssh/id_rsa336Your public key has been saved in /home/travis/.ssh/id_rsa.pub337The key fingerprint is:338SHA256:RCgQhOAFuylrnl293MYJ0AaayvHJv7F4SMaJM98zCBg travis@travis-job-b4caaaa8-93f7-4ba0-adf5-e0476ef4db52339The key's randomart image is:340+---[RSA 2048]----+341|o+=+ .. |342|o o .... |343| o o.o . |344|E.oo . + |345|++B o o S |346|oO O .. |347|..B =o .o . |348|o o+o*+ o+ |349| o o.o+o.. |350+----[SHA256]-----+install.5355Listing 'common'...356Compiling 'common/applicationinstance.py'...357Compiling 'common/askpass.py'...358Compiling 'common/backintime.py'...359Listing 'common/bash-completion'...360Compiling 'common/bcolors.py'...361Compiling 'common/bitbase.py'...362Compiling 'common/cli.py'...363Compiling 'common/config.py'...364Compiling 'common/configfile.py'...365Compiling 'common/daemon.py'...366Compiling 'common/diagnostics.py'...367Listing 'common/doc-dev'...368Listing 'common/doc-dev/_static'...369Listing 'common/doc-dev/_templates'...370Compiling 'common/doc-dev/conf.py'...371Listing 'common/doc-dev/plugins'...372Compiling 'common/encfstools.py'...373Compiling 'common/encode.py'...374Compiling 'common/exceptions.py'...375Compiling 'common/flock.py'...376Compiling 'common/guiapplicationinstance.py'...377Compiling 'common/languages.py'...378Compiling 'common/logger.py'...379Listing 'common/man'...380Listing 'common/man/C'...381Compiling 'common/mount.py'...382Compiling 'common/password.py'...383Compiling 'common/password_ipc.py'...384Compiling 'common/pluginmanager.py'...385Listing 'common/plugins'...386Compiling 'common/plugins/usercallbackplugin.py'...387Listing 'common/po'...388Compiling 'common/progress.py'...389Compiling 'common/qt_probing.py'...390Compiling 'common/schedule.py'...391Compiling 'common/singleton.py'...392Compiling 'common/snapshotlog.py'...393Compiling 'common/snapshots.py'...394Compiling 'common/ssh_max_arg.py'...395Compiling 'common/sshtools.py'...396Listing 'common/test'...397Compiling 'common/test/__init__.py'...398Compiling 'common/test/constants.py'...399Compiling 'common/test/generic.py'...400Compiling 'common/test/test_applicationinstance.py'...401Compiling 'common/test/test_argparser.py'...402Compiling 'common/test/test_backintime.py'...403Compiling 'common/test/test_backup.py'...404Compiling 'common/test/test_config.py'...405Compiling 'common/test/test_config_crontab.py'...406Compiling 'common/test/test_configfile.py'...407Compiling 'common/test/test_diagnostics.py'...408Compiling 'common/test/test_encfstools.py'...409Compiling 'common/test/test_languages.py'...410Compiling 'common/test/test_lint.py'...411Compiling 'common/test/test_mount.py'...412Compiling 'common/test/test_plugin_usercallback.py'...413Compiling 'common/test/test_restore.py'...414Compiling 'common/test/test_schedule.py'...415Compiling 'common/test/test_sid.py'...416Compiling 'common/test/test_singleton.py'...417Compiling 'common/test/test_snapshotlog.py'...418Compiling 'common/test/test_snapshots.py'...419Compiling 'common/test/test_snapshots_autoremove.py'...420Compiling 'common/test/test_sshtools.py'...421Compiling 'common/test/test_takeSnapshot.py'...422Compiling 'common/test/test_tools.py'...423Compiling 'common/test/test_uniquenessset.py'...424Compiling 'common/tools.py'...425Compiling 'common/uniquenessset.py'...426Compiling 'common/version.py'...427Listing 'common/test'...428Listing 'common/plugins'...429Listing 'qt'...430Compiling 'qt/aboutdlg.py'...431Compiling 'qt/app.py'...432Compiling 'qt/editusercallback.py'...433Compiling 'qt/encfsmsgbox.py'...434Compiling 'qt/icon.py'...435Listing 'qt/icons'...436Listing 'qt/icons/16x16'...437Listing 'qt/icons/16x16/actions'...438Listing 'qt/icons/22x22'...439Listing 'qt/icons/22x22/actions'...440Listing 'qt/icons/24x24'...441Listing 'qt/icons/24x24/actions'...442Listing 'qt/icons/32x32'...443Listing 'qt/icons/32x32/actions'...444Listing 'qt/icons/48x48'...445Listing 'qt/icons/48x48/actions'...446Listing 'qt/icons/scalable'...447Listing 'qt/icons/scalable/actions'...448Compiling 'qt/languagedialog.py'...449Compiling 'qt/logviewdialog.py'...450Listing 'qt/man'...451Listing 'qt/man/C'...452Listing 'qt/manageprofiles'...453Compiling 'qt/manageprofiles/__init__.py'...454Compiling 'qt/manageprofiles/combobox.py'...455Compiling 'qt/manageprofiles/schedulewidget.py'...456Compiling 'qt/manageprofiles/spinboxunit.py'...457Compiling 'qt/manageprofiles/sshproxywidget.py'...458Compiling 'qt/manageprofiles/statebindcheckbox.py'...459Compiling 'qt/manageprofiles/tab_expert_options.py'...460Compiling 'qt/manageprofiles/tab_general.py'...461Compiling 'qt/manageprofiles/tab_options.py'...462Compiling 'qt/manageprofiles/tab_remove_retention.py'...463Compiling 'qt/messagebox.py'...464Listing 'qt/plugins'...465Compiling 'qt/plugins/notifyplugin.py'...466Compiling 'qt/plugins/systrayiconplugin.py'...467Compiling 'qt/qtsystrayicon.py'...468Compiling 'qt/qttools.py'...469Compiling 'qt/qttools_path.py'...470Compiling 'qt/restoreconfigdialog.py'...471Compiling 'qt/restoredialog.py'...472Compiling 'qt/serviceHelper.py'...473Compiling 'qt/snapshotsdialog.py'...474Compiling 'qt/statedata.py'...475Listing 'qt/test'...476Compiling 'qt/test/__init__.py'...477Compiling 'qt/test/test_lint.py'...478Compiling 'qt/test/test_statedata.py'...479Compiling 'qt/usermessagedialog.py'...480Listing 'qt/test'...481Listing 'qt/plugins'...482The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.484The command "cd common" exited with 0.486Replacement of python path with "/usr/bin/python3" successful.487All OK. Now run:488 make489 sudo make install490The command "./configure" exited with 0.492/home/travis/virtualenv/python3.13.1/bin/pytest -v493============================= test session starts ==============================494platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.13.1/bin/python495cachedir: .pytest_cache496rootdir: /home/travis/build/bit-team/backintime/common497plugins: pyfakefs-5.7.4498collected 427 items504test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]505test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]507test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]599test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]605test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]629test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]928=================================== FAILURES ===================================929_________________ BackInTime.test_local_snapshot_is_successful _________________931self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>933 def test_local_snapshot_is_successful(self):934 """From BIT initialization through snapshot936 From BIT initialization all the way through successful snapshot on a937 local mount. test one of the highest level interfaces a user could938 work with - the command line ensures that argument parsing,939 functionality, and output all work as expected is NOT intended to940 replace individual method tests, which are incredibly useful as well.942 Development notes (by Buhtz, 2023):943 Multiple tests do compare return codes and output on stdout. It is NOT944 tested what is on the file system. The intention might be a system945 test. But the asserts not qualified to answer the important questions946 and observe the intended behavior. Heavy refactoring is needed. But947 because of the "level" of that tests it won't happen in the near948 future. Also maintenance costs of this tests are damn high because949 every tiny modification of BIT gives a false fail of this test.951 Development notes (by Buhtz, 2024-05):952 It is just dumb stdout parsing. I tend to remove this test because of953 the calculation of its value and its maintenance costs.954 """956 # ensure that we see full diffs of assert output if there are any957 self.maxDiff = None959 # create pristine source directory with single file960 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")961 os.mkdir('/tmp/test')963 with open('/tmp/test/testfile', 'w') as f:964 f.write('some data')966 # create pristine snapshot directory967 subprocess.getoutput(968 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")969 os.mkdir('/tmp/snapshots')971 # remove restored directory972 subprocess.getoutput("rm -rf /tmp/restored")974 # install proper destination filesystem structure and verify output975 proc = subprocess.Popen(["./backintime",976 "--config",977 "test/config",978 "--share-path",979 self.sharePath,980 "check-config",981 # do not overwrite users crontab982 "--no-crontab"],983 stdout=subprocess.PIPE,984 stderr=subprocess.PIPE)986 output, error = proc.communicate()987 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \988 .format(proc.returncode, error.decode(), output.decode())990 self.assertEqual(proc.returncode, 0, msg)992 self.assertRegex(output.decode(), re.compile(r'''993 Back In Time994 Version: \d+.\d+.\d+.*996 Back In Time comes with ABSOLUTELY NO WARRANTY.997 This is free software, and you are welcome to redistribute it998 under certain conditions; type `backintime --license' for details.1000 (INFO: Update to config version \d+1001 )?1002 \+--------------------------------\+1003 | Check/prepare snapshot path |1004 \+--------------------------------\+1005 Check/prepare snapshot path: done1007 \+--------------------------------\+1008 | Check config |1009 \+--------------------------------\+1010 Check config: done1012 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))1014 # execute backup and verify output1015 proc = subprocess.Popen(["./backintime",1016 "--config", "test/config",1017 "--share-path", self.sharePath,1018 "backup"],1019 stdout=subprocess.PIPE,1020 stderr=subprocess.PIPE)1021 output, error = proc.communicate()1022 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \1023 .format(proc.returncode, error.decode(), output.decode())1024> self.assertEqual(proc.returncode, 0, msg)1025E AssertionError: 1 != 0 : Returncode: 11026E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1027E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1028E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1029E INFO: Lock1030E INFO: Take a new snapshot. Profile: 1 Main profile1031E INFO: Call rsync to take the snapshot1032E INFO: Save config file1033E INFO: Save permissions1034E Traceback (most recent call last):1035E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>1036E startApp()1037E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp1038E args.func(args)1039E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup1040E ret = takeSnapshot(cfg, force)1041E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot1042E ret = snapshots.Snapshots(cfg).backup(force)1043E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup1044E ret_val, ret_error = self.takeSnapshot(1045E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot1046E self.backupPermissions(new_snapshot)1047E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions1048E decode = encfstools.Bounce()1049E AttributeError: module 'encfstools' has no attribute 'Bounce'1050E1051E stdout:1052E Back In Time1053E Version: 1.5.4-rc11054E1055E Back In Time comes with ABSOLUTELY NO WARRANTY.1056E This is free software, and you are welcome to redistribute it1057E under certain conditions; type `backintime --license' for details.1060______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________1062self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>1064 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))1065 def test010_ruff_default_ruleset(self):1066 """Ruff in default mode."""1068 # ATTENTIION: Some settings are found in pyproject.toml1069 cmd = [1070 'ruff',1071 'check',1072 # Additionally activate subset of special rules:1073 # - PyLint (PL)1074 # - PyCodestyle (E, W)1075 # - flake8-gettext (INT)1076 # - useless noqua (RUF100)1077 '--extend-select=PL,E,W,INT,RUF100',1078 # Ignore: redefined-loop-name1079 '--ignore=PLW2901',1080 '--line-length', str(PEP8_MAX_LINE_LENGTH),1081 # Because of globally installed GNU gettext functions1082 '--config', 'builtins=["_", "ngettext"]',1083 # Ruff counting branches different from PyLint.1084 # See: <https://www.reddit.com/r/learnpython/comments/1085 # 1buojae/comment/kxu0mp3>1086 '--config', 'pylint.max-branches=13',1087 '--config', 'flake8-quotes.inline-quotes = "single"',1088 # one error per line (no context lines)1089 '--output-format=concise',1090 '--quiet',1091 ]1093 cmd.extend(full_test_files)1095 proc = subprocess.run(1096 cmd,1097 check=False,1098 universal_newlines=True,1099 capture_output=True1100 )1102 # No errors other then linter rules1103 self.assertIn(proc.returncode, [0, 1], proc.stderr)1105 error_n = len(proc.stdout.splitlines())1106 if error_n > 0:1107 print(proc.stdout)1109> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')1110E AssertionError: 0 != 1 : Ruff found 1 problem(s).1113----------------------------- Captured stdout call -----------------------------1114test/test_mount.py:205:80: E501 Line too long (89 > 79)1116_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________1118self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>1120 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))1121 def test020_flake8_default_ruleset(self):1122 """Flake8 in default mode."""1123 cmd = [1124 'flake8',1125 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',1126 '--builtins=_,ngettext',1127 # '--enable-extensions='1128 ]1130 cmd.extend(full_test_files)1132 proc = subprocess.run(1133 cmd,1134 check=False,1135 universal_newlines=True,1136 capture_output=True1137 )1139 error_n = len(proc.stdout.splitlines())1140 if error_n > 0:1141 print(proc.stdout)1143> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')1144E AssertionError: 0 != 2 : Flake8 found 2 problem(s).1147----------------------------- Captured stdout call -----------------------------1148/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)1149/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)1151_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________1153self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>1155 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1156 def test030_pylint_default_ruleset(self):1157 """Use Pylint with all default rules to check specific files.1158 """1160 cmd = create_pylint_cmd()1162 # Add py-files1163 cmd.extend(full_test_files)1165 r = subprocess.run(1166 cmd,1167 check=False,1168 universal_newlines=True,1169 capture_output=True)1171 # Count lines except module headings1172 error_n = len(list(filter(lambda line: not line.startswith('*****'),1173 r.stdout.splitlines())))1174 print(r.stdout)1176> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1177E AssertionError: 0 != 8 : PyLint found 8 problems.1180----------------------------- Captured stdout call -----------------------------1181************* Module test.test_mount1182test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)1183test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)1184test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1185test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)1186test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1187test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)1188test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)1189test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)1191____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________1193self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>1195 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1196 def test050_pylint_exclusive_ruleset(self):1197 """Use Pylint to check for specific rules only.1199 Some facts about PyLint1200 - It is one of the slowest available linters.1201 - It is able to catch lints other linters miss.1202 """1204 # Explicit activate checks1205 err_codes = [1206 'C0305', # trailing-newlines1207 'C0325', # superfluous-parens1208 'C0410', # multiple-imports1209 'C0303', # trailing-whitespace1210 'E0100', # init-is-generator1211 'E0101', # return-in-init1212 'E0102', # function-redefined1213 'E0103', # not-in-loop1214 'E0106', # return-arg-in-generator1215 'E0213', # no-self-argument1216 'E0401', # import-error1217 'E0602', # undefined-variable1218 'E1101', # no-member1219 'I0021', # useless-suppression1220 'W0123', # eval-used1221 'W0237', # arguments-renamed1222 'W0311', # bad-indentation1223 'W0404', # reimported1224 'W0611', # unused-import1225 'W0612', # unused-variable1226 'W0614', # unused-wildcard-import1227 'W0707', # raise-missing-from1228 'W1301', # unused-format-string-key1229 'W1401', # anomalous-backslash-in-string (invalid escape sequence)1230 'W1515', # forgotten-debug-statement1231 'W4902', # deprecated-method1232 'W4904', # deprecated-class1233 'R0202', # no-classmethod-decorator1234 'R0203', # no-staticmethod-decorator1235 # See PyLint bugs:1236 # https://github.com/pylint-dev/pylint/issues/2141237 # https://github.com/pylint-dev/pylint/issues/79201238 # 'R0801', # duplicate-code1240 # Enable asap. This list is a selection of existing (not all!)1241 # problems currently existing in the BIT code base. Quite easy to1242 # fix because their count is low.1243 # 'W0237', # arguments-renamed1244 # 'W0221', # arguments-differ1245 # 'W0603', # global-statement1246 ]1248 cmd = create_pylint_cmd(err_codes)1250 # Add py-files1251 cmd.extend(self._collect_py_files())1253 r = subprocess.run(1254 cmd,1255 check=False,1256 universal_newlines=True,1257 capture_output=True)1259 # Count lines except module headings and output about duplicate code1260 error_n = len(list(filter(1261 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),1262 r.stdout.splitlines())))1263 print(r.stdout)1265> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1266E AssertionError: 0 != 2 : PyLint found 2 problems.1269----------------------------- Captured stdout call -----------------------------1270************* Module snapshots1271snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)1272************* Module test.test_encfstools1273test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)1275________________________ SystemTest.test_local_snapshot ________________________1277self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>1279 def test_local_snapshot(self):1280 """User-callback response while doing a local snapshot"""1282 config = Config(1283 config_path=str(self.config_fp),1284 data_path=str(self.temp_path / '.local' / 'share')1285 )1287 full_snapshot_path = config.snapshotsFullPath()1288 Path(full_snapshot_path).mkdir(parents=True)1290 snapshot = Snapshots(config)1292 # DevNote : Because BIT don't use Python's logging module there is1293 # no way to use assertLogs(). Current solution is to capture1294 # stdout/stderr.1295 stdout = io.StringIO()1296 stderr = io.StringIO()1298 with redirect_stdout(stdout), redirect_stderr(stderr):1299 # Result is inverted. 'True' means there was an error.1300> self.assertFalse(snapshot.backup())1303_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1305 ret_val, ret_error = self.takeSnapshot(1307 self.backupPermissions(new_snapshot)1308_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1310self = <snapshots.Snapshots object at 0x7ed60766f350>, sid = new_snapshot1312 def backupPermissions(self, sid):1313 """1314 Save permissions (owner, group, read-, write- and executable)1315 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1317 Args:1318 sid (SID): snapshot that should be scanned1320 Returns:1321 int: Return code of rsync.1322 """1323 logger.info('Save permissions', self)1324 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1326 fileInfoDict = FileInfoDict()1328 if self.config.snapshotsMode() == 'ssh_encfs':1329 decode = encfstools.Decode(self.config, False)1330 else:1331> decode = encfstools.Bounce()1332E AttributeError: module 'encfstools' has no attribute 'Bounce'1335----------------------------- Captured stderr call -----------------------------1336DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1337WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1338WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1339WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1340DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1341DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1342___________________ SnapshotWithSID.test_backup_permissions ____________________1344self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>1346 def test_backup_permissions(self):1347 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)1348 infoFilePath = os.path.join(self.snapshotPath,1349 '20151219-010324-123',1350 'fileinfo.bz2')1352 include = self.cfg.include()[0][0]1353 with TemporaryDirectory(dir = include) as tmp:1355 file_path = os.path.join(tmp, 'foo')1356 with open(file_path, 'wt') as f:1357 f.write('bar')1358 f.flush()1360 self.sid.makeDirs(tmp)1361 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:1362 snapshot_f.write('bar')1363 snapshot_f.flush()1365> self.sn.backupPermissions(self.sid)1368_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1370self = <snapshots.Snapshots object at 0x7ed5f9d38ff0>, sid = 20151219-010324-1231372 def backupPermissions(self, sid):1373 """1374 Save permissions (owner, group, read-, write- and executable)1375 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1377 Args:1378 sid (SID): snapshot that should be scanned1380 Returns:1381 int: Return code of rsync.1382 """1383 logger.info('Save permissions', self)1384 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1386 fileInfoDict = FileInfoDict()1388 if self.config.snapshotsMode() == 'ssh_encfs':1389 decode = encfstools.Decode(self.config, False)1390 else:1391> decode = encfstools.Bounce()1392E AttributeError: module 'encfstools' has no attribute 'Bounce'1395----------------------------- Captured stderr call -----------------------------1396DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1397WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1398WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1399WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1400DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1401DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1402INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1403____________________ SshPermissions.test_backup_permissions ____________________1405self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>1407 def test_backup_permissions(self):1408 """Backup file permissions in SSH backup mode."""1410 # --- prepare environment ---1412 # config instance1413 cfg = _init_basic_config()1414 # snapshots profile1415 snapshot = _init_ssh_profile(cfg)1416 # backup source directory1417 _init_source_path(cfg)1418 # simulate a taken snapshot1419 sid = _init_concrete_snapshot(cfg)1421 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand1422 # all details yet.1423 # mount1424 mount_obj = _init_mounting(cfg)1425 # ...unmount when test finished1426 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))1428 # --- prepare the backup source ---1430 # Does the concrete snapshot exists?1431 self.assertTrue(sid.exists())1433 # The backup source path1434 # e.g. /tmp/e2uij3y1435 source_path = pathlib.Path(cfg.include()[0][0])1436 # ...exists?1437 self.assertTrue(source_path.exists())1439 # create the test files in the backup source directory1440 generic.create_test_files(str(source_path))1442 # --- Do the job to test. ---1444 # backup permissions of files/folders in the backup source1445> rc = snapshot.backupPermissions(sid)1448_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1450self = <snapshots.Snapshots object at 0x7ed5f9d39a90>, sid = 20151219-010324-1231452 def backupPermissions(self, sid):1453 """1454 Save permissions (owner, group, read-, write- and executable)1455 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1457 Args:1458 sid (SID): snapshot that should be scanned1460 Returns:1461 int: Return code of rsync.1462 """1463 logger.info('Save permissions', self)1464 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1466 fileInfoDict = FileInfoDict()1468 if self.config.snapshotsMode() == 'ssh_encfs':1469 decode = encfstools.Decode(self.config, False)1470 else:1471> decode = encfstools.Bounce()1472E AttributeError: module 'encfstools' has no attribute 'Bounce'1475----------------------------- Captured stderr call -----------------------------1476DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1477WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1478WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1479WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1480DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1481DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1482DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1483DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1484DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)1485DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)1486DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']1487DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]1488DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.1489DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.1490DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running1491DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']1492DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 71493INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '7']'1494DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1495DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1496DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock1497DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"1498DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available1499DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login1500DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']1501DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory1502DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparent3f3oaq9v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 13;exit 20']1503DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparent3f3oaq9v/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparent3f3oaq9v/foo" || exit 13;exit 201504DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 201505DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint1506DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo', '/tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint'].1507INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo on /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint1508DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/locks/5449.lock1509DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock1510INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1511DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 81512INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '8']'1513DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1514DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1515DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock1516INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparent3f3oaq9v/foo from /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/mountpoint1517DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/7267BC99/locks/5449.lock1518DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIR3zmeeoi6/.local/share/backintime/mnt/5449.lock1519_______________________________ Take.test_error ________________________________1521self = <test.test_takeSnapshot.Take testMethod=test_error>1522sleep = <MagicMock name='sleep' id='139457483231920'>1524 @patch('time.sleep') # speed up unittest1525 def test_error(self, sleep):1526 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1527 now = datetime.today()1528 sid1 = snapshots.SID(now, self.cfg)1530> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1533_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1535 self.backupPermissions(new_snapshot)1536_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1538self = <snapshots.Snapshots object at 0x7ed5f9c04c30>, sid = new_snapshot1540 def backupPermissions(self, sid):1541 """1542 Save permissions (owner, group, read-, write- and executable)1543 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1545 Args:1546 sid (SID): snapshot that should be scanned1548 Returns:1549 int: Return code of rsync.1550 """1551 logger.info('Save permissions', self)1552 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1554 fileInfoDict = FileInfoDict()1556 if self.config.snapshotsMode() == 'ssh_encfs':1557 decode = encfstools.Decode(self.config, False)1558 else:1559> decode = encfstools.Bounce()1560E AttributeError: module 'encfstools' has no attribute 'Bounce'1563----------------------------- Captured stderr call -----------------------------1564DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1565WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1566WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1567WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1568DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1569DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1570INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1571DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup"1572DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup'1573WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpi8ilgjbl --exclude=/tmp/tmpbcyzb_tb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpuwlzaa13/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpuwlzaa13/** --exclude=* / /tmp/tmpi8ilgjbl/backintime/test-host/test-user/1/new_snapshot/backup" returns 231574INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1575INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1576______________________________ Take.test_exclude _______________________________1578self = <test.test_takeSnapshot.Take testMethod=test_exclude>1579sleep = <MagicMock name='sleep' id='139457483235280'>1581 @patch('time.sleep') # speed up unittest1582 def test_exclude(self, sleep):1583 now = datetime.today()1584 sid1 = snapshots.SID(now, self.cfg)1585 self.cfg.setExclude(['bar/baz'])1587> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1590_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1592 self.backupPermissions(new_snapshot)1593_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1595self = <snapshots.Snapshots object at 0x7ed5f9c05f90>, sid = new_snapshot1597 def backupPermissions(self, sid):1598 """1599 Save permissions (owner, group, read-, write- and executable)1600 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1602 Args:1603 sid (SID): snapshot that should be scanned1605 Returns:1606 int: Return code of rsync.1607 """1608 logger.info('Save permissions', self)1609 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1611 fileInfoDict = FileInfoDict()1613 if self.config.snapshotsMode() == 'ssh_encfs':1614 decode = encfstools.Decode(self.config, False)1615 else:1616> decode = encfstools.Bounce()1617E AttributeError: module 'encfstools' has no attribute 'Bounce'1620----------------------------- Captured stderr call -----------------------------1621DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1622WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1623WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1624WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1625DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1626DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1627INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1628DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpljdzhias --exclude=/tmp/tmpq1w8z_y2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpw9aat8nl/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpw9aat8nl/** --exclude=* / /tmp/tmpljdzhias/backintime/test-host/test-user/1/new_snapshot/backup"1629DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpljdzhias --exclude=/tmp/tmpq1w8z_y2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpw9aat8nl/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpw9aat8nl/** --exclude=* / /tmp/tmpljdzhias/backintime/test-host/test-user/1/new_snapshot/backup'1630DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 01631INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1632INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1633___________________________ Take.test_four_snapshots ___________________________1635self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>1636sleep = <MagicMock name='sleep' id='139457483236960'>1638 @patch('time.sleep') # speed up unittest1639 def test_four_snapshots(self, sleep):1640 now = datetime.today() - timedelta(minutes = 6)1641 sid1 = snapshots.SID(now, self.cfg)1643 # Note: 'self.sn' is of type 'Snapshots'1644 # First boolean: Snapshot succeeded1645 # Second boolean: Error occurred1646 self.assertListEqual(1647 [True, False], # Snapshot without error1648> self.sn.takeSnapshot(1649 sid=sid1,1650 now=now,1651 include_folders=[1652 (self.include.name, 0), # '0' means it is a file1653 ]1654 )1655 )1658_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1660 self.backupPermissions(new_snapshot)1661_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1663self = <snapshots.Snapshots object at 0x7ed5f9c04cd0>, sid = new_snapshot1665 def backupPermissions(self, sid):1666 """1667 Save permissions (owner, group, read-, write- and executable)1668 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1670 Args:1671 sid (SID): snapshot that should be scanned1673 Returns:1674 int: Return code of rsync.1675 """1676 logger.info('Save permissions', self)1677 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1679 fileInfoDict = FileInfoDict()1681 if self.config.snapshotsMode() == 'ssh_encfs':1682 decode = encfstools.Decode(self.config, False)1683 else:1684> decode = encfstools.Bounce()1685E AttributeError: module 'encfstools' has no attribute 'Bounce'1688----------------------------- Captured stderr call -----------------------------1689DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1690WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1691WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1692WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1693DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1694DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1695INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1696DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvvhvvf6e --exclude=/tmp/tmpecker8dd/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpternpyq3/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpternpyq3/** --exclude=* / /tmp/tmpvvhvvf6e/backintime/test-host/test-user/1/new_snapshot/backup"1697DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvvhvvf6e --exclude=/tmp/tmpecker8dd/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpternpyq3/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpternpyq3/** --exclude=* / /tmp/tmpvvhvvf6e/backintime/test-host/test-user/1/new_snapshot/backup'1698DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 01699INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1700INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1701_____________________________ Take.test_new_exists _____________________________1703self = <test.test_takeSnapshot.Take testMethod=test_new_exists>1704sleep = <MagicMock name='sleep' id='139457483231248'>1706 @patch('time.sleep') # speed up unittest1707 def test_new_exists(self, sleep):1708 new_snapshot = snapshots.NewSnapshot(self.cfg)1709 new_snapshot.makeDirs()1710 with open(new_snapshot.path('leftover'), 'wt') as f:1711 f.write('foo')1713 now = datetime.today() - timedelta(minutes = 6)1714 sid1 = snapshots.SID(now, self.cfg)1716> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1719_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1721 self.backupPermissions(new_snapshot)1722_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1724self = <snapshots.Snapshots object at 0x7ed5f9c07250>, sid = new_snapshot1726 def backupPermissions(self, sid):1727 """1728 Save permissions (owner, group, read-, write- and executable)1729 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1731 Args:1732 sid (SID): snapshot that should be scanned1734 Returns:1735 int: Return code of rsync.1736 """1737 logger.info('Save permissions', self)1738 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1740 fileInfoDict = FileInfoDict()1742 if self.config.snapshotsMode() == 'ssh_encfs':1743 decode = encfstools.Decode(self.config, False)1744 else:1745> decode = encfstools.Bounce()1746E AttributeError: module 'encfstools' has no attribute 'Bounce'1749----------------------------- Captured stderr call -----------------------------1750DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1751WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1752WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1753WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1754DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1755DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1756INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run1757DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpa025ph7e/ /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot"1758DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpa025ph7e/ /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot'1759DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 01760INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1761DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp75ij57dx --exclude=/tmp/tmpwal5p8vh/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpv9tweac9/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpv9tweac9/** --exclude=* / /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot/backup"1762DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp75ij57dx --exclude=/tmp/tmpwal5p8vh/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpv9tweac9/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpv9tweac9/** --exclude=* / /tmp/tmp75ij57dx/backintime/test-host/test-user/1/new_snapshot/backup'1763DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 01764INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1765INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1766________________________ Take.test_new_exists_continue _________________________1768self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>1769sleep = <MagicMock name='sleep' id='139457483238304'>1771 @patch('time.sleep') # speed up unittest1772 def test_new_exists_continue(self, sleep):1773 new_snapshot = snapshots.NewSnapshot(self.cfg)1774 new_snapshot.makeDirs()1775 with open(new_snapshot.path('leftover'), 'wt') as f:1776 f.write('foo')1777 new_snapshot.saveToContinue = True1779 now = datetime.today() - timedelta(minutes = 6)1780 sid1 = snapshots.SID(now, self.cfg)1782> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1785_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1787 self.backupPermissions(new_snapshot)1788_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1790self = <snapshots.Snapshots object at 0x7ed5f9d3acb0>, sid = new_snapshot1792 def backupPermissions(self, sid):1793 """1794 Save permissions (owner, group, read-, write- and executable)1795 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1797 Args:1798 sid (SID): snapshot that should be scanned1800 Returns:1801 int: Return code of rsync.1802 """1803 logger.info('Save permissions', self)1804 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1806 fileInfoDict = FileInfoDict()1808 if self.config.snapshotsMode() == 'ssh_encfs':1809 decode = encfstools.Decode(self.config, False)1810 else:1811> decode = encfstools.Bounce()1812E AttributeError: module 'encfstools' has no attribute 'Bounce'1815----------------------------- Captured stderr call -----------------------------1816DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1817WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1818WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1819WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1820DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1821DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1822INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.1823INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1824DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvug6mia8 --exclude=/tmp/tmp97vzcsmm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzmabzzr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmplzmabzzr/** --exclude=* / /tmp/tmpvug6mia8/backintime/test-host/test-user/1/new_snapshot/backup"1825DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpvug6mia8 --exclude=/tmp/tmp97vzcsmm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzmabzzr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmplzmabzzr/** --exclude=* / /tmp/tmpvug6mia8/backintime/test-host/test-user/1/new_snapshot/backup'1826DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 01827INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1828INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1829_________________________ Take.test_spaces_in_exclude __________________________1831self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>1832sleep = <MagicMock name='sleep' id='139457483239312'>1834 @patch('time.sleep') # speed up unittest1835 def test_spaces_in_exclude(self, sleep):1836 now = datetime.today()1837 sid1 = snapshots.SID(now, self.cfg)1838 exclude = os.path.join(self.include.name, 'test path with spaces')1839 generic.create_test_files(exclude)1840 self.cfg.setExclude([exclude])1842> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1845_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1847 self.backupPermissions(new_snapshot)1848_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1850self = <snapshots.Snapshots object at 0x7ed5f9c05e50>, sid = new_snapshot1852 def backupPermissions(self, sid):1853 """1854 Save permissions (owner, group, read-, write- and executable)1855 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1857 Args:1858 sid (SID): snapshot that should be scanned1860 Returns:1861 int: Return code of rsync.1862 """1863 logger.info('Save permissions', self)1864 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1866 fileInfoDict = FileInfoDict()1868 if self.config.snapshotsMode() == 'ssh_encfs':1869 decode = encfstools.Decode(self.config, False)1870 else:1871> decode = encfstools.Bounce()1872E AttributeError: module 'encfstools' has no attribute 'Bounce'1875----------------------------- Captured stderr call -----------------------------1876DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1877WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1878WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1879WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1880DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1881DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1882INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1883DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkoncva7h --exclude=/tmp/tmpr7fgf276/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmps7h1xbav/ --include=/tmp/ --exclude=/tmp/tmps7h1xbav/test path with spaces --include=/tmp/tmps7h1xbav/** --exclude=* / /tmp/tmpkoncva7h/backintime/test-host/test-user/1/new_snapshot/backup"1884DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpkoncva7h --exclude=/tmp/tmpr7fgf276/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmps7h1xbav/ --include=/tmp/ --exclude=/tmp/tmps7h1xbav/test path with spaces --include=/tmp/tmps7h1xbav/** --exclude=* / /tmp/tmpkoncva7h/backintime/test-host/test-user/1/new_snapshot/backup'1885DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 01886INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1887INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1888_________________________ Take.test_spaces_in_include __________________________1890self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>1891sleep = <MagicMock name='sleep' id='139457483237296'>1893 @patch('time.sleep') # speed up unittest1894 def test_spaces_in_include(self, sleep):1895 now = datetime.today()1896 sid1 = snapshots.SID(now, self.cfg)1897 include = os.path.join(self.include.name, 'test path with spaces')1898 generic.create_test_files(include)1900> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))1903_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1905 self.backupPermissions(new_snapshot)1906_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1908self = <snapshots.Snapshots object at 0x7ed5f9c06c10>, sid = new_snapshot1910 def backupPermissions(self, sid):1911 """1912 Save permissions (owner, group, read-, write- and executable)1913 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1915 Args:1916 sid (SID): snapshot that should be scanned1918 Returns:1919 int: Return code of rsync.1920 """1921 logger.info('Save permissions', self)1922 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1924 fileInfoDict = FileInfoDict()1926 if self.config.snapshotsMode() == 'ssh_encfs':1927 decode = encfstools.Decode(self.config, False)1928 else:1929> decode = encfstools.Bounce()1930E AttributeError: module 'encfstools' has no attribute 'Bounce'1933----------------------------- Captured stderr call -----------------------------1934DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1935WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1936WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1937WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1938DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1939DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1940INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1941DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpm5o3lt4b --exclude=/tmp/tmpa5cletn_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpcv5numfr/test path with spaces/ --include=/tmp/tmpcv5numfr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpcv5numfr/test path with spaces/** --exclude=* / /tmp/tmpm5o3lt4b/backintime/test-host/test-user/1/new_snapshot/backup"1942DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpm5o3lt4b --exclude=/tmp/tmpa5cletn_/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpcv5numfr/test path with spaces/ --include=/tmp/tmpcv5numfr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpcv5numfr/test path with spaces/** --exclude=* / /tmp/tmpm5o3lt4b/backintime/test-host/test-user/1/new_snapshot/backup'1943DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 01944INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1945INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1946______________________________ TakeSSH.test_error ______________________________1948self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>1949sleep = <MagicMock name='sleep' id='139457483240320'>1951 @patch('time.sleep') # speed up unittest1952 def test_error(self, sleep):1953 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1954 now = datetime.today()1955 sid1 = snapshots.SID(now, self.cfg)1957> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1960_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1962 self.backupPermissions(new_snapshot)1963_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1965self = <snapshots.Snapshots object at 0x7ed5f9c04eb0>, sid = new_snapshot1967 def backupPermissions(self, sid):1968 """1969 Save permissions (owner, group, read-, write- and executable)1970 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1972 Args:1973 sid (SID): snapshot that should be scanned1975 Returns:1976 int: Return code of rsync.1977 """1978 logger.info('Save permissions', self)1979 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1981 fileInfoDict = FileInfoDict()1983 if self.config.snapshotsMode() == 'ssh_encfs':1984 decode = encfstools.Decode(self.config, False)1985 else:1986> decode = encfstools.Bounce()1987E AttributeError: module 'encfstools' has no attribute 'Bounce'1990----------------------------- Captured stderr call -----------------------------1991DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1992WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1993WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1994WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1995DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1996DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1997DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1998DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1999DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2000DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2001DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2002DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2003DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2004DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2005DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2006DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2007DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72008ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2009DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2010DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2011DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock2012DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2013DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2014DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2015DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2016DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2017DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpds8w3jhd/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpds8w3jhd/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpds8w3jhd/foo" || exit 11;test -w "/tmp/tmpds8w3jhd/foo" || exit 12;test -x "/tmp/tmpds8w3jhd/foo" || exit 13;exit 20']2018DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpds8w3jhd/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpds8w3jhd/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpds8w3jhd/foo" || exit 11;test -w "/tmp/tmpds8w3jhd/foo" || exit 12;test -x "/tmp/tmpds8w3jhd/foo" || exit 13;exit 202019DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202020DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpds8w3jhd/foo /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint2021DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpds8w3jhd/foo', '/tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint'].2022INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpds8w3jhd/foo on /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint2023DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/locks/5449.lock2024DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock2025DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2026INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2027DEBUG: [test/test_takeSnapshot.py:182 Snapshots.test_error] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup"2028DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup'2029WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxaosqhtf/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxaosqhtf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpve7p3utr/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpve7p3utr/** --exclude=* / travis@localhost:/tmp/tmpds8w3jhd/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 232030INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2031INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2032DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2033DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2034DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2035DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2036DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2037DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2038DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2039DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2040DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2041DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2042DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82043ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2044DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2045DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2046DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock2047INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpds8w3jhd/foo from /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/mountpoint2048DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/FD2089D0/locks/5449.lock2049DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxaosqhtf/.local/share/backintime/mnt/5449.lock2050_____________________________ TakeSSH.test_exclude _____________________________2052self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>2053sleep = <MagicMock name='sleep' id='139457483242672'>2055 @patch('time.sleep') # speed up unittest2056 def test_exclude(self, sleep):2057 now = datetime.today()2058 sid1 = snapshots.SID(now, self.cfg)2059 self.cfg.setExclude(['bar/baz'])2061> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2064_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2066 self.backupPermissions(new_snapshot)2067_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2069self = <snapshots.Snapshots object at 0x7ed5f9c07b10>, sid = new_snapshot2071 def backupPermissions(self, sid):2072 """2073 Save permissions (owner, group, read-, write- and executable)2074 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2076 Args:2077 sid (SID): snapshot that should be scanned2079 Returns:2080 int: Return code of rsync.2081 """2082 logger.info('Save permissions', self)2083 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2085 fileInfoDict = FileInfoDict()2087 if self.config.snapshotsMode() == 'ssh_encfs':2088 decode = encfstools.Decode(self.config, False)2089 else:2090> decode = encfstools.Bounce()2091E AttributeError: module 'encfstools' has no attribute 'Bounce'2094----------------------------- Captured stderr call -----------------------------2095DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2096WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2097WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2098WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2099DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2100DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2101DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2102DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2103DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2104DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2105DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2106DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2107DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2108DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2109DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2110DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2111DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72112ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2113DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2114DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2115DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock2116DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2117DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2118DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2119DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2120DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2121DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpmak70s42/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmak70s42/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmak70s42/foo" || exit 11;test -w "/tmp/tmpmak70s42/foo" || exit 12;test -x "/tmp/tmpmak70s42/foo" || exit 13;exit 20']2122DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpmak70s42/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmak70s42/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmak70s42/foo" || exit 11;test -w "/tmp/tmpmak70s42/foo" || exit 12;test -x "/tmp/tmpmak70s42/foo" || exit 13;exit 202123DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202124DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpmak70s42/foo /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint2125DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpmak70s42/foo', '/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint'].2126INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpmak70s42/foo on /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint2127DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/locks/5449.lock2128DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock2129DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2130INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2131DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp89maqvoi/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp89maqvoi/** --exclude=* / travis@localhost:/tmp/tmpmak70s42/foo/backintime/test-host/test-user/1/new_snapshot/backup"2132DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7nwcy2kw/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp89maqvoi/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp89maqvoi/** --exclude=* / travis@localhost:/tmp/tmpmak70s42/foo/backintime/test-host/test-user/1/new_snapshot/backup'2133DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 02134INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2135INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2136DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2137DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2138DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2139DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2140DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2141DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2142DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2143DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2144DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2145DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2146DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82147ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2148DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2149DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2150DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock2151INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpmak70s42/foo from /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/mountpoint2152DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/53239F5/locks/5449.lock2153DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7nwcy2kw/.local/share/backintime/mnt/5449.lock2154_________________________ TakeSSH.test_four_snapshots __________________________2156self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>2157sleep = <MagicMock name='sleep' id='139457483241328'>2159 @patch('time.sleep') # speed up unittest2160 def test_four_snapshots(self, sleep):2161 now = datetime.today() - timedelta(minutes = 6)2162 sid1 = snapshots.SID(now, self.cfg)2164 # Note: 'self.sn' is of type 'Snapshots'2165 # First boolean: Snapshot succeeded2166 # Second boolean: Error occurred2167 self.assertListEqual(2168 [True, False], # Snapshot without error2169> self.sn.takeSnapshot(2170 sid=sid1,2171 now=now,2172 include_folders=[2173 (self.include.name, 0), # '0' means it is a file2174 ]2175 )2176 )2179_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2181 self.backupPermissions(new_snapshot)2182_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2184self = <snapshots.Snapshots object at 0x7ed5f9c07d90>, sid = new_snapshot2186 def backupPermissions(self, sid):2187 """2188 Save permissions (owner, group, read-, write- and executable)2189 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2191 Args:2192 sid (SID): snapshot that should be scanned2194 Returns:2195 int: Return code of rsync.2196 """2197 logger.info('Save permissions', self)2198 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2200 fileInfoDict = FileInfoDict()2202 if self.config.snapshotsMode() == 'ssh_encfs':2203 decode = encfstools.Decode(self.config, False)2204 else:2205> decode = encfstools.Bounce()2206E AttributeError: module 'encfstools' has no attribute 'Bounce'2209----------------------------- Captured stderr call -----------------------------2210DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2211WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2212WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2213WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2214DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2215DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2216DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2217DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2218DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2219DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2220DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2221DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2222DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2223DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2224DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2225DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2226DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72227ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2228DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2229DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2230DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock2231DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2232DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2233DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2234DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2235DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2236DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpl3nvhg00/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpl3nvhg00/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpl3nvhg00/foo" || exit 11;test -w "/tmp/tmpl3nvhg00/foo" || exit 12;test -x "/tmp/tmpl3nvhg00/foo" || exit 13;exit 20']2237DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpl3nvhg00/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpl3nvhg00/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpl3nvhg00/foo" || exit 11;test -w "/tmp/tmpl3nvhg00/foo" || exit 12;test -x "/tmp/tmpl3nvhg00/foo" || exit 13;exit 202238DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202239DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpl3nvhg00/foo /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint2240DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpl3nvhg00/foo', '/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint'].2241INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpl3nvhg00/foo on /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint2242DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/locks/5449.lock2243DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock2244DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2245INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2246DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpva9_yet5/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpva9_yet5/** --exclude=* / travis@localhost:/tmp/tmpl3nvhg00/foo/backintime/test-host/test-user/1/new_snapshot/backup"2247DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpxx1yk9iz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpva9_yet5/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpva9_yet5/** --exclude=* / travis@localhost:/tmp/tmpl3nvhg00/foo/backintime/test-host/test-user/1/new_snapshot/backup'2248DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 02249INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2250INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2251DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2252DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2253DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2254DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2255DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2256DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2257DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2258DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2259DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2260DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2261DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82262ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2263DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2264DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2265DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock2266INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpl3nvhg00/foo from /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/mountpoint2267DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/FA61442F/locks/5449.lock2268DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxx1yk9iz/.local/share/backintime/mnt/5449.lock2269___________________________ TakeSSH.test_new_exists ____________________________2271self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>2272sleep = <MagicMock name='sleep' id='139457483243008'>2274 @patch('time.sleep') # speed up unittest2275 def test_new_exists(self, sleep):2276 new_snapshot = snapshots.NewSnapshot(self.cfg)2277 new_snapshot.makeDirs()2278 with open(new_snapshot.path('leftover'), 'wt') as f:2279 f.write('foo')2281 now = datetime.today() - timedelta(minutes = 6)2282 sid1 = snapshots.SID(now, self.cfg)2284> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2287_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2289 self.backupPermissions(new_snapshot)2290_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2292self = <snapshots.Snapshots object at 0x7ed5f9c06990>, sid = new_snapshot2294 def backupPermissions(self, sid):2295 """2296 Save permissions (owner, group, read-, write- and executable)2297 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2299 Args:2300 sid (SID): snapshot that should be scanned2302 Returns:2303 int: Return code of rsync.2304 """2305 logger.info('Save permissions', self)2306 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2308 fileInfoDict = FileInfoDict()2310 if self.config.snapshotsMode() == 'ssh_encfs':2311 decode = encfstools.Decode(self.config, False)2312 else:2313> decode = encfstools.Bounce()2314E AttributeError: module 'encfstools' has no attribute 'Bounce'2317----------------------------- Captured stderr call -----------------------------2318DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2319WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2320WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2321WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2322DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2323DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2324DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2325DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2326DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2327DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2328DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2329DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2330DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2331DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2332DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2333DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2334DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72335ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2336DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2337DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2338DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock2339DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2340DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2341DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2342DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2343DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2344DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpvgxsz9_y/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpvgxsz9_y/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpvgxsz9_y/foo" || exit 11;test -w "/tmp/tmpvgxsz9_y/foo" || exit 12;test -x "/tmp/tmpvgxsz9_y/foo" || exit 13;exit 20']2345DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpvgxsz9_y/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpvgxsz9_y/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpvgxsz9_y/foo" || exit 11;test -w "/tmp/tmpvgxsz9_y/foo" || exit 12;test -x "/tmp/tmpvgxsz9_y/foo" || exit 13;exit 202346DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202347DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpvgxsz9_y/foo /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint2348DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpvgxsz9_y/foo', '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint'].2349INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpvgxsz9_y/foo on /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint2350DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/locks/5449.lock2351DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock2352INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run2353DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2354DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpa1gug2f_/ travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot"2355DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmpa1gug2f_/ travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot'2356DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 02357ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449/backintime/test-host/test-user/1/new_snapshot/backup'2358DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2359INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2360DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpff4bjkwv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmphaje2lbs/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmphaje2lbs/** --exclude=* / travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot/backup"2361DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpff4bjkwv/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpff4bjkwv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmphaje2lbs/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmphaje2lbs/** --exclude=* / travis@localhost:/tmp/tmpvgxsz9_y/foo/backintime/test-host/test-user/1/new_snapshot/backup'2362DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 02363INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2364INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2365DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2366DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2367DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2368DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2369DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2370DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2371DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2372DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2373DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2374DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2375DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82376ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2377DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2378DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2379DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock2380INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpvgxsz9_y/foo from /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/mountpoint2381DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/B8632831/locks/5449.lock2382DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpff4bjkwv/.local/share/backintime/mnt/5449.lock2383_______________________ TakeSSH.test_new_exists_continue _______________________2385self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>2386sleep = <MagicMock name='sleep' id='139457483238304'>2388 @patch('time.sleep') # speed up unittest2389 def test_new_exists_continue(self, sleep):2390 new_snapshot = snapshots.NewSnapshot(self.cfg)2391 new_snapshot.makeDirs()2392 with open(new_snapshot.path('leftover'), 'wt') as f:2393 f.write('foo')2394 new_snapshot.saveToContinue = True2396 now = datetime.today() - timedelta(minutes = 6)2397 sid1 = snapshots.SID(now, self.cfg)2399> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2402_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2404 self.backupPermissions(new_snapshot)2405_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2407self = <snapshots.Snapshots object at 0x7ed5f9c07f70>, sid = new_snapshot2409 def backupPermissions(self, sid):2410 """2411 Save permissions (owner, group, read-, write- and executable)2412 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2414 Args:2415 sid (SID): snapshot that should be scanned2417 Returns:2418 int: Return code of rsync.2419 """2420 logger.info('Save permissions', self)2421 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2423 fileInfoDict = FileInfoDict()2425 if self.config.snapshotsMode() == 'ssh_encfs':2426 decode = encfstools.Decode(self.config, False)2427 else:2428> decode = encfstools.Bounce()2429E AttributeError: module 'encfstools' has no attribute 'Bounce'2432----------------------------- Captured stderr call -----------------------------2433DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2434WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2435WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2436WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2437DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2438DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2439DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2440DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2441DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2442DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2443DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2444DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2445DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2446DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2447DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2448DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2449DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72450ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2451DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2452DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2453DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock2454DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2455DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2456DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2457DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2458DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2459DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpie0cs5ua/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpie0cs5ua/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpie0cs5ua/foo" || exit 11;test -w "/tmp/tmpie0cs5ua/foo" || exit 12;test -x "/tmp/tmpie0cs5ua/foo" || exit 13;exit 20']2460DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpie0cs5ua/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpie0cs5ua/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpie0cs5ua/foo" || exit 11;test -w "/tmp/tmpie0cs5ua/foo" || exit 12;test -x "/tmp/tmpie0cs5ua/foo" || exit 13;exit 202461DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202462DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpie0cs5ua/foo /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint2463DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpie0cs5ua/foo', '/tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint'].2464INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpie0cs5ua/foo on /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint2465DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/locks/5449.lock2466DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock2467INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.2468DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2469INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2470DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpy_ox7h56/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpy_ox7h56/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm7dswnm8/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpm7dswnm8/** --exclude=* / travis@localhost:/tmp/tmpie0cs5ua/foo/backintime/test-host/test-user/1/new_snapshot/backup"2471DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpy_ox7h56/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmpy_ox7h56/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm7dswnm8/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmpm7dswnm8/** --exclude=* / travis@localhost:/tmp/tmpie0cs5ua/foo/backintime/test-host/test-user/1/new_snapshot/backup'2472DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 02473INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2474INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2475DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2476DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2477DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2478DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2479DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2480DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2481DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2482DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2483DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2484DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2485DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82486ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2487DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2488DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2489DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock2490INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpie0cs5ua/foo from /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/mountpoint2491DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/A28CF326/locks/5449.lock2492DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpy_ox7h56/.local/share/backintime/mnt/5449.lock2493________________________ TakeSSH.test_spaces_in_exclude ________________________2495self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>2496sleep = <MagicMock name='sleep' id='139457483240320'>2498 @patch('time.sleep') # speed up unittest2499 def test_spaces_in_exclude(self, sleep):2500 now = datetime.today()2501 sid1 = snapshots.SID(now, self.cfg)2502 exclude = os.path.join(self.include.name, 'test path with spaces')2503 generic.create_test_files(exclude)2504 self.cfg.setExclude([exclude])2506> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2509_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2511 self.backupPermissions(new_snapshot)2512_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2514self = <snapshots.Snapshots object at 0x7ed5f9c06c10>, sid = new_snapshot2516 def backupPermissions(self, sid):2517 """2518 Save permissions (owner, group, read-, write- and executable)2519 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2521 Args:2522 sid (SID): snapshot that should be scanned2524 Returns:2525 int: Return code of rsync.2526 """2527 logger.info('Save permissions', self)2528 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2530 fileInfoDict = FileInfoDict()2532 if self.config.snapshotsMode() == 'ssh_encfs':2533 decode = encfstools.Decode(self.config, False)2534 else:2535> decode = encfstools.Bounce()2536E AttributeError: module 'encfstools' has no attribute 'Bounce'2539----------------------------- Captured stderr call -----------------------------2540DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2541WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2542WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2543WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2544DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2545DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2546DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2547DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2548DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2549DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2550DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2551DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2552DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2553DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2554DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2555DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2556DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72557ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2558DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2559DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2560DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock2561DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2562DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2563DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2564DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2565DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2566DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmpmnteea2z/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmnteea2z/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmnteea2z/foo" || exit 11;test -w "/tmp/tmpmnteea2z/foo" || exit 12;test -x "/tmp/tmpmnteea2z/foo" || exit 13;exit 20']2567DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpmnteea2z/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpmnteea2z/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpmnteea2z/foo" || exit 11;test -w "/tmp/tmpmnteea2z/foo" || exit 12;test -x "/tmp/tmpmnteea2z/foo" || exit 13;exit 202568DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202569DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmpmnteea2z/foo /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint2570DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmpmnteea2z/foo', '/tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint'].2571INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpmnteea2z/foo on /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint2572DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/locks/5449.lock2573DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock2574DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2575INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2576DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp5ur18bdm/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp5ur18bdm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpptli4fan/ --include=/tmp/ --exclude=/tmp/tmpptli4fan/test path with spaces --include=/tmp/tmpptli4fan/** --exclude=* / travis@localhost:/tmp/tmpmnteea2z/foo/backintime/test-host/test-user/1/new_snapshot/backup"2577DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp5ur18bdm/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp5ur18bdm/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpptli4fan/ --include=/tmp/ --exclude=/tmp/tmpptli4fan/test path with spaces --include=/tmp/tmpptli4fan/** --exclude=* / travis@localhost:/tmp/tmpmnteea2z/foo/backintime/test-host/test-user/1/new_snapshot/backup'2578DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 02579INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2580INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2581DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2582DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2583DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2584DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2585DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2586DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2587DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2588DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2589DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2590DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2591DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82592ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2593DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2594DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2595DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock2596INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpmnteea2z/foo from /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/mountpoint2597DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/C799F1AD/locks/5449.lock2598DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp5ur18bdm/.local/share/backintime/mnt/5449.lock2599________________________ TakeSSH.test_spaces_in_include ________________________2601self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>2602sleep = <MagicMock name='sleep' id='139457486274976'>2604 @patch('time.sleep') # speed up unittest2605 def test_spaces_in_include(self, sleep):2606 now = datetime.today()2607 sid1 = snapshots.SID(now, self.cfg)2608 include = os.path.join(self.include.name, 'test path with spaces')2609 generic.create_test_files(include)2611> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))2614_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2616 self.backupPermissions(new_snapshot)2617_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2619self = <snapshots.Snapshots object at 0x7ed5f9d39c70>, sid = new_snapshot2621 def backupPermissions(self, sid):2622 """2623 Save permissions (owner, group, read-, write- and executable)2624 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2626 Args:2627 sid (SID): snapshot that should be scanned2629 Returns:2630 int: Return code of rsync.2631 """2632 logger.info('Save permissions', self)2633 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2635 fileInfoDict = FileInfoDict()2637 if self.config.snapshotsMode() == 'ssh_encfs':2638 decode = encfstools.Decode(self.config, False)2639 else:2640> decode = encfstools.Bounce()2641E AttributeError: module 'encfstools' has no attribute 'Bounce'2644----------------------------- Captured stderr call -----------------------------2645DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2646WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2647WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2648WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2649DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2650DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2651DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2652DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2653DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2654DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2655DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2656DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2657DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2658DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2659DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2660DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2661DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 72662ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2663DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2664DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2665DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock2666DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2667DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2668DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2669DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2670DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2671DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', 'travis@localhost', 'd=0;test -e "/tmp/tmp6brz9oz5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6brz9oz5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6brz9oz5/foo" || exit 11;test -w "/tmp/tmp6brz9oz5/foo" || exit 12;test -x "/tmp/tmp6brz9oz5/foo" || exit 13;exit 20']2672DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmp6brz9oz5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6brz9oz5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6brz9oz5/foo" || exit 11;test -w "/tmp/tmp6brz9oz5/foo" || exit 12;test -x "/tmp/tmp6brz9oz5/foo" || exit 13;exit 202673DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202674DEBUG: [common/sshtools.py:205 SSH._mount] Call mount command: sshfs -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 -o idmap=user -o cache_dir_timeout=2 -o cache_stat_timeout=2 travis@localhost:/tmp/tmp6brz9oz5/foo /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint2675DEBUG: [common/sshtools.py:217 _mount] Execute SSHFS command ['sshfs', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22', '-o', 'idmap=user', '-o', 'cache_dir_timeout=2', '-o', 'cache_stat_timeout=2', 'travis@localhost:/tmp/tmp6brz9oz5/foo', '/tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint'].2676INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp6brz9oz5/foo on /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint2677DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/locks/5449.lock2678DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock2679DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2680INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2681DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Call command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7hrg16nb/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7hrg16nb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp40c4qc0u/test path with spaces/ --include=/tmp/tmp40c4qc0u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp40c4qc0u/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp6brz9oz5/foo/backintime/test-host/test-user/1/new_snapshot/backup"2682DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp7hrg16nb/.local/share/backintime/mnt/1_5449 --exclude=/tmp/tmp7hrg16nb/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp40c4qc0u/test path with spaces/ --include=/tmp/tmp40c4qc0u/ --include=/tmp/ --exclude=.gvfs --exclude=.cache/* --exclude=.thumbnails* --exclude=.local/share/[Tt]rash* --exclude=*.backup* --exclude=*~ --exclude=.dropbox* --exclude=/proc/* --exclude=/sys/* --exclude=/dev/* --exclude=/run/* --exclude=/etc/mtab --exclude=/var/cache/apt/archives/*.deb --exclude=lost+found/* --exclude=/tmp/* --exclude=/var/tmp/* --exclude=/var/backups/* --exclude=.Private --exclude=/swapfile --exclude=SingletonLock --exclude=SingletonCookie --exclude=lock --include=/tmp/tmp40c4qc0u/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp6brz9oz5/foo/backintime/test-host/test-user/1/new_snapshot/backup'2683DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 02684INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2685INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2686DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2687DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2688DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2689DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2690DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2691DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2692DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2693DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2694DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2695DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2696DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.rui95rh4/config_path/user-callback 1 Main profile 82697ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2698DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2699DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2700DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock2701INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp6brz9oz5/foo from /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/mountpoint2702DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/CF93332C/locks/5449.lock2703DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp7hrg16nb/.local/share/backintime/mnt/5449.lock2704=========================== short test summary info ============================2705FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 12706stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2707WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2708WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2709INFO: Lock2710INFO: Take a new snapshot. Profile: 1 Main profile2711INFO: Call rsync to take the snapshot2712INFO: Save config file2713INFO: Save permissions2714Traceback (most recent call last):2715 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>2716 startApp()2717 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp2718 args.func(args)2719 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup2720 ret = takeSnapshot(cfg, force)2721 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot2722 ret = snapshots.Snapshots(cfg).backup(force)2723 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup2724 ret_val, ret_error = self.takeSnapshot(2725 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot2726 self.backupPermissions(new_snapshot)2727 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions2728 decode = encfstools.Bounce()2729AttributeError: module 'encfstools' has no attribute 'Bounce'2731stdout:2732Back In Time2733Version: 1.5.4-rc12735Back In Time comes with ABSOLUTELY NO WARRANTY.2736This is free software, and you are welcome to redistribute it2737under certain conditions; type `backintime --license' for details.2738FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).2739FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).2740FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.2741FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.2742FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'2743FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2744FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2745FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2746FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2747FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2748FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2749FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2750FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2751FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2752FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2753FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2754FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2755FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2756FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2757FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2758FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2760make: *** [Makefile:620: unittest-v] Error 12761The command "make unittest-v" exited with 2.2763The command "cd .." exited with 0.2765The command "cd qt" exited with 0.2767Replacement of python path with "/usr/bin/python3" successful.2768All OK. Now run:2769 make2770 sudo make install2771The command "./configure" exited with 0.2773# Man pages2774for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done2775The command "make" exited with 0.2777============================= test session starts ==============================2778platform linux -- Python 3.13.1, pytest-8.3.4, pluggy-1.5.0 -- /home/travis/virtualenv/python3.13.1/bin/python2779cachedir: .pytest_cache2780rootdir: /home/travis/build/bit-team/backintime/qt2781plugins: pyfakefs-5.7.42782collected 9 items2795The command "pytest --verbose" exited with 0.2798Done. Your build exited with 1.