AMD64
no language set
Git
Scroll to End of Log
0.22s0.13s0.00s0.07s0.00sTopworker_info1Worker information2hostname: 47b3bc80-1508-4287-99a3-4c6b4f9693f1@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-33version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f0304instance: travis-job-44a2ea8c-a218-4cec-a367-bad660a9da6a travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)5startup: 5.78814295ssystem_info7Build system information8Build language: python9Build dist: jammy10Build id: 27423638511Job id: 63063362612Runtime 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.07s0.00s0.02s0.16s0.00s0.00s0.00s0.01s0.00s0.13s0.00s1.08s0.00s0.00s21.50s0.00s3.76s0.00s3.89sdocker_mtu_and_registry_mirrorsDockerresolvconfssh_known_hosts.0161Adding ssh known hosts162$ mkdir -p ${TRAVIS_HOME}/.ssh1630.06s$ ssh-keyscan -t $TRAVIS_SSH_KEY_TYPES -H localhost 2>&1 | tee -a ${TRAVIS_HOME}/.ssh/known_hosts164# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10165# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10166# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10167|1|S1X2OTW66RyC1nZYgbGFQiRK478=|L31zoO7E57OO9/k19JGwLIz+95M= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=168|1|0+d/15XyTTKPS94Fw766jx4i+C4=|MhJtxb1TlaDAHjEYEG9wlCkIyvU= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=git.checkout171Cloning into 'bit-team/backintime'...172remote: Enumerating objects: 932, done.173remote: Counting objects: 100% (932/932), done.174remote: Compressing objects: 100% (558/558), done.175remote: Total 932 (delta 541), reused 632 (delta 345), pack-reused 0 (from 0)176Receiving objects: 100% (932/932), 4.82 MiB | 23.05 MiB/s, done.177Resolving deltas: 100% (541/541), done.178$ cd bit-team/backintime180remote: Enumerating objects: 47, done.181remote: Counting objects: 100% (42/42), done.182remote: Compressing objects: 100% (14/14), done.183remote: Total 33 (delta 25), reused 26 (delta 19), pack-reused 0 (from 0)184Unpacking objects: 100% (33/33), 4.91 KiB | 359.00 KiB/s, done.185From https://github.com/bit-team/backintime186 * branch refs/pull/2039/merge -> FETCH_HEAD187$ git checkout -qf FETCH_HEAD1890.00s190Setting environment variables from .travis.yml191$ export PYTHONUNBUFFERED=1194$ python --version195Python 3.12.4196$ pip --version197pip 24.1.2 from /home/travis/virtualenv/python3.12.4/lib/python3.12/site-packages/pip (python 3.12)before_install.1before_install.2200Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).201OKbefore_install.3203W: http://package.perforce.com/apt/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.204W: http://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.before_install.4206Reading package lists... Done207Building dependency tree... Done208Reading state information... Done209screen is already the newest version (4.9.0-1).210libdbus-1-dev is already the newest version (1.12.20-2ubuntu4.1).211util-linux is already the newest version (2.37.2-4ubuntu3.4).212The following NEW packages will be installed:213 sshfs2140 upgraded, 1 newly installed, 0 to remove and 134 not upgraded.215Need to get 45.1 kB of archives.216After this operation, 126 kB of additional disk space will be used.217Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 sshfs amd64 3.7.1+repack-2 [45.1 kB]218Fetched 45.1 kB in 0s (118 kB/s)219Selecting previously unselected package sshfs.220(Reading database ... 132481 files and directories currently installed.)221Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...222Unpacking sshfs (3.7.1+repack-2) ...223Setting up sshfs (3.7.1+repack-2) ...224Processing triggers for man-db (2.10.2-1) ...225NEEDRESTART-VER: 3.5226NEEDRESTART-KCUR: 6.8.0-1018-gcp227NEEDRESTART-KEXP: 6.8.0-1018-gcp228NEEDRESTART-KSTA: 1install.1230Requirement already satisfied: pip in /home/travis/virtualenv/python3.12.4/lib/python3.12/site-packages (24.1.2)231Collecting pip232 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)233Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)234Installing collected packages: pip235 Attempting uninstall: pip236 Found existing installation: pip 24.1.2237 Uninstalling pip-24.1.2:238 Successfully uninstalled pip-24.1.2239Successfully installed pip-25.0.1install.2241Collecting pylint242 Downloading pylint-3.3.4-py3-none-any.whl.metadata (12 kB)243Collecting ruff244 Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)245Collecting flake8246 Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)247Collecting pyfakefs248 Downloading pyfakefs-5.7.4-py3-none-any.whl.metadata (7.8 kB)249Collecting keyring250 Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)251Collecting dill>=0.3.6 (from pylint)252 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)253Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.12.4/lib/python3.12/site-packages (from pylint) (4.2.2)254Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)255 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)256Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)257 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)258Collecting mccabe<0.8,>=0.6 (from pylint)259 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)260Collecting tomlkit>=0.10.1 (from pylint)261 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)262Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)263 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)264Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)265 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)266Collecting SecretStorage>=3.2 (from keyring)267 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)268Collecting jeepney>=0.4.2 (from keyring)269 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)270Collecting jaraco.classes (from keyring)271 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)272Collecting jaraco.functools (from keyring)273 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)274Collecting jaraco.context (from keyring)275 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)276Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)277 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)278Collecting more-itertools (from jaraco.classes->keyring)279 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)280Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)281 Downloading cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)282Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)283 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)284Downloading pylint-3.3.4-py3-none-any.whl (522 kB)285Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)286Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)287Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)288Downloading keyring-25.6.0-py3-none-any.whl (39 kB)289Downloading astroid-3.3.8-py3-none-any.whl (275 kB)290Downloading dill-0.3.9-py3-none-any.whl (119 kB)291Downloading isort-6.0.0-py3-none-any.whl (94 kB)292Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)293Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)294Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)295Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)296Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)297Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)298Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)299Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)300Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)301Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)302Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)303Downloading cffi-1.17.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (479 kB)304Downloading pycparser-2.22-py3-none-any.whl (117 kB)305Installing 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, keyring306Successfully 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.3308Collecting pyqt6309 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)310Collecting dbus-python311 Downloading dbus-python-1.3.2.tar.gz (605 kB)312 Installing build dependencies ... done313 Getting requirements to build wheel ... done314 Preparing metadata (pyproject.toml) ... done315Collecting PyQt6-sip<14,>=13.8 (from pyqt6)316 Downloading PyQt6_sip-13.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)317Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)318 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)319Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)320Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)321Downloading PyQt6_sip-13.10.0-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.whl (303 kB)322Building wheels for collected packages: dbus-python323 Building wheel for dbus-python (pyproject.toml) ... done324 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp312-cp312-linux_x86_64.whl size=122709 sha256=3b4567b3e21c15ff2f7c5b1a10d435d2b3bc377443db6425ad83e766fef27775325 Stored in directory: /home/travis/.cache/pip/wheels/af/10/cf/199cea3104083e08fd54f5f1d61656138c62b9677b0f78f1b6326Successfully built dbus-python327Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6328Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1install.4330Generating public/private rsa key pair.331Your identification has been saved in /home/travis/.ssh/id_rsa332Your public key has been saved in /home/travis/.ssh/id_rsa.pub333The key fingerprint is:334SHA256:xn3dXOC9Fkqgb35kbWeWbcCi6NTPwq4SMm9Y//dvsz8 travis@travis-job-44a2ea8c-a218-4cec-a367-bad660a9da6a335The key's randomart image is:336+---[RSA 2048]----+337| . . |338| . .o o |339| . ..+.o|340| . +...oo+*|341| S +o.+.*O|342| o o+ .o+o o+.|343| * o. o.o. |344| . + .. .o E.|345| . ..oo. ..+B|346+----[SHA256]-----+install.5351Listing 'common'...352Compiling 'common/applicationinstance.py'...353Compiling 'common/askpass.py'...354Compiling 'common/backintime.py'...355Listing 'common/bash-completion'...356Compiling 'common/bcolors.py'...357Compiling 'common/bitbase.py'...358Compiling 'common/cli.py'...359Compiling 'common/config.py'...360Compiling 'common/configfile.py'...361Compiling 'common/daemon.py'...362Compiling 'common/diagnostics.py'...363Listing 'common/doc-dev'...364Listing 'common/doc-dev/_static'...365Listing 'common/doc-dev/_templates'...366Compiling 'common/doc-dev/conf.py'...367Listing 'common/doc-dev/plugins'...368Compiling 'common/encfstools.py'...369Compiling 'common/encode.py'...370Compiling 'common/exceptions.py'...371Compiling 'common/flock.py'...372Compiling 'common/guiapplicationinstance.py'...373Compiling 'common/languages.py'...374Compiling 'common/logger.py'...375Listing 'common/man'...376Listing 'common/man/C'...377Compiling 'common/mount.py'...378Compiling 'common/password.py'...379Compiling 'common/password_ipc.py'...380Compiling 'common/pluginmanager.py'...381Listing 'common/plugins'...382Compiling 'common/plugins/usercallbackplugin.py'...383Listing 'common/po'...384Compiling 'common/progress.py'...385Compiling 'common/qt_probing.py'...386Compiling 'common/schedule.py'...387Compiling 'common/singleton.py'...388Compiling 'common/snapshotlog.py'...389Compiling 'common/snapshots.py'...390Compiling 'common/ssh_max_arg.py'...391Compiling 'common/sshtools.py'...392Listing 'common/test'...393Compiling 'common/test/__init__.py'...394Compiling 'common/test/constants.py'...395Compiling 'common/test/generic.py'...396Compiling 'common/test/test_applicationinstance.py'...397Compiling 'common/test/test_argparser.py'...398Compiling 'common/test/test_backintime.py'...399Compiling 'common/test/test_backup.py'...400Compiling 'common/test/test_config.py'...401Compiling 'common/test/test_config_crontab.py'...402Compiling 'common/test/test_configfile.py'...403Compiling 'common/test/test_diagnostics.py'...404Compiling 'common/test/test_encfstools.py'...405Compiling 'common/test/test_languages.py'...406Compiling 'common/test/test_lint.py'...407Compiling 'common/test/test_mount.py'...408Compiling 'common/test/test_plugin_usercallback.py'...409Compiling 'common/test/test_restore.py'...410Compiling 'common/test/test_schedule.py'...411Compiling 'common/test/test_sid.py'...412Compiling 'common/test/test_singleton.py'...413Compiling 'common/test/test_snapshotlog.py'...414Compiling 'common/test/test_snapshots.py'...415Compiling 'common/test/test_snapshots_autoremove.py'...416Compiling 'common/test/test_sshtools.py'...417Compiling 'common/test/test_takeSnapshot.py'...418Compiling 'common/test/test_tools.py'...419Compiling 'common/test/test_uniquenessset.py'...420Compiling 'common/tools.py'...421Compiling 'common/uniquenessset.py'...422Compiling 'common/version.py'...423Listing 'common/test'...424Listing 'common/plugins'...425Listing 'qt'...426Compiling 'qt/aboutdlg.py'...427Compiling 'qt/app.py'...428Compiling 'qt/editusercallback.py'...429Compiling 'qt/encfsmsgbox.py'...430Compiling 'qt/icon.py'...431Listing 'qt/icons'...432Listing 'qt/icons/16x16'...433Listing 'qt/icons/16x16/actions'...434Listing 'qt/icons/22x22'...435Listing 'qt/icons/22x22/actions'...436Listing 'qt/icons/24x24'...437Listing 'qt/icons/24x24/actions'...438Listing 'qt/icons/32x32'...439Listing 'qt/icons/32x32/actions'...440Listing 'qt/icons/48x48'...441Listing 'qt/icons/48x48/actions'...442Listing 'qt/icons/scalable'...443Listing 'qt/icons/scalable/actions'...444Compiling 'qt/languagedialog.py'...445Compiling 'qt/logviewdialog.py'...446Listing 'qt/man'...447Listing 'qt/man/C'...448Listing 'qt/manageprofiles'...449Compiling 'qt/manageprofiles/__init__.py'...450Compiling 'qt/manageprofiles/combobox.py'...451Compiling 'qt/manageprofiles/schedulewidget.py'...452Compiling 'qt/manageprofiles/spinboxunit.py'...453Compiling 'qt/manageprofiles/sshproxywidget.py'...454Compiling 'qt/manageprofiles/statebindcheckbox.py'...455Compiling 'qt/manageprofiles/tab_expert_options.py'...456Compiling 'qt/manageprofiles/tab_general.py'...457Compiling 'qt/manageprofiles/tab_options.py'...458Compiling 'qt/manageprofiles/tab_remove_retention.py'...459Compiling 'qt/messagebox.py'...460Listing 'qt/plugins'...461Compiling 'qt/plugins/notifyplugin.py'...462Compiling 'qt/plugins/systrayiconplugin.py'...463Compiling 'qt/qtsystrayicon.py'...464Compiling 'qt/qttools.py'...465Compiling 'qt/qttools_path.py'...466Compiling 'qt/restoreconfigdialog.py'...467Compiling 'qt/restoredialog.py'...468Compiling 'qt/serviceHelper.py'...469Compiling 'qt/snapshotsdialog.py'...470Compiling 'qt/statedata.py'...471Listing 'qt/test'...472Compiling 'qt/test/__init__.py'...473Compiling 'qt/test/test_lint.py'...474Compiling 'qt/test/test_statedata.py'...475Compiling 'qt/usermessagedialog.py'...476Listing 'qt/test'...477Listing 'qt/plugins'...478The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.480The command "cd common" exited with 0.482Replacement of python path with "/usr/bin/python3" successful.483All OK. Now run:484 make485 sudo make install486The command "./configure" exited with 0.488/home/travis/virtualenv/python3.12.4/bin/pytest -v489============================= test session starts ==============================490platform linux -- Python 3.12.4, pytest-8.3.1, pluggy-1.5.0 -- /home/travis/virtualenv/python3.12.4/bin/python491cachedir: .pytest_cache492rootdir: /home/travis/build/bit-team/backintime/common493plugins: pyfakefs-5.7.4494collected 427 items500test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]501test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]503test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]595test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]601test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]625test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]924=================================== FAILURES ===================================925_________________ BackInTime.test_local_snapshot_is_successful _________________927self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>929 def test_local_snapshot_is_successful(self):930 """From BIT initialization through snapshot932 From BIT initialization all the way through successful snapshot on a933 local mount. test one of the highest level interfaces a user could934 work with - the command line ensures that argument parsing,935 functionality, and output all work as expected is NOT intended to936 replace individual method tests, which are incredibly useful as well.938 Development notes (by Buhtz, 2023):939 Multiple tests do compare return codes and output on stdout. It is NOT940 tested what is on the file system. The intention might be a system941 test. But the asserts not qualified to answer the important questions942 and observe the intended behavior. Heavy refactoring is needed. But943 because of the "level" of that tests it won't happen in the near944 future. Also maintenance costs of this tests are damn high because945 every tiny modification of BIT gives a false fail of this test.947 Development notes (by Buhtz, 2024-05):948 It is just dumb stdout parsing. I tend to remove this test because of949 the calculation of its value and its maintenance costs.950 """952 # ensure that we see full diffs of assert output if there are any953 self.maxDiff = None955 # create pristine source directory with single file956 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")957 os.mkdir('/tmp/test')959 with open('/tmp/test/testfile', 'w') as f:960 f.write('some data')962 # create pristine snapshot directory963 subprocess.getoutput(964 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")965 os.mkdir('/tmp/snapshots')967 # remove restored directory968 subprocess.getoutput("rm -rf /tmp/restored")970 # install proper destination filesystem structure and verify output971 proc = subprocess.Popen(["./backintime",972 "--config",973 "test/config",974 "--share-path",975 self.sharePath,976 "check-config",977 # do not overwrite users crontab978 "--no-crontab"],979 stdout=subprocess.PIPE,980 stderr=subprocess.PIPE)982 output, error = proc.communicate()983 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \984 .format(proc.returncode, error.decode(), output.decode())986 self.assertEqual(proc.returncode, 0, msg)988 self.assertRegex(output.decode(), re.compile(r'''989 Back In Time990 Version: \d+.\d+.\d+.*992 Back In Time comes with ABSOLUTELY NO WARRANTY.993 This is free software, and you are welcome to redistribute it994 under certain conditions; type `backintime --license' for details.996 (INFO: Update to config version \d+997 )?998 \+--------------------------------\+999 | Check/prepare snapshot path |1000 \+--------------------------------\+1001 Check/prepare snapshot path: done1003 \+--------------------------------\+1004 | Check config |1005 \+--------------------------------\+1006 Check config: done1008 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))1010 # execute backup and verify output1011 proc = subprocess.Popen(["./backintime",1012 "--config", "test/config",1013 "--share-path", self.sharePath,1014 "backup"],1015 stdout=subprocess.PIPE,1016 stderr=subprocess.PIPE)1017 output, error = proc.communicate()1018 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \1019 .format(proc.returncode, error.decode(), output.decode())1020> self.assertEqual(proc.returncode, 0, msg)1021E AssertionError: 1 != 0 : Returncode: 11022E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1023E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1024E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1025E INFO: Lock1026E INFO: Take a new snapshot. Profile: 1 Main profile1027E INFO: Call rsync to take the snapshot1028E INFO: Save config file1029E INFO: Save permissions1030E Traceback (most recent call last):1031E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>1032E startApp()1033E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp1034E args.func(args)1035E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup1036E ret = takeSnapshot(cfg, force)1037E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot1038E ret = snapshots.Snapshots(cfg).backup(force)1039E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup1040E ret_val, ret_error = self.takeSnapshot(1041E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot1042E self.backupPermissions(new_snapshot)1043E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions1044E decode = encfstools.Bounce()1045E AttributeError: module 'encfstools' has no attribute 'Bounce'1046E1047E stdout:1048E Back In Time1049E Version: 1.5.4-rc11050E1051E Back In Time comes with ABSOLUTELY NO WARRANTY.1052E This is free software, and you are welcome to redistribute it1053E under certain conditions; type `backintime --license' for details.1056______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________1058self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>1060 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))1061 def test010_ruff_default_ruleset(self):1062 """Ruff in default mode."""1064 # ATTENTIION: Some settings are found in pyproject.toml1065 cmd = [1066 'ruff',1067 'check',1068 # Additionally activate subset of special rules:1069 # - PyLint (PL)1070 # - PyCodestyle (E, W)1071 # - flake8-gettext (INT)1072 # - useless noqua (RUF100)1073 '--extend-select=PL,E,W,INT,RUF100',1074 # Ignore: redefined-loop-name1075 '--ignore=PLW2901',1076 '--line-length', str(PEP8_MAX_LINE_LENGTH),1077 # Because of globally installed GNU gettext functions1078 '--config', 'builtins=["_", "ngettext"]',1079 # Ruff counting branches different from PyLint.1080 # See: <https://www.reddit.com/r/learnpython/comments/1081 # 1buojae/comment/kxu0mp3>1082 '--config', 'pylint.max-branches=13',1083 '--config', 'flake8-quotes.inline-quotes = "single"',1084 # one error per line (no context lines)1085 '--output-format=concise',1086 '--quiet',1087 ]1089 cmd.extend(full_test_files)1091 proc = subprocess.run(1092 cmd,1093 check=False,1094 universal_newlines=True,1095 capture_output=True1096 )1098 # No errors other then linter rules1099 self.assertIn(proc.returncode, [0, 1], proc.stderr)1101 error_n = len(proc.stdout.splitlines())1102 if error_n > 0:1103 print(proc.stdout)1105> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')1106E AssertionError: 0 != 1 : Ruff found 1 problem(s).1109----------------------------- Captured stdout call -----------------------------1110test/test_mount.py:205:80: E501 Line too long (89 > 79)1112_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________1114self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>1116 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))1117 def test020_flake8_default_ruleset(self):1118 """Flake8 in default mode."""1119 cmd = [1120 'flake8',1121 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',1122 '--builtins=_,ngettext',1123 # '--enable-extensions='1124 ]1126 cmd.extend(full_test_files)1128 proc = subprocess.run(1129 cmd,1130 check=False,1131 universal_newlines=True,1132 capture_output=True1133 )1135 error_n = len(proc.stdout.splitlines())1136 if error_n > 0:1137 print(proc.stdout)1139> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')1140E AssertionError: 0 != 2 : Flake8 found 2 problem(s).1143----------------------------- Captured stdout call -----------------------------1144/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)1145/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)1147_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________1149self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>1151 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1152 def test030_pylint_default_ruleset(self):1153 """Use Pylint with all default rules to check specific files.1154 """1156 cmd = create_pylint_cmd()1158 # Add py-files1159 cmd.extend(full_test_files)1161 r = subprocess.run(1162 cmd,1163 check=False,1164 universal_newlines=True,1165 capture_output=True)1167 # Count lines except module headings1168 error_n = len(list(filter(lambda line: not line.startswith('*****'),1169 r.stdout.splitlines())))1170 print(r.stdout)1172> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1173E AssertionError: 0 != 8 : PyLint found 8 problems.1176----------------------------- Captured stdout call -----------------------------1177************* Module test.test_mount1178test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)1179test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)1180test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1181test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)1182test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1183test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)1184test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)1185test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)1187____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________1189self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>1191 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1192 def test050_pylint_exclusive_ruleset(self):1193 """Use Pylint to check for specific rules only.1195 Some facts about PyLint1196 - It is one of the slowest available linters.1197 - It is able to catch lints other linters miss.1198 """1200 # Explicit activate checks1201 err_codes = [1202 'C0305', # trailing-newlines1203 'C0325', # superfluous-parens1204 'C0410', # multiple-imports1205 'C0303', # trailing-whitespace1206 'E0100', # init-is-generator1207 'E0101', # return-in-init1208 'E0102', # function-redefined1209 'E0103', # not-in-loop1210 'E0106', # return-arg-in-generator1211 'E0213', # no-self-argument1212 'E0401', # import-error1213 'E0602', # undefined-variable1214 'E1101', # no-member1215 'I0021', # useless-suppression1216 'W0123', # eval-used1217 'W0237', # arguments-renamed1218 'W0311', # bad-indentation1219 'W0404', # reimported1220 'W0611', # unused-import1221 'W0612', # unused-variable1222 'W0614', # unused-wildcard-import1223 'W0707', # raise-missing-from1224 'W1301', # unused-format-string-key1225 'W1401', # anomalous-backslash-in-string (invalid escape sequence)1226 'W1515', # forgotten-debug-statement1227 'W4902', # deprecated-method1228 'W4904', # deprecated-class1229 'R0202', # no-classmethod-decorator1230 'R0203', # no-staticmethod-decorator1231 # See PyLint bugs:1232 # https://github.com/pylint-dev/pylint/issues/2141233 # https://github.com/pylint-dev/pylint/issues/79201234 # 'R0801', # duplicate-code1236 # Enable asap. This list is a selection of existing (not all!)1237 # problems currently existing in the BIT code base. Quite easy to1238 # fix because their count is low.1239 # 'W0237', # arguments-renamed1240 # 'W0221', # arguments-differ1241 # 'W0603', # global-statement1242 ]1244 cmd = create_pylint_cmd(err_codes)1246 # Add py-files1247 cmd.extend(self._collect_py_files())1249 r = subprocess.run(1250 cmd,1251 check=False,1252 universal_newlines=True,1253 capture_output=True)1255 # Count lines except module headings and output about duplicate code1256 error_n = len(list(filter(1257 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),1258 r.stdout.splitlines())))1259 print(r.stdout)1261> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1262E AssertionError: 0 != 2 : PyLint found 2 problems.1265----------------------------- Captured stdout call -----------------------------1266************* Module snapshots1267snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)1268************* Module test.test_encfstools1269test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)1271________________________ SystemTest.test_local_snapshot ________________________1273self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>1275 def test_local_snapshot(self):1276 """User-callback response while doing a local snapshot"""1278 config = Config(1279 config_path=str(self.config_fp),1280 data_path=str(self.temp_path / '.local' / 'share')1281 )1283 full_snapshot_path = config.snapshotsFullPath()1284 Path(full_snapshot_path).mkdir(parents=True)1286 snapshot = Snapshots(config)1288 # DevNote : Because BIT don't use Python's logging module there is1289 # no way to use assertLogs(). Current solution is to capture1290 # stdout/stderr.1291 stdout = io.StringIO()1292 stderr = io.StringIO()1294 with redirect_stdout(stdout), redirect_stderr(stderr):1295 # Result is inverted. 'True' means there was an error.1296> self.assertFalse(snapshot.backup())1299_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1301 ret_val, ret_error = self.takeSnapshot(1303 self.backupPermissions(new_snapshot)1304_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1306self = <snapshots.Snapshots object at 0x7c4816332cf0>, sid = new_snapshot1308 def backupPermissions(self, sid):1309 """1310 Save permissions (owner, group, read-, write- and executable)1311 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1313 Args:1314 sid (SID): snapshot that should be scanned1316 Returns:1317 int: Return code of rsync.1318 """1319 logger.info('Save permissions', self)1320 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1322 fileInfoDict = FileInfoDict()1324 if self.config.snapshotsMode() == 'ssh_encfs':1325 decode = encfstools.Decode(self.config, False)1326 else:1327> decode = encfstools.Bounce()1328E AttributeError: module 'encfstools' has no attribute 'Bounce'1331----------------------------- Captured stderr call -----------------------------1332DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1333WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1334WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1335WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1336DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1337DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1338___________________ SnapshotWithSID.test_backup_permissions ____________________1340self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>1342 def test_backup_permissions(self):1343 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)1344 infoFilePath = os.path.join(self.snapshotPath,1345 '20151219-010324-123',1346 'fileinfo.bz2')1348 include = self.cfg.include()[0][0]1349 with TemporaryDirectory(dir = include) as tmp:1351 file_path = os.path.join(tmp, 'foo')1352 with open(file_path, 'wt') as f:1353 f.write('bar')1354 f.flush()1356 self.sid.makeDirs(tmp)1357 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:1358 snapshot_f.write('bar')1359 snapshot_f.flush()1361> self.sn.backupPermissions(self.sid)1364_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1366self = <snapshots.Snapshots object at 0x7c4815fb1700>, sid = 20151219-010324-1231368 def backupPermissions(self, sid):1369 """1370 Save permissions (owner, group, read-, write- and executable)1371 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1373 Args:1374 sid (SID): snapshot that should be scanned1376 Returns:1377 int: Return code of rsync.1378 """1379 logger.info('Save permissions', self)1380 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1382 fileInfoDict = FileInfoDict()1384 if self.config.snapshotsMode() == 'ssh_encfs':1385 decode = encfstools.Decode(self.config, False)1386 else:1387> decode = encfstools.Bounce()1388E AttributeError: module 'encfstools' has no attribute 'Bounce'1391----------------------------- Captured stderr call -----------------------------1392DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1393WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1394WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1395WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1396DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1397DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1398INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1399____________________ SshPermissions.test_backup_permissions ____________________1401self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>1403 def test_backup_permissions(self):1404 """Backup file permissions in SSH backup mode."""1406 # --- prepare environment ---1408 # config instance1409 cfg = _init_basic_config()1410 # snapshots profile1411 snapshot = _init_ssh_profile(cfg)1412 # backup source directory1413 _init_source_path(cfg)1414 # simulate a taken snapshot1415 sid = _init_concrete_snapshot(cfg)1417 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand1418 # all details yet.1419 # mount1420 mount_obj = _init_mounting(cfg)1421 # ...unmount when test finished1422 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))1424 # --- prepare the backup source ---1426 # Does the concrete snapshot exists?1427 self.assertTrue(sid.exists())1429 # The backup source path1430 # e.g. /tmp/e2uij3y1431 source_path = pathlib.Path(cfg.include()[0][0])1432 # ...exists?1433 self.assertTrue(source_path.exists())1435 # create the test files in the backup source directory1436 generic.create_test_files(str(source_path))1438 # --- Do the job to test. ---1440 # backup permissions of files/folders in the backup source1441> rc = snapshot.backupPermissions(sid)1444_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1446self = <snapshots.Snapshots object at 0x7c48232331d0>, sid = 20151219-010324-1231448 def backupPermissions(self, sid):1449 """1450 Save permissions (owner, group, read-, write- and executable)1451 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1453 Args:1454 sid (SID): snapshot that should be scanned1456 Returns:1457 int: Return code of rsync.1458 """1459 logger.info('Save permissions', self)1460 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1462 fileInfoDict = FileInfoDict()1464 if self.config.snapshotsMode() == 'ssh_encfs':1465 decode = encfstools.Decode(self.config, False)1466 else:1467> decode = encfstools.Bounce()1468E AttributeError: module 'encfstools' has no attribute 'Bounce'1471----------------------------- Captured stderr call -----------------------------1472DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1473WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1474WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1475WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1476DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1477DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1478DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1479DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1480DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)1481DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)1482DEBUG: [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']1483DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]1484DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.1485DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.1486DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running1487DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']1488DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 71489ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory1490DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1491DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1492DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/5426.lock1493DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"1494DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available1495DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login1496DEBUG: [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']1497DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory1498DEBUG: [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/DESTINATIONDIRparentk9fc4amv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentk9fc4amv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 13;exit 20']1499DEBUG: [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/DESTINATIONDIRparentk9fc4amv/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentk9fc4amv/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentk9fc4amv/foo" || exit 13;exit 201500DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 201501DEBUG: [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/DESTINATIONDIRparentk9fc4amv/foo /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/mountpoint1502DEBUG: [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/DESTINATIONDIRparentk9fc4amv/foo', '/tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/mountpoint'].1503INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparentk9fc4amv/foo on /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/mountpoint1504DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/locks/5426.lock1505DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/5426.lock1506INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1507DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 81508ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory1509DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1510DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1511DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/5426.lock1512INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparentk9fc4amv/foo from /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/mountpoint1513DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/52F3F264/locks/5426.lock1514DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRz69vwq7g/.local/share/backintime/mnt/5426.lock1515_______________________________ Take.test_error ________________________________1517self = <test.test_takeSnapshot.Take testMethod=test_error>1518sleep = <MagicMock name='sleep' id='136649144349712'>1520 @patch('time.sleep') # speed up unittest1521 def test_error(self, sleep):1522 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1523 now = datetime.today()1524 sid1 = snapshots.SID(now, self.cfg)1526> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1529_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1531 self.backupPermissions(new_snapshot)1532_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1534self = <snapshots.Snapshots object at 0x7c481bb532f0>, sid = new_snapshot1536 def backupPermissions(self, sid):1537 """1538 Save permissions (owner, group, read-, write- and executable)1539 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1541 Args:1542 sid (SID): snapshot that should be scanned1544 Returns:1545 int: Return code of rsync.1546 """1547 logger.info('Save permissions', self)1548 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1550 fileInfoDict = FileInfoDict()1552 if self.config.snapshotsMode() == 'ssh_encfs':1553 decode = encfstools.Decode(self.config, False)1554 else:1555> decode = encfstools.Bounce()1556E AttributeError: module 'encfstools' has no attribute 'Bounce'1559----------------------------- Captured stderr call -----------------------------1560DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1561WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1562WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1563WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1564DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1565DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1566INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1567DEBUG: [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/tmpi0mc2rr5 --exclude=/tmp/tmplxcj6uj6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmptrt7umuc/ --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/tmptrt7umuc/** --exclude=* / /tmp/tmpi0mc2rr5/backintime/test-host/test-user/1/new_snapshot/backup"1568DEBUG: [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/tmpi0mc2rr5 --exclude=/tmp/tmplxcj6uj6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmptrt7umuc/ --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/tmptrt7umuc/** --exclude=* / /tmp/tmpi0mc2rr5/backintime/test-host/test-user/1/new_snapshot/backup'1569WARNING: [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/tmpi0mc2rr5 --exclude=/tmp/tmplxcj6uj6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmptrt7umuc/ --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/tmptrt7umuc/** --exclude=* / /tmp/tmpi0mc2rr5/backintime/test-host/test-user/1/new_snapshot/backup" returns 231570INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1571INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1572______________________________ Take.test_exclude _______________________________1574self = <test.test_takeSnapshot.Take testMethod=test_exclude>1575sleep = <MagicMock name='sleep' id='136649144417744'>1577 @patch('time.sleep') # speed up unittest1578 def test_exclude(self, sleep):1579 now = datetime.today()1580 sid1 = snapshots.SID(now, self.cfg)1581 self.cfg.setExclude(['bar/baz'])1583> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1586_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1588 self.backupPermissions(new_snapshot)1589_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1591self = <snapshots.Snapshots object at 0x7c481bb626c0>, sid = new_snapshot1593 def backupPermissions(self, sid):1594 """1595 Save permissions (owner, group, read-, write- and executable)1596 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1598 Args:1599 sid (SID): snapshot that should be scanned1601 Returns:1602 int: Return code of rsync.1603 """1604 logger.info('Save permissions', self)1605 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1607 fileInfoDict = FileInfoDict()1609 if self.config.snapshotsMode() == 'ssh_encfs':1610 decode = encfstools.Decode(self.config, False)1611 else:1612> decode = encfstools.Bounce()1613E AttributeError: module 'encfstools' has no attribute 'Bounce'1616----------------------------- Captured stderr call -----------------------------1617DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1618WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1619WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1620WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1621DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1622DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1623INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1624DEBUG: [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/tmpw_tb0nip --exclude=/tmp/tmpeft_3xcn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3j6zjtpa/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp3j6zjtpa/** --exclude=* / /tmp/tmpw_tb0nip/backintime/test-host/test-user/1/new_snapshot/backup"1625DEBUG: [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/tmpw_tb0nip --exclude=/tmp/tmpeft_3xcn/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3j6zjtpa/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp3j6zjtpa/** --exclude=* / /tmp/tmpw_tb0nip/backintime/test-host/test-user/1/new_snapshot/backup'1626DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 01627INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1628INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1629___________________________ Take.test_four_snapshots ___________________________1631self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>1632sleep = <MagicMock name='sleep' id='136649144415248'>1634 @patch('time.sleep') # speed up unittest1635 def test_four_snapshots(self, sleep):1636 now = datetime.today() - timedelta(minutes = 6)1637 sid1 = snapshots.SID(now, self.cfg)1639 # Note: 'self.sn' is of type 'Snapshots'1640 # First boolean: Snapshot succeeded1641 # Second boolean: Error occurred1642 self.assertListEqual(1643 [True, False], # Snapshot without error1644> self.sn.takeSnapshot(1645 sid=sid1,1646 now=now,1647 include_folders=[1648 (self.include.name, 0), # '0' means it is a file1649 ]1650 )1651 )1654_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1656 self.backupPermissions(new_snapshot)1657_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1659self = <snapshots.Snapshots object at 0x7c481bb632f0>, sid = new_snapshot1661 def backupPermissions(self, sid):1662 """1663 Save permissions (owner, group, read-, write- and executable)1664 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1666 Args:1667 sid (SID): snapshot that should be scanned1669 Returns:1670 int: Return code of rsync.1671 """1672 logger.info('Save permissions', self)1673 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1675 fileInfoDict = FileInfoDict()1677 if self.config.snapshotsMode() == 'ssh_encfs':1678 decode = encfstools.Decode(self.config, False)1679 else:1680> decode = encfstools.Bounce()1681E AttributeError: module 'encfstools' has no attribute 'Bounce'1684----------------------------- Captured stderr call -----------------------------1685DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1686WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1687WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1688WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1689DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1690DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1691INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1692DEBUG: [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/tmp36ol1ufw --exclude=/tmp/tmpjdk_lqnf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpc8kifrw1/ --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/tmpc8kifrw1/** --exclude=* / /tmp/tmp36ol1ufw/backintime/test-host/test-user/1/new_snapshot/backup"1693DEBUG: [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/tmp36ol1ufw --exclude=/tmp/tmpjdk_lqnf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpc8kifrw1/ --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/tmpc8kifrw1/** --exclude=* / /tmp/tmp36ol1ufw/backintime/test-host/test-user/1/new_snapshot/backup'1694DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 01695INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1696INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1697_____________________________ Take.test_new_exists _____________________________1699self = <test.test_takeSnapshot.Take testMethod=test_new_exists>1700sleep = <MagicMock name='sleep' id='136649144043280'>1702 @patch('time.sleep') # speed up unittest1703 def test_new_exists(self, sleep):1704 new_snapshot = snapshots.NewSnapshot(self.cfg)1705 new_snapshot.makeDirs()1706 with open(new_snapshot.path('leftover'), 'wt') as f:1707 f.write('foo')1709 now = datetime.today() - timedelta(minutes = 6)1710 sid1 = snapshots.SID(now, self.cfg)1712> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1715_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1717 self.backupPermissions(new_snapshot)1718_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1720self = <snapshots.Snapshots object at 0x7c481bb09670>, sid = new_snapshot1722 def backupPermissions(self, sid):1723 """1724 Save permissions (owner, group, read-, write- and executable)1725 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1727 Args:1728 sid (SID): snapshot that should be scanned1730 Returns:1731 int: Return code of rsync.1732 """1733 logger.info('Save permissions', self)1734 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1736 fileInfoDict = FileInfoDict()1738 if self.config.snapshotsMode() == 'ssh_encfs':1739 decode = encfstools.Decode(self.config, False)1740 else:1741> decode = encfstools.Bounce()1742E AttributeError: module 'encfstools' has no attribute 'Bounce'1745----------------------------- Captured stderr call -----------------------------1746DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1747WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1748WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1749WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1750DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1751DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1752INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run1753DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmplepplmru/ /tmp/tmpjj8so4rl/backintime/test-host/test-user/1/new_snapshot"1754DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmplepplmru/ /tmp/tmpjj8so4rl/backintime/test-host/test-user/1/new_snapshot'1755DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 01756INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1757DEBUG: [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/tmpjj8so4rl --exclude=/tmp/tmpflrbwhi4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjsyue3mt/ --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/tmpjsyue3mt/** --exclude=* / /tmp/tmpjj8so4rl/backintime/test-host/test-user/1/new_snapshot/backup"1758DEBUG: [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/tmpjj8so4rl --exclude=/tmp/tmpflrbwhi4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpjsyue3mt/ --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/tmpjsyue3mt/** --exclude=* / /tmp/tmpjj8so4rl/backintime/test-host/test-user/1/new_snapshot/backup'1759DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 01760INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1761INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1762________________________ Take.test_new_exists_continue _________________________1764self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>1765sleep = <MagicMock name='sleep' id='136649246544896'>1767 @patch('time.sleep') # speed up unittest1768 def test_new_exists_continue(self, sleep):1769 new_snapshot = snapshots.NewSnapshot(self.cfg)1770 new_snapshot.makeDirs()1771 with open(new_snapshot.path('leftover'), 'wt') as f:1772 f.write('foo')1773 new_snapshot.saveToContinue = True1775 now = datetime.today() - timedelta(minutes = 6)1776 sid1 = snapshots.SID(now, self.cfg)1778> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1781_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1783 self.backupPermissions(new_snapshot)1784_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1786self = <snapshots.Snapshots object at 0x7c4821cc92b0>, sid = new_snapshot1788 def backupPermissions(self, sid):1789 """1790 Save permissions (owner, group, read-, write- and executable)1791 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1793 Args:1794 sid (SID): snapshot that should be scanned1796 Returns:1797 int: Return code of rsync.1798 """1799 logger.info('Save permissions', self)1800 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1802 fileInfoDict = FileInfoDict()1804 if self.config.snapshotsMode() == 'ssh_encfs':1805 decode = encfstools.Decode(self.config, False)1806 else:1807> decode = encfstools.Bounce()1808E AttributeError: module 'encfstools' has no attribute 'Bounce'1811----------------------------- Captured stderr call -----------------------------1812DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1813WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1814WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1815WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1816DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1817DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1818INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.1819INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1820DEBUG: [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/tmpft4ijw4o --exclude=/tmp/tmpm5vop3us/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwcpktdsq/ --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/tmpwcpktdsq/** --exclude=* / /tmp/tmpft4ijw4o/backintime/test-host/test-user/1/new_snapshot/backup"1821DEBUG: [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/tmpft4ijw4o --exclude=/tmp/tmpm5vop3us/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpwcpktdsq/ --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/tmpwcpktdsq/** --exclude=* / /tmp/tmpft4ijw4o/backintime/test-host/test-user/1/new_snapshot/backup'1822DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 01823INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1824INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1825_________________________ Take.test_spaces_in_exclude __________________________1827self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>1828sleep = <MagicMock name='sleep' id='136649246724880'>1830 @patch('time.sleep') # speed up unittest1831 def test_spaces_in_exclude(self, sleep):1832 now = datetime.today()1833 sid1 = snapshots.SID(now, self.cfg)1834 exclude = os.path.join(self.include.name, 'test path with spaces')1835 generic.create_test_files(exclude)1836 self.cfg.setExclude([exclude])1838> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1841_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1843 self.backupPermissions(new_snapshot)1844_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1846self = <snapshots.Snapshots object at 0x7c4821cf51c0>, sid = new_snapshot1848 def backupPermissions(self, sid):1849 """1850 Save permissions (owner, group, read-, write- and executable)1851 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1853 Args:1854 sid (SID): snapshot that should be scanned1856 Returns:1857 int: Return code of rsync.1858 """1859 logger.info('Save permissions', self)1860 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1862 fileInfoDict = FileInfoDict()1864 if self.config.snapshotsMode() == 'ssh_encfs':1865 decode = encfstools.Decode(self.config, False)1866 else:1867> decode = encfstools.Bounce()1868E AttributeError: module 'encfstools' has no attribute 'Bounce'1871----------------------------- Captured stderr call -----------------------------1872DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1873WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1874WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1875WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1876DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1877DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1878INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1879DEBUG: [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/tmp64oh0g2w --exclude=/tmp/tmpupc25iu6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnxl2x6hu/ --include=/tmp/ --exclude=/tmp/tmpnxl2x6hu/test path with spaces --include=/tmp/tmpnxl2x6hu/** --exclude=* / /tmp/tmp64oh0g2w/backintime/test-host/test-user/1/new_snapshot/backup"1880DEBUG: [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/tmp64oh0g2w --exclude=/tmp/tmpupc25iu6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnxl2x6hu/ --include=/tmp/ --exclude=/tmp/tmpnxl2x6hu/test path with spaces --include=/tmp/tmpnxl2x6hu/** --exclude=* / /tmp/tmp64oh0g2w/backintime/test-host/test-user/1/new_snapshot/backup'1881DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 01882INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1883INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1884_________________________ Take.test_spaces_in_include __________________________1886self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>1887sleep = <MagicMock name='sleep' id='136649246919952'>1889 @patch('time.sleep') # speed up unittest1890 def test_spaces_in_include(self, sleep):1891 now = datetime.today()1892 sid1 = snapshots.SID(now, self.cfg)1893 include = os.path.join(self.include.name, 'test path with spaces')1894 generic.create_test_files(include)1896> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))1899_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1901 self.backupPermissions(new_snapshot)1902_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1904self = <snapshots.Snapshots object at 0x7c4821d24bc0>, sid = new_snapshot1906 def backupPermissions(self, sid):1907 """1908 Save permissions (owner, group, read-, write- and executable)1909 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1911 Args:1912 sid (SID): snapshot that should be scanned1914 Returns:1915 int: Return code of rsync.1916 """1917 logger.info('Save permissions', self)1918 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1920 fileInfoDict = FileInfoDict()1922 if self.config.snapshotsMode() == 'ssh_encfs':1923 decode = encfstools.Decode(self.config, False)1924 else:1925> decode = encfstools.Bounce()1926E AttributeError: module 'encfstools' has no attribute 'Bounce'1929----------------------------- Captured stderr call -----------------------------1930DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1931WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1932WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1933WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1934DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1935DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1936INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1937DEBUG: [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/tmpq34xz3au --exclude=/tmp/tmpigs4mddz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmptkydegx9/test path with spaces/ --include=/tmp/tmptkydegx9/ --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/tmptkydegx9/test path with spaces/** --exclude=* / /tmp/tmpq34xz3au/backintime/test-host/test-user/1/new_snapshot/backup"1938DEBUG: [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/tmpq34xz3au --exclude=/tmp/tmpigs4mddz/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmptkydegx9/test path with spaces/ --include=/tmp/tmptkydegx9/ --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/tmptkydegx9/test path with spaces/** --exclude=* / /tmp/tmpq34xz3au/backintime/test-host/test-user/1/new_snapshot/backup'1939DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 01940INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1941INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1942______________________________ TakeSSH.test_error ______________________________1944self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>1945sleep = <MagicMock name='sleep' id='136649246689472'>1947 @patch('time.sleep') # speed up unittest1948 def test_error(self, sleep):1949 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1950 now = datetime.today()1951 sid1 = snapshots.SID(now, self.cfg)1953> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1956_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1958 self.backupPermissions(new_snapshot)1959_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1961self = <snapshots.Snapshots object at 0x7c4821cec4d0>, sid = new_snapshot1963 def backupPermissions(self, sid):1964 """1965 Save permissions (owner, group, read-, write- and executable)1966 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1968 Args:1969 sid (SID): snapshot that should be scanned1971 Returns:1972 int: Return code of rsync.1973 """1974 logger.info('Save permissions', self)1975 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1977 fileInfoDict = FileInfoDict()1979 if self.config.snapshotsMode() == 'ssh_encfs':1980 decode = encfstools.Decode(self.config, False)1981 else:1982> decode = encfstools.Bounce()1983E AttributeError: module 'encfstools' has no attribute 'Bounce'1986----------------------------- Captured stderr call -----------------------------1987DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1988WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1989WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1990WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1991DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1992DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1993DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1994DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1995DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)1996DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)1997DEBUG: [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']1998DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]1999DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2000DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2001DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2002DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2003DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72004ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2005DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2006DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2007DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/5426.lock2008DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2009DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2010DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2011DEBUG: [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']2012DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2013DEBUG: [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/tmpzcb9pj62/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpzcb9pj62/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpzcb9pj62/foo" || exit 11;test -w "/tmp/tmpzcb9pj62/foo" || exit 12;test -x "/tmp/tmpzcb9pj62/foo" || exit 13;exit 20']2014DEBUG: [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/tmpzcb9pj62/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpzcb9pj62/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpzcb9pj62/foo" || exit 11;test -w "/tmp/tmpzcb9pj62/foo" || exit 12;test -x "/tmp/tmpzcb9pj62/foo" || exit 13;exit 202015DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202016DEBUG: [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/tmpzcb9pj62/foo /tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/mountpoint2017DEBUG: [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/tmpzcb9pj62/foo', '/tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/mountpoint'].2018INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpzcb9pj62/foo on /tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/mountpoint2019DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/locks/5426.lock2020DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/5426.lock2021DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2022INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2023DEBUG: [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/tmpr1pa7og4/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpr1pa7og4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpur8wmy7f/ --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/tmpur8wmy7f/** --exclude=* / travis@localhost:/tmp/tmpzcb9pj62/foo/backintime/test-host/test-user/1/new_snapshot/backup"2024DEBUG: [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/tmpr1pa7og4/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpr1pa7og4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpur8wmy7f/ --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/tmpur8wmy7f/** --exclude=* / travis@localhost:/tmp/tmpzcb9pj62/foo/backintime/test-host/test-user/1/new_snapshot/backup'2025WARNING: [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/tmpr1pa7og4/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpr1pa7og4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpur8wmy7f/ --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/tmpur8wmy7f/** --exclude=* / travis@localhost:/tmp/tmpzcb9pj62/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 232026INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2027INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2028DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2029DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2030DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2031DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2032DEBUG: [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']2033DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2034DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2035DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2036DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2037DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2038DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82039ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2040DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2041DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2042DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/5426.lock2043INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpzcb9pj62/foo from /tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/mountpoint2044DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/9E0E56B8/locks/5426.lock2045DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpr1pa7og4/.local/share/backintime/mnt/5426.lock2046_____________________________ TakeSSH.test_exclude _____________________________2048self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>2049sleep = <MagicMock name='sleep' id='136649144416400'>2051 @patch('time.sleep') # speed up unittest2052 def test_exclude(self, sleep):2053 now = datetime.today()2054 sid1 = snapshots.SID(now, self.cfg)2055 self.cfg.setExclude(['bar/baz'])2057> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2060_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2062 self.backupPermissions(new_snapshot)2063_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2065self = <snapshots.Snapshots object at 0x7c481bb634d0>, sid = new_snapshot2067 def backupPermissions(self, sid):2068 """2069 Save permissions (owner, group, read-, write- and executable)2070 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2072 Args:2073 sid (SID): snapshot that should be scanned2075 Returns:2076 int: Return code of rsync.2077 """2078 logger.info('Save permissions', self)2079 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2081 fileInfoDict = FileInfoDict()2083 if self.config.snapshotsMode() == 'ssh_encfs':2084 decode = encfstools.Decode(self.config, False)2085 else:2086> decode = encfstools.Bounce()2087E AttributeError: module 'encfstools' has no attribute 'Bounce'2090----------------------------- Captured stderr call -----------------------------2091DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2092WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2093WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2094WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2095DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2096DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2097DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2098DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2099DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2100DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2101DEBUG: [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']2102DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2103DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2104DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2105DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2106DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2107DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72108ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2109DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2110DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2111DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/5426.lock2112DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2113DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2114DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2115DEBUG: [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']2116DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2117DEBUG: [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/tmp6e5kpb9u/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6e5kpb9u/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6e5kpb9u/foo" || exit 11;test -w "/tmp/tmp6e5kpb9u/foo" || exit 12;test -x "/tmp/tmp6e5kpb9u/foo" || exit 13;exit 20']2118DEBUG: [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/tmp6e5kpb9u/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp6e5kpb9u/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp6e5kpb9u/foo" || exit 11;test -w "/tmp/tmp6e5kpb9u/foo" || exit 12;test -x "/tmp/tmp6e5kpb9u/foo" || exit 13;exit 202119DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202120DEBUG: [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/tmp6e5kpb9u/foo /tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/mountpoint2121DEBUG: [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/tmp6e5kpb9u/foo', '/tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/mountpoint'].2122INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp6e5kpb9u/foo on /tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/mountpoint2123DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/locks/5426.lock2124DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/5426.lock2125DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2126INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2127DEBUG: [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/tmpkw5_bves/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpkw5_bves/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpezww7y8w/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpezww7y8w/** --exclude=* / travis@localhost:/tmp/tmp6e5kpb9u/foo/backintime/test-host/test-user/1/new_snapshot/backup"2128DEBUG: [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/tmpkw5_bves/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpkw5_bves/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpezww7y8w/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmpezww7y8w/** --exclude=* / travis@localhost:/tmp/tmp6e5kpb9u/foo/backintime/test-host/test-user/1/new_snapshot/backup'2129DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 02130INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2131INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2132DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2133DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2134DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2135DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2136DEBUG: [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']2137DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2138DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2139DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2140DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2141DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2142DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82143ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2144DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2145DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2146DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/5426.lock2147INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp6e5kpb9u/foo from /tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/mountpoint2148DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/8C671E85/locks/5426.lock2149DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpkw5_bves/.local/share/backintime/mnt/5426.lock2150_________________________ TakeSSH.test_four_snapshots __________________________2152self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>2153sleep = <MagicMock name='sleep' id='136649246958096'>2155 @patch('time.sleep') # speed up unittest2156 def test_four_snapshots(self, sleep):2157 now = datetime.today() - timedelta(minutes = 6)2158 sid1 = snapshots.SID(now, self.cfg)2160 # Note: 'self.sn' is of type 'Snapshots'2161 # First boolean: Snapshot succeeded2162 # Second boolean: Error occurred2163 self.assertListEqual(2164 [True, False], # Snapshot without error2165> self.sn.takeSnapshot(2166 sid=sid1,2167 now=now,2168 include_folders=[2169 (self.include.name, 0), # '0' means it is a file2170 ]2171 )2172 )2175_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2177 self.backupPermissions(new_snapshot)2178_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2180self = <snapshots.Snapshots object at 0x7c4821d2d880>, sid = new_snapshot2182 def backupPermissions(self, sid):2183 """2184 Save permissions (owner, group, read-, write- and executable)2185 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2187 Args:2188 sid (SID): snapshot that should be scanned2190 Returns:2191 int: Return code of rsync.2192 """2193 logger.info('Save permissions', self)2194 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2196 fileInfoDict = FileInfoDict()2198 if self.config.snapshotsMode() == 'ssh_encfs':2199 decode = encfstools.Decode(self.config, False)2200 else:2201> decode = encfstools.Bounce()2202E AttributeError: module 'encfstools' has no attribute 'Bounce'2205----------------------------- Captured stderr call -----------------------------2206DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2207WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2208WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2209WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2210DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2211DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2212DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2213DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2214DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2215DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2216DEBUG: [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']2217DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2218DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2219DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2220DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2221DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2222DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72223ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2224DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2225DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2226DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/5426.lock2227DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2228DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2229DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2230DEBUG: [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']2231DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2232DEBUG: [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/tmp59xydea8/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp59xydea8/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp59xydea8/foo" || exit 11;test -w "/tmp/tmp59xydea8/foo" || exit 12;test -x "/tmp/tmp59xydea8/foo" || exit 13;exit 20']2233DEBUG: [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/tmp59xydea8/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp59xydea8/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp59xydea8/foo" || exit 11;test -w "/tmp/tmp59xydea8/foo" || exit 12;test -x "/tmp/tmp59xydea8/foo" || exit 13;exit 202234DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202235DEBUG: [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/tmp59xydea8/foo /tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/mountpoint2236DEBUG: [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/tmp59xydea8/foo', '/tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/mountpoint'].2237INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp59xydea8/foo on /tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/mountpoint2238DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/locks/5426.lock2239DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/5426.lock2240DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2241INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2242DEBUG: [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/tmp62u8wi2i/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmp62u8wi2i/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm35l0cza/ --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/tmpm35l0cza/** --exclude=* / travis@localhost:/tmp/tmp59xydea8/foo/backintime/test-host/test-user/1/new_snapshot/backup"2243DEBUG: [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/tmp62u8wi2i/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmp62u8wi2i/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpm35l0cza/ --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/tmpm35l0cza/** --exclude=* / travis@localhost:/tmp/tmp59xydea8/foo/backintime/test-host/test-user/1/new_snapshot/backup'2244DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 02245INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2246INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2247DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2248DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2249DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2250DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2251DEBUG: [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']2252DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2253DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2254DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2255DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2256DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2257DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82258ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2259DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2260DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2261DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/5426.lock2262INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp59xydea8/foo from /tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/mountpoint2263DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/9F5FD3A9/locks/5426.lock2264DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp62u8wi2i/.local/share/backintime/mnt/5426.lock2265___________________________ TakeSSH.test_new_exists ____________________________2267self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>2268sleep = <MagicMock name='sleep' id='136649246718768'>2270 @patch('time.sleep') # speed up unittest2271 def test_new_exists(self, sleep):2272 new_snapshot = snapshots.NewSnapshot(self.cfg)2273 new_snapshot.makeDirs()2274 with open(new_snapshot.path('leftover'), 'wt') as f:2275 f.write('foo')2277 now = datetime.today() - timedelta(minutes = 6)2278 sid1 = snapshots.SID(now, self.cfg)2280> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2283_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2285 self.backupPermissions(new_snapshot)2286_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2288self = <snapshots.Snapshots object at 0x7c4821cf2270>, sid = new_snapshot2290 def backupPermissions(self, sid):2291 """2292 Save permissions (owner, group, read-, write- and executable)2293 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2295 Args:2296 sid (SID): snapshot that should be scanned2298 Returns:2299 int: Return code of rsync.2300 """2301 logger.info('Save permissions', self)2302 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2304 fileInfoDict = FileInfoDict()2306 if self.config.snapshotsMode() == 'ssh_encfs':2307 decode = encfstools.Decode(self.config, False)2308 else:2309> decode = encfstools.Bounce()2310E AttributeError: module 'encfstools' has no attribute 'Bounce'2313----------------------------- Captured stderr call -----------------------------2314DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2315WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2316WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2317WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2318DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2319DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2320DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2321DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2322DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2323DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2324DEBUG: [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']2325DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2326DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2327DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2328DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2329DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2330DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72331ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2332DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2333DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2334DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/5426.lock2335DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2336DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2337DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2338DEBUG: [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']2339DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2340DEBUG: [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/tmpdzggm3v6/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdzggm3v6/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdzggm3v6/foo" || exit 11;test -w "/tmp/tmpdzggm3v6/foo" || exit 12;test -x "/tmp/tmpdzggm3v6/foo" || exit 13;exit 20']2341DEBUG: [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/tmpdzggm3v6/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpdzggm3v6/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpdzggm3v6/foo" || exit 11;test -w "/tmp/tmpdzggm3v6/foo" || exit 12;test -x "/tmp/tmpdzggm3v6/foo" || exit 13;exit 202342DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202343DEBUG: [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/tmpdzggm3v6/foo /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/mountpoint2344DEBUG: [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/tmpdzggm3v6/foo', '/tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/mountpoint'].2345INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpdzggm3v6/foo on /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/mountpoint2346DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/locks/5426.lock2347DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/5426.lock2348INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run2349DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2350DEBUG: [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/tmp40wtak85/ travis@localhost:/tmp/tmpdzggm3v6/foo/backintime/test-host/test-user/1/new_snapshot"2351DEBUG: [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/tmp40wtak85/ travis@localhost:/tmp/tmpdzggm3v6/foo/backintime/test-host/test-user/1/new_snapshot'2352DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 02353ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmpxyy8jxqk/.local/share/backintime/mnt/1_5426/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmpxyy8jxqk/.local/share/backintime/mnt/1_5426/backintime/test-host/test-user/1/new_snapshot/backup'2354DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2355INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2356DEBUG: [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/tmpxyy8jxqk/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpxyy8jxqk/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp5f1l1kb1/ --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/tmp5f1l1kb1/** --exclude=* / travis@localhost:/tmp/tmpdzggm3v6/foo/backintime/test-host/test-user/1/new_snapshot/backup"2357DEBUG: [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/tmpxyy8jxqk/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpxyy8jxqk/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp5f1l1kb1/ --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/tmp5f1l1kb1/** --exclude=* / travis@localhost:/tmp/tmpdzggm3v6/foo/backintime/test-host/test-user/1/new_snapshot/backup'2358DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 02359INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2360INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2361DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2362DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2363DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2364DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2365DEBUG: [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']2366DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2367DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2368DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2369DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2370DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2371DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82372ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2373DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2374DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2375DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/5426.lock2376INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpdzggm3v6/foo from /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/mountpoint2377DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/24408F7/locks/5426.lock2378DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpxyy8jxqk/.local/share/backintime/mnt/5426.lock2379_______________________ TakeSSH.test_new_exists_continue _______________________2381self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>2382sleep = <MagicMock name='sleep' id='136649247413296'>2384 @patch('time.sleep') # speed up unittest2385 def test_new_exists_continue(self, sleep):2386 new_snapshot = snapshots.NewSnapshot(self.cfg)2387 new_snapshot.makeDirs()2388 with open(new_snapshot.path('leftover'), 'wt') as f:2389 f.write('foo')2390 new_snapshot.saveToContinue = True2392 now = datetime.today() - timedelta(minutes = 6)2393 sid1 = snapshots.SID(now, self.cfg)2395> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2398_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2400 self.backupPermissions(new_snapshot)2401_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2403self = <snapshots.Snapshots object at 0x7c4821d9d940>, sid = new_snapshot2405 def backupPermissions(self, sid):2406 """2407 Save permissions (owner, group, read-, write- and executable)2408 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2410 Args:2411 sid (SID): snapshot that should be scanned2413 Returns:2414 int: Return code of rsync.2415 """2416 logger.info('Save permissions', self)2417 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2419 fileInfoDict = FileInfoDict()2421 if self.config.snapshotsMode() == 'ssh_encfs':2422 decode = encfstools.Decode(self.config, False)2423 else:2424> decode = encfstools.Bounce()2425E AttributeError: module 'encfstools' has no attribute 'Bounce'2428----------------------------- Captured stderr call -----------------------------2429DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2430WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2431WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2432WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2433DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2434DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2435DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2436DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2437DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2438DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2439DEBUG: [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']2440DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2441DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2442DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2443DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2444DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2445DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72446ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2447DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2448DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2449DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/5426.lock2450DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2451DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2452DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2453DEBUG: [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']2454DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2455DEBUG: [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/tmptekk121e/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmptekk121e/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmptekk121e/foo" || exit 11;test -w "/tmp/tmptekk121e/foo" || exit 12;test -x "/tmp/tmptekk121e/foo" || exit 13;exit 20']2456DEBUG: [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/tmptekk121e/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmptekk121e/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmptekk121e/foo" || exit 11;test -w "/tmp/tmptekk121e/foo" || exit 12;test -x "/tmp/tmptekk121e/foo" || exit 13;exit 202457DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202458DEBUG: [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/tmptekk121e/foo /tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/mountpoint2459DEBUG: [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/tmptekk121e/foo', '/tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/mountpoint'].2460INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmptekk121e/foo on /tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/mountpoint2461DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/locks/5426.lock2462DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/5426.lock2463INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.2464DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2465INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2466DEBUG: [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/tmphrqhjd23/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmphrqhjd23/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpkeh4h646/ --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/tmpkeh4h646/** --exclude=* / travis@localhost:/tmp/tmptekk121e/foo/backintime/test-host/test-user/1/new_snapshot/backup"2467DEBUG: [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/tmphrqhjd23/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmphrqhjd23/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpkeh4h646/ --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/tmpkeh4h646/** --exclude=* / travis@localhost:/tmp/tmptekk121e/foo/backintime/test-host/test-user/1/new_snapshot/backup'2468DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 02469INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2470INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2471DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2472DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2473DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2474DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2475DEBUG: [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']2476DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2477DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2478DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2479DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2480DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2481DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82482ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2483DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2484DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2485DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/5426.lock2486INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmptekk121e/foo from /tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/mountpoint2487DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/DDEBDE25/locks/5426.lock2488DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmphrqhjd23/.local/share/backintime/mnt/5426.lock2489________________________ TakeSSH.test_spaces_in_exclude ________________________2491self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>2492sleep = <MagicMock name='sleep' id='136649247423520'>2494 @patch('time.sleep') # speed up unittest2495 def test_spaces_in_exclude(self, sleep):2496 now = datetime.today()2497 sid1 = snapshots.SID(now, self.cfg)2498 exclude = os.path.join(self.include.name, 'test path with spaces')2499 generic.create_test_files(exclude)2500 self.cfg.setExclude([exclude])2502> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2505_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2507 self.backupPermissions(new_snapshot)2508_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2510self = <snapshots.Snapshots object at 0x7c4821d9f980>, sid = new_snapshot2512 def backupPermissions(self, sid):2513 """2514 Save permissions (owner, group, read-, write- and executable)2515 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2517 Args:2518 sid (SID): snapshot that should be scanned2520 Returns:2521 int: Return code of rsync.2522 """2523 logger.info('Save permissions', self)2524 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2526 fileInfoDict = FileInfoDict()2528 if self.config.snapshotsMode() == 'ssh_encfs':2529 decode = encfstools.Decode(self.config, False)2530 else:2531> decode = encfstools.Bounce()2532E AttributeError: module 'encfstools' has no attribute 'Bounce'2535----------------------------- Captured stderr call -----------------------------2536DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2537WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2538WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2539WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2540DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2541DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2542DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2543DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2544DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2545DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2546DEBUG: [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']2547DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2548DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2549DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2550DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2551DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2552DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72553ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2554DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2555DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2556DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/5426.lock2557DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2558DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2559DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2560DEBUG: [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']2561DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2562DEBUG: [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/tmpzxbemqqi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpzxbemqqi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpzxbemqqi/foo" || exit 11;test -w "/tmp/tmpzxbemqqi/foo" || exit 12;test -x "/tmp/tmpzxbemqqi/foo" || exit 13;exit 20']2563DEBUG: [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/tmpzxbemqqi/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpzxbemqqi/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpzxbemqqi/foo" || exit 11;test -w "/tmp/tmpzxbemqqi/foo" || exit 12;test -x "/tmp/tmpzxbemqqi/foo" || exit 13;exit 202564DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202565DEBUG: [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/tmpzxbemqqi/foo /tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/mountpoint2566DEBUG: [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/tmpzxbemqqi/foo', '/tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/mountpoint'].2567INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpzxbemqqi/foo on /tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/mountpoint2568DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/locks/5426.lock2569DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/5426.lock2570DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2571INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2572DEBUG: [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/tmpq71r5ag9/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpq71r5ag9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzvoa8of/ --include=/tmp/ --exclude=/tmp/tmplzvoa8of/test path with spaces --include=/tmp/tmplzvoa8of/** --exclude=* / travis@localhost:/tmp/tmpzxbemqqi/foo/backintime/test-host/test-user/1/new_snapshot/backup"2573DEBUG: [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/tmpq71r5ag9/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmpq71r5ag9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmplzvoa8of/ --include=/tmp/ --exclude=/tmp/tmplzvoa8of/test path with spaces --include=/tmp/tmplzvoa8of/** --exclude=* / travis@localhost:/tmp/tmpzxbemqqi/foo/backintime/test-host/test-user/1/new_snapshot/backup'2574DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 02575INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2576INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2577DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2578DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2579DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2580DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2581DEBUG: [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']2582DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2583DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2584DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2585DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2586DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2587DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82588ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2589DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2590DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2591DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/5426.lock2592INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpzxbemqqi/foo from /tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/mountpoint2593DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/DC8D92D1/locks/5426.lock2594DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpq71r5ag9/.local/share/backintime/mnt/5426.lock2595________________________ TakeSSH.test_spaces_in_include ________________________2597self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>2598sleep = <MagicMock name='sleep' id='136649246688416'>2600 @patch('time.sleep') # speed up unittest2601 def test_spaces_in_include(self, sleep):2602 now = datetime.today()2603 sid1 = snapshots.SID(now, self.cfg)2604 include = os.path.join(self.include.name, 'test path with spaces')2605 generic.create_test_files(include)2607> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))2610_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2612 self.backupPermissions(new_snapshot)2613_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2615self = <snapshots.Snapshots object at 0x7c4821cf0ec0>, sid = new_snapshot2617 def backupPermissions(self, sid):2618 """2619 Save permissions (owner, group, read-, write- and executable)2620 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2622 Args:2623 sid (SID): snapshot that should be scanned2625 Returns:2626 int: Return code of rsync.2627 """2628 logger.info('Save permissions', self)2629 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2631 fileInfoDict = FileInfoDict()2633 if self.config.snapshotsMode() == 'ssh_encfs':2634 decode = encfstools.Decode(self.config, False)2635 else:2636> decode = encfstools.Bounce()2637E AttributeError: module 'encfstools' has no attribute 'Bounce'2640----------------------------- Captured stderr call -----------------------------2641DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2642WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2643WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2644WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2645DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2646DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2647DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2648DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2649DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2650DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2651DEBUG: [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']2652DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2653DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2654DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2655DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2656DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2657DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 72658ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2659DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2660DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2661DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/5426.lock2662DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2663DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2664DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2665DEBUG: [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']2666DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2667DEBUG: [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/tmp0d9xecei/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp0d9xecei/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp0d9xecei/foo" || exit 11;test -w "/tmp/tmp0d9xecei/foo" || exit 12;test -x "/tmp/tmp0d9xecei/foo" || exit 13;exit 20']2668DEBUG: [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/tmp0d9xecei/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp0d9xecei/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp0d9xecei/foo" || exit 11;test -w "/tmp/tmp0d9xecei/foo" || exit 12;test -x "/tmp/tmp0d9xecei/foo" || exit 13;exit 202669DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202670DEBUG: [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/tmp0d9xecei/foo /tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/mountpoint2671DEBUG: [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/tmp0d9xecei/foo', '/tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/mountpoint'].2672INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp0d9xecei/foo on /tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/mountpoint2673DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/locks/5426.lock2674DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/5426.lock2675DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2676INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2677DEBUG: [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/tmp1evqnxta/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmp1evqnxta/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpflallo3m/test path with spaces/ --include=/tmp/tmpflallo3m/ --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/tmpflallo3m/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp0d9xecei/foo/backintime/test-host/test-user/1/new_snapshot/backup"2678DEBUG: [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/tmp1evqnxta/.local/share/backintime/mnt/1_5426 --exclude=/tmp/tmp1evqnxta/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpflallo3m/test path with spaces/ --include=/tmp/tmpflallo3m/ --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/tmpflallo3m/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmp0d9xecei/foo/backintime/test-host/test-user/1/new_snapshot/backup'2679DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 02680INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2681INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2682DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2683DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2684DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2685DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2686DEBUG: [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']2687DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2688DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2689DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2690DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2691DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2692DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.3j8mc915/config_path/user-callback 1 Main profile 82693ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2694DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2695DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2696DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/5426.lock2697INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp0d9xecei/foo from /tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/mountpoint2698DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/48360B24/locks/5426.lock2699DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp1evqnxta/.local/share/backintime/mnt/5426.lock2700=========================== short test summary info ============================2701FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 12702stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2703WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2704WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2705INFO: Lock2706INFO: Take a new snapshot. Profile: 1 Main profile2707INFO: Call rsync to take the snapshot2708INFO: Save config file2709INFO: Save permissions2710Traceback (most recent call last):2711 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>2712 startApp()2713 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp2714 args.func(args)2715 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup2716 ret = takeSnapshot(cfg, force)2717 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot2718 ret = snapshots.Snapshots(cfg).backup(force)2719 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup2720 ret_val, ret_error = self.takeSnapshot(2721 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot2722 self.backupPermissions(new_snapshot)2723 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions2724 decode = encfstools.Bounce()2725AttributeError: module 'encfstools' has no attribute 'Bounce'2727stdout:2728Back In Time2729Version: 1.5.4-rc12731Back In Time comes with ABSOLUTELY NO WARRANTY.2732This is free software, and you are welcome to redistribute it2733under certain conditions; type `backintime --license' for details.2734FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).2735FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).2736FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.2737FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.2738FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'2739FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2740FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2741FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2742FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2743FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2744FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2745FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2746FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2747FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2748FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2749FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2750FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2751FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2752FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2753FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2754FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2756make: *** [Makefile:620: unittest-v] Error 12757The command "make unittest-v" exited with 2.2759The command "cd .." exited with 0.2761The command "cd qt" exited with 0.2763Replacement of python path with "/usr/bin/python3" successful.2764All OK. Now run:2765 make2766 sudo make install2767The command "./configure" exited with 0.2769# Man pages2770for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done2771The command "make" exited with 0.2773============================= test session starts ==============================2774platform linux -- Python 3.12.4, pytest-8.3.1, pluggy-1.5.0 -- /home/travis/virtualenv/python3.12.4/bin/python2775cachedir: .pytest_cache2776rootdir: /home/travis/build/bit-team/backintime/qt2777plugins: pyfakefs-5.7.42778collected 9 items2791The command "pytest --verbose" exited with 0.2794Done. Your build exited with 1.