AMD64
Python: 3.11
Git
PYTHONUNBUFFERED=1
Scroll to End of Log
0.20s0.12s3.11 is not installed; attempting download0.07s0.00sTopworker_info1Worker information2hostname: 4248e6ba-cad9-48d4-8f65-46b7c2266580@1.worker-com-oss-6ff4ffc9b7-55dr6.gce-production-33version: v6.2.24 https://github.com/travis-ci/worker/tree/ee57d650a7692c1ac03f74ac073d0fd150c9f0304instance: travis-job-3b018f30-f015-4aed-b257-78bf538a345d travis-ci-ubuntu-2204-1732291639-53689d97 (via amqp)5startup: 5.965213915ssystem_info7Build system information8Build language: python9Build dist: jammy10Build id: 27423638511Job id: 63063362512Runtime 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.15s0.00s0.00s0.00s0.01s0.00s0.13s0.00s1.04s0.00s0.00s21.43s0.00s3.75s0.00s3.78sdocker_mtu_and_registry_mirrorsDockerresolvconf161Downloading archive: https://storage.googleapis.com/travis-ci-language-archives/python/binaries/ubuntu/22.04/x86_64/python-3.11.tar.bz21640.00sssh_known_hosts.0165Adding ssh known hosts166$ mkdir -p ${TRAVIS_HOME}/.ssh1670.06s$ ssh-keyscan -t $TRAVIS_SSH_KEY_TYPES -H localhost 2>&1 | tee -a ${TRAVIS_HOME}/.ssh/known_hosts168# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10169# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10170# localhost:22 SSH-2.0-OpenSSH_8.9p1 Ubuntu-3ubuntu0.10171|1|Qd9y5rLI62hLFJWgmfKOOUg/SzA=|l+C50SscT6KkBDItTMT3KpVR1DQ= ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQC3HFI6rtIj/GuMEyW1RTjiBc7+J7Vpt8P4SH+v052iAYR3E2U2zZLGrmdvSRbQlmT/gV35L078opxGKb+NYDnZ6pgeb9/id4k5UEKKtLriarKEchv1BtOhmwy+7dFV0sGqGMfcrUQDpFweJUThsiRMAFN+CguOsLIZBz6n5TIXAloW/jewoOtylEfINfTJEODKvaPl7gYORLYUpzLGuldjvyxos+FILF+Hsb38rOu1YLjWiEVk25KzQ1BHocZwk2Yin50wQHcm3JfXb95xFRGvJdCZGwICNAfr66u9tAXzG3eYOhd178trKl16GZZeXOXP7y0Sgw9GQFToBF+ybybZHq3zj5r0KTqyKatnh3ejg7K702pQpITKL+FtmHNg9SYWhSK1awwrdoTrVTNvEYF73OOxzX0cUEM24DwgXZ9IjULbaEXCRPL+zxuDMILjid/qLyWUE9zDf21CAiFI2jgwF6Zf+OnhuzpG+lvI2pR4Q2Ks1vfxchvchgCruCtSvVU=172|1|FRNCitLK+K3MxbRQdUYLi+DCLMI=|QMgkAzGLzYDnu7iD5c6OqKAwjl8= ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMIe0gbM8XDsBJmBnij8+Cb/EpVgrtMJzR3JRv5h+tdVqFRtMiz5zud9VJwPN3Yke/gSetvEWasxJG2rHVLoupc=git.checkout175Cloning into 'bit-team/backintime'...176remote: Enumerating objects: 932, done.177remote: Counting objects: 100% (932/932), done.178remote: Compressing objects: 100% (558/558), done.179remote: Total 932 (delta 541), reused 632 (delta 345), pack-reused 0 (from 0)180Receiving objects: 100% (932/932), 4.82 MiB | 21.64 MiB/s, done.181Resolving deltas: 100% (541/541), done.182$ cd bit-team/backintime184remote: Enumerating objects: 47, done.185remote: Counting objects: 100% (42/42), done.186remote: Compressing objects: 100% (14/14), done.187remote: Total 33 (delta 25), reused 26 (delta 19), pack-reused 0 (from 0)188Unpacking objects: 100% (33/33), 4.91 KiB | 359.00 KiB/s, done.189From https://github.com/bit-team/backintime190 * branch refs/pull/2039/merge -> FETCH_HEAD191$ git checkout -qf FETCH_HEAD1930.00s194Setting environment variables from .travis.yml195$ export PYTHONUNBUFFERED=1198$ python --version199Python 3.11.9200$ pip --version201pip 24.1.2 from /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages/pip (python 3.11)before_install.1before_install.2204Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).205OKbefore_install.3207W: http://package.perforce.com/apt/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.208W: http://apt.postgresql.org/pub/repos/apt/dists/jammy-pgdg/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.before_install.4210Reading package lists... Done211Building dependency tree... Done212Reading state information... Done213screen is already the newest version (4.9.0-1).214libdbus-1-dev is already the newest version (1.12.20-2ubuntu4.1).215util-linux is already the newest version (2.37.2-4ubuntu3.4).216The following NEW packages will be installed:217 sshfs2180 upgraded, 1 newly installed, 0 to remove and 134 not upgraded.219Need to get 45.1 kB of archives.220After this operation, 126 kB of additional disk space will be used.221Get:1 http://archive.ubuntu.com/ubuntu jammy/universe amd64 sshfs amd64 3.7.1+repack-2 [45.1 kB]222Fetched 45.1 kB in 0s (115 kB/s)223Selecting previously unselected package sshfs.224(Reading database ... 132481 files and directories currently installed.)225Preparing to unpack .../sshfs_3.7.1+repack-2_amd64.deb ...226Unpacking sshfs (3.7.1+repack-2) ...227Setting up sshfs (3.7.1+repack-2) ...228Processing triggers for man-db (2.10.2-1) ...229NEEDRESTART-VER: 3.5230NEEDRESTART-KCUR: 6.8.0-1018-gcp231NEEDRESTART-KEXP: 6.8.0-1018-gcp232NEEDRESTART-KSTA: 1install.1234Requirement already satisfied: pip in /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages (24.1.2)235Collecting pip236 Downloading pip-25.0.1-py3-none-any.whl.metadata (3.7 kB)237Downloading pip-25.0.1-py3-none-any.whl (1.8 MB)238Installing collected packages: pip239 Attempting uninstall: pip240 Found existing installation: pip 24.1.2241 Uninstalling pip-24.1.2:242 Successfully uninstalled pip-24.1.2243Successfully installed pip-25.0.1install.2245Collecting pylint246 Downloading pylint-3.3.4-py3-none-any.whl.metadata (12 kB)247Collecting ruff248 Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (25 kB)249Collecting flake8250 Downloading flake8-7.1.2-py2.py3-none-any.whl.metadata (3.8 kB)251Collecting pyfakefs252 Downloading pyfakefs-5.7.4-py3-none-any.whl.metadata (7.8 kB)253Collecting keyring254 Downloading keyring-25.6.0-py3-none-any.whl.metadata (20 kB)255Collecting dill>=0.3.6 (from pylint)256 Downloading dill-0.3.9-py3-none-any.whl.metadata (10 kB)257Requirement already satisfied: platformdirs>=2.2.0 in /home/travis/virtualenv/python3.11.9/lib/python3.11/site-packages (from pylint) (4.2.2)258Collecting astroid<=3.4.0-dev0,>=3.3.8 (from pylint)259 Downloading astroid-3.3.8-py3-none-any.whl.metadata (4.5 kB)260Collecting isort!=5.13.0,<7,>=4.2.5 (from pylint)261 Downloading isort-6.0.0-py3-none-any.whl.metadata (11 kB)262Collecting mccabe<0.8,>=0.6 (from pylint)263 Downloading mccabe-0.7.0-py2.py3-none-any.whl.metadata (5.0 kB)264Collecting tomlkit>=0.10.1 (from pylint)265 Downloading tomlkit-0.13.2-py3-none-any.whl.metadata (2.7 kB)266Collecting pycodestyle<2.13.0,>=2.12.0 (from flake8)267 Downloading pycodestyle-2.12.1-py2.py3-none-any.whl.metadata (4.5 kB)268Collecting pyflakes<3.3.0,>=3.2.0 (from flake8)269 Downloading pyflakes-3.2.0-py2.py3-none-any.whl.metadata (3.5 kB)270Collecting SecretStorage>=3.2 (from keyring)271 Downloading SecretStorage-3.3.3-py3-none-any.whl.metadata (4.0 kB)272Collecting jeepney>=0.4.2 (from keyring)273 Downloading jeepney-0.8.0-py3-none-any.whl.metadata (1.3 kB)274Collecting importlib_metadata>=4.11.4 (from keyring)275 Downloading importlib_metadata-8.6.1-py3-none-any.whl.metadata (4.7 kB)276Collecting jaraco.classes (from keyring)277 Downloading jaraco.classes-3.4.0-py3-none-any.whl.metadata (2.6 kB)278Collecting jaraco.functools (from keyring)279 Downloading jaraco.functools-4.1.0-py3-none-any.whl.metadata (2.9 kB)280Collecting jaraco.context (from keyring)281 Downloading jaraco.context-6.0.1-py3-none-any.whl.metadata (4.1 kB)282Collecting zipp>=3.20 (from importlib_metadata>=4.11.4->keyring)283 Downloading zipp-3.21.0-py3-none-any.whl.metadata (3.7 kB)284Collecting cryptography>=2.0 (from SecretStorage>=3.2->keyring)285 Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl.metadata (5.7 kB)286Collecting more-itertools (from jaraco.classes->keyring)287 Downloading more_itertools-10.6.0-py3-none-any.whl.metadata (37 kB)288Collecting backports.tarfile (from jaraco.context->keyring)289 Downloading backports.tarfile-1.2.0-py3-none-any.whl.metadata (2.0 kB)290Collecting cffi>=1.12 (from cryptography>=2.0->SecretStorage>=3.2->keyring)291 Downloading cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.5 kB)292Collecting pycparser (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2->keyring)293 Downloading pycparser-2.22-py3-none-any.whl.metadata (943 bytes)294Downloading pylint-3.3.4-py3-none-any.whl (522 kB)295Downloading ruff-0.9.6-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (12.5 MB)296Downloading flake8-7.1.2-py2.py3-none-any.whl (57 kB)297Downloading pyfakefs-5.7.4-py3-none-any.whl (228 kB)298Downloading keyring-25.6.0-py3-none-any.whl (39 kB)299Downloading astroid-3.3.8-py3-none-any.whl (275 kB)300Downloading dill-0.3.9-py3-none-any.whl (119 kB)301Downloading importlib_metadata-8.6.1-py3-none-any.whl (26 kB)302Downloading isort-6.0.0-py3-none-any.whl (94 kB)303Downloading jeepney-0.8.0-py3-none-any.whl (48 kB)304Downloading mccabe-0.7.0-py2.py3-none-any.whl (7.3 kB)305Downloading pycodestyle-2.12.1-py2.py3-none-any.whl (31 kB)306Downloading pyflakes-3.2.0-py2.py3-none-any.whl (62 kB)307Downloading SecretStorage-3.3.3-py3-none-any.whl (15 kB)308Downloading tomlkit-0.13.2-py3-none-any.whl (37 kB)309Downloading jaraco.classes-3.4.0-py3-none-any.whl (6.8 kB)310Downloading jaraco.context-6.0.1-py3-none-any.whl (6.8 kB)311Downloading jaraco.functools-4.1.0-py3-none-any.whl (10 kB)312Downloading cryptography-44.0.1-cp39-abi3-manylinux_2_34_x86_64.whl (4.2 MB)313Downloading zipp-3.21.0-py3-none-any.whl (9.6 kB)314Downloading backports.tarfile-1.2.0-py3-none-any.whl (30 kB)315Downloading more_itertools-10.6.0-py3-none-any.whl (63 kB)316Downloading cffi-1.17.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (467 kB)317Downloading pycparser-2.22-py3-none-any.whl (117 kB)318Installing collected packages: zipp, tomlkit, ruff, pyflakes, pyfakefs, pycparser, pycodestyle, more-itertools, mccabe, jeepney, isort, dill, backports.tarfile, astroid, pylint, jaraco.functools, jaraco.context, jaraco.classes, importlib_metadata, flake8, cffi, cryptography, SecretStorage, keyring319Successfully installed SecretStorage-3.3.3 astroid-3.3.8 backports.tarfile-1.2.0 cffi-1.17.1 cryptography-44.0.1 dill-0.3.9 flake8-7.1.2 importlib_metadata-8.6.1 isort-6.0.0 jaraco.classes-3.4.0 jaraco.context-6.0.1 jaraco.functools-4.1.0 jeepney-0.8.0 keyring-25.6.0 mccabe-0.7.0 more-itertools-10.6.0 pycodestyle-2.12.1 pycparser-2.22 pyfakefs-5.7.4 pyflakes-3.2.0 pylint-3.3.4 ruff-0.9.6 tomlkit-0.13.2 zipp-3.21.0install.3321Collecting pyqt6322 Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl.metadata (2.1 kB)323Collecting dbus-python324 Downloading dbus-python-1.3.2.tar.gz (605 kB)325 Installing build dependencies ... done326 Getting requirements to build wheel ... done327 Preparing metadata (pyproject.toml) ... done328Collecting PyQt6-sip<14,>=13.8 (from pyqt6)329 Downloading PyQt6_sip-13.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl.metadata (472 bytes)330Collecting PyQt6-Qt6<6.9.0,>=6.8.0 (from pyqt6)331 Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl.metadata (534 bytes)332Downloading PyQt6-6.8.1-cp39-abi3-manylinux_2_28_x86_64.whl (8.2 MB)333Downloading PyQt6_Qt6-6.8.2-py3-none-manylinux_2_28_x86_64.whl (81.3 MB)334Downloading PyQt6_sip-13.10.0-cp311-cp311-manylinux_2_5_x86_64.manylinux1_x86_64.whl (293 kB)335Building wheels for collected packages: dbus-python336 Building wheel for dbus-python (pyproject.toml) ... done337 Created wheel for dbus-python: filename=dbus_python-1.3.2-cp311-cp311-linux_x86_64.whl size=121954 sha256=1ae9e285209fe2a29476d45df94b9c504b7c115458b24846d5f66f3a3e682dad338 Stored in directory: /home/travis/.cache/pip/wheels/84/33/c2/bb34ffd273446cb228d2154aa702365159f5a7dcc5278584ce339Successfully built dbus-python340Installing collected packages: PyQt6-Qt6, PyQt6-sip, dbus-python, pyqt6341Successfully installed PyQt6-Qt6-6.8.2 PyQt6-sip-13.10.0 dbus-python-1.3.2 pyqt6-6.8.1install.4343Generating public/private rsa key pair.344Your identification has been saved in /home/travis/.ssh/id_rsa345Your public key has been saved in /home/travis/.ssh/id_rsa.pub346The key fingerprint is:347SHA256:53MFwZpI/dT9/hgYBYr06i/IkGaDrpQniKTT/OIWWNo travis@travis-job-3b018f30-f015-4aed-b257-78bf538a345d348The key's randomart image is:349+---[RSA 2048]----+350| .. .oo . |351| ..o..o.o .|352| ...o=.. .|353| . ..o o. .|354| * . . S . o.. |355|BoE * . o ... .|356|==o= + .. o . o.|357|..*. o .. o . .|358|.+... .. |359+----[SHA256]-----+install.5364Listing 'common'...365Compiling 'common/applicationinstance.py'...366Compiling 'common/askpass.py'...367Compiling 'common/backintime.py'...368Listing 'common/bash-completion'...369Compiling 'common/bcolors.py'...370Compiling 'common/bitbase.py'...371Compiling 'common/cli.py'...372Compiling 'common/config.py'...373Compiling 'common/configfile.py'...374Compiling 'common/daemon.py'...375Compiling 'common/diagnostics.py'...376Listing 'common/doc-dev'...377Listing 'common/doc-dev/_static'...378Listing 'common/doc-dev/_templates'...379Compiling 'common/doc-dev/conf.py'...380Listing 'common/doc-dev/plugins'...381Compiling 'common/encfstools.py'...382Compiling 'common/encode.py'...383Compiling 'common/exceptions.py'...384Compiling 'common/flock.py'...385Compiling 'common/guiapplicationinstance.py'...386Compiling 'common/languages.py'...387Compiling 'common/logger.py'...388Listing 'common/man'...389Listing 'common/man/C'...390Compiling 'common/mount.py'...391Compiling 'common/password.py'...392Compiling 'common/password_ipc.py'...393Compiling 'common/pluginmanager.py'...394Listing 'common/plugins'...395Compiling 'common/plugins/usercallbackplugin.py'...396Listing 'common/po'...397Compiling 'common/progress.py'...398Compiling 'common/qt_probing.py'...399Compiling 'common/schedule.py'...400Compiling 'common/singleton.py'...401Compiling 'common/snapshotlog.py'...402Compiling 'common/snapshots.py'...403Compiling 'common/ssh_max_arg.py'...404Compiling 'common/sshtools.py'...405Listing 'common/test'...406Compiling 'common/test/__init__.py'...407Compiling 'common/test/constants.py'...408Compiling 'common/test/generic.py'...409Compiling 'common/test/test_applicationinstance.py'...410Compiling 'common/test/test_argparser.py'...411Compiling 'common/test/test_backintime.py'...412Compiling 'common/test/test_backup.py'...413Compiling 'common/test/test_config.py'...414Compiling 'common/test/test_config_crontab.py'...415Compiling 'common/test/test_configfile.py'...416Compiling 'common/test/test_diagnostics.py'...417Compiling 'common/test/test_encfstools.py'...418Compiling 'common/test/test_languages.py'...419Compiling 'common/test/test_lint.py'...420Compiling 'common/test/test_mount.py'...421Compiling 'common/test/test_plugin_usercallback.py'...422Compiling 'common/test/test_restore.py'...423Compiling 'common/test/test_schedule.py'...424Compiling 'common/test/test_sid.py'...425Compiling 'common/test/test_singleton.py'...426Compiling 'common/test/test_snapshotlog.py'...427Compiling 'common/test/test_snapshots.py'...428Compiling 'common/test/test_snapshots_autoremove.py'...429Compiling 'common/test/test_sshtools.py'...430Compiling 'common/test/test_takeSnapshot.py'...431Compiling 'common/test/test_tools.py'...432Compiling 'common/test/test_uniquenessset.py'...433Compiling 'common/tools.py'...434Compiling 'common/uniquenessset.py'...435Compiling 'common/version.py'...436Listing 'common/test'...437Listing 'common/plugins'...438Listing 'qt'...439Compiling 'qt/aboutdlg.py'...440Compiling 'qt/app.py'...441Compiling 'qt/editusercallback.py'...442Compiling 'qt/encfsmsgbox.py'...443Compiling 'qt/icon.py'...444Listing 'qt/icons'...445Listing 'qt/icons/16x16'...446Listing 'qt/icons/16x16/actions'...447Listing 'qt/icons/22x22'...448Listing 'qt/icons/22x22/actions'...449Listing 'qt/icons/24x24'...450Listing 'qt/icons/24x24/actions'...451Listing 'qt/icons/32x32'...452Listing 'qt/icons/32x32/actions'...453Listing 'qt/icons/48x48'...454Listing 'qt/icons/48x48/actions'...455Listing 'qt/icons/scalable'...456Listing 'qt/icons/scalable/actions'...457Compiling 'qt/languagedialog.py'...458Compiling 'qt/logviewdialog.py'...459Listing 'qt/man'...460Listing 'qt/man/C'...461Listing 'qt/manageprofiles'...462Compiling 'qt/manageprofiles/__init__.py'...463Compiling 'qt/manageprofiles/combobox.py'...464Compiling 'qt/manageprofiles/schedulewidget.py'...465Compiling 'qt/manageprofiles/spinboxunit.py'...466Compiling 'qt/manageprofiles/sshproxywidget.py'...467Compiling 'qt/manageprofiles/statebindcheckbox.py'...468Compiling 'qt/manageprofiles/tab_expert_options.py'...469Compiling 'qt/manageprofiles/tab_general.py'...470Compiling 'qt/manageprofiles/tab_options.py'...471Compiling 'qt/manageprofiles/tab_remove_retention.py'...472Compiling 'qt/messagebox.py'...473Listing 'qt/plugins'...474Compiling 'qt/plugins/notifyplugin.py'...475Compiling 'qt/plugins/systrayiconplugin.py'...476Compiling 'qt/qtsystrayicon.py'...477Compiling 'qt/qttools.py'...478Compiling 'qt/qttools_path.py'...479Compiling 'qt/restoreconfigdialog.py'...480Compiling 'qt/restoredialog.py'...481Compiling 'qt/serviceHelper.py'...482Compiling 'qt/snapshotsdialog.py'...483Compiling 'qt/statedata.py'...484Listing 'qt/test'...485Compiling 'qt/test/__init__.py'...486Compiling 'qt/test/test_lint.py'...487Compiling 'qt/test/test_statedata.py'...488Compiling 'qt/usermessagedialog.py'...489Listing 'qt/test'...490Listing 'qt/plugins'...491The command "python -m compileall common common/test common/plugins qt qt/test qt/plugins" exited with 0.493The command "cd common" exited with 0.495Replacement of python path with "/usr/bin/python3" successful.496All OK. Now run:497 make498 sudo make install499The command "./configure" exited with 0.501/home/travis/virtualenv/python3.11.9/bin/pytest -v502============================= test session starts ==============================503platform linux -- Python 3.11.9, pytest-8.3.2, pluggy-1.5.0 -- /home/travis/virtualenv/python3.11.9/bin/python504cachedir: .pytest_cache505rootdir: /home/travis/build/bit-team/backintime/common506plugins: pyfakefs-5.7.4507collected 427 items513test/test_applicationinstance.py::General::test_existing_process_with_correct_proc_cmdline PASSED [ 1%]514test/test_applicationinstance.py::General::test_existing_process_with_correct_procname PASSED [ 1%]516test/test_applicationinstance.py::General::test_existing_process_with_wrong_procname PASSED [ 1%]608test/test_configfile.py::TestConfigFile::test_remove_keys_start_with_not_matching_prefix PASSED [ 23%]614test/test_configfile.py::TestConfigFile::test_setListValue_invalid_type_for_type_key PASSED [ 24%]638test/test_configfile.py::TestConfigFileWithProfiles::test_removeProfileKeysStartsWith PASSED [ 30%]937=================================== FAILURES ===================================938_________________ BackInTime.test_local_snapshot_is_successful _________________940self = <test.test_backintime.BackInTime testMethod=test_local_snapshot_is_successful>942 def test_local_snapshot_is_successful(self):943 """From BIT initialization through snapshot945 From BIT initialization all the way through successful snapshot on a946 local mount. test one of the highest level interfaces a user could947 work with - the command line ensures that argument parsing,948 functionality, and output all work as expected is NOT intended to949 replace individual method tests, which are incredibly useful as well.951 Development notes (by Buhtz, 2023):952 Multiple tests do compare return codes and output on stdout. It is NOT953 tested what is on the file system. The intention might be a system954 test. But the asserts not qualified to answer the important questions955 and observe the intended behavior. Heavy refactoring is needed. But956 because of the "level" of that tests it won't happen in the near957 future. Also maintenance costs of this tests are damn high because958 every tiny modification of BIT gives a false fail of this test.960 Development notes (by Buhtz, 2024-05):961 It is just dumb stdout parsing. I tend to remove this test because of962 the calculation of its value and its maintenance costs.963 """965 # ensure that we see full diffs of assert output if there are any966 self.maxDiff = None968 # create pristine source directory with single file969 subprocess.getoutput("chmod -R a+rwx /tmp/test && rm -rf /tmp/test")970 os.mkdir('/tmp/test')972 with open('/tmp/test/testfile', 'w') as f:973 f.write('some data')975 # create pristine snapshot directory976 subprocess.getoutput(977 "chmod -R a+rwx /tmp/snapshots && rm -rf /tmp/snapshots")978 os.mkdir('/tmp/snapshots')980 # remove restored directory981 subprocess.getoutput("rm -rf /tmp/restored")983 # install proper destination filesystem structure and verify output984 proc = subprocess.Popen(["./backintime",985 "--config",986 "test/config",987 "--share-path",988 self.sharePath,989 "check-config",990 # do not overwrite users crontab991 "--no-crontab"],992 stdout=subprocess.PIPE,993 stderr=subprocess.PIPE)995 output, error = proc.communicate()996 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \997 .format(proc.returncode, error.decode(), output.decode())999 self.assertEqual(proc.returncode, 0, msg)1001 self.assertRegex(output.decode(), re.compile(r'''1002 Back In Time1003 Version: \d+.\d+.\d+.*1005 Back In Time comes with ABSOLUTELY NO WARRANTY.1006 This is free software, and you are welcome to redistribute it1007 under certain conditions; type `backintime --license' for details.1009 (INFO: Update to config version \d+1010 )?1011 \+--------------------------------\+1012 | Check/prepare snapshot path |1013 \+--------------------------------\+1014 Check/prepare snapshot path: done1016 \+--------------------------------\+1017 | Check config |1018 \+--------------------------------\+1019 Check config: done1021 Config .*test/config profile 'Main profile' is fine.''', re.MULTILINE))1023 # execute backup and verify output1024 proc = subprocess.Popen(["./backintime",1025 "--config", "test/config",1026 "--share-path", self.sharePath,1027 "backup"],1028 stdout=subprocess.PIPE,1029 stderr=subprocess.PIPE)1030 output, error = proc.communicate()1031 msg = 'Returncode: {}\nstderr: {}\nstdout: {}' \1032 .format(proc.returncode, error.decode(), output.decode())1033> self.assertEqual(proc.returncode, 0, msg)1034E AssertionError: 1 != 0 : Returncode: 11035E stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1036E WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1037E WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1038E INFO: Lock1039E INFO: Take a new snapshot. Profile: 1 Main profile1040E INFO: Call rsync to take the snapshot1041E INFO: Save config file1042E INFO: Save permissions1043E Traceback (most recent call last):1044E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>1045E startApp()1046E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp1047E args.func(args)1048E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup1049E ret = takeSnapshot(cfg, force)1050E File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot1051E ret = snapshots.Snapshots(cfg).backup(force)1052E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup1053E ret_val, ret_error = self.takeSnapshot(1054E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot1055E self.backupPermissions(new_snapshot)1056E File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions1057E decode = encfstools.Bounce()1058E AttributeError: module 'encfstools' has no attribute 'Bounce'1059E1060E stdout:1061E Back In Time1062E Version: 1.5.4-rc11063E1064E Back In Time comes with ABSOLUTELY NO WARRANTY.1065E This is free software, and you are welcome to redistribute it1066E under certain conditions; type `backintime --license' for details.1069______________ MirrorMirrorOnTheWall.test010_ruff_default_ruleset ______________1071self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test010_ruff_default_ruleset>1073 @unittest.skipUnless(RUFF_AVAILABLE, BASE_REASON.format('ruff'))1074 def test010_ruff_default_ruleset(self):1075 """Ruff in default mode."""1077 # ATTENTIION: Some settings are found in pyproject.toml1078 cmd = [1079 'ruff',1080 'check',1081 # Additionally activate subset of special rules:1082 # - PyLint (PL)1083 # - PyCodestyle (E, W)1084 # - flake8-gettext (INT)1085 # - useless noqua (RUF100)1086 '--extend-select=PL,E,W,INT,RUF100',1087 # Ignore: redefined-loop-name1088 '--ignore=PLW2901',1089 '--line-length', str(PEP8_MAX_LINE_LENGTH),1090 # Because of globally installed GNU gettext functions1091 '--config', 'builtins=["_", "ngettext"]',1092 # Ruff counting branches different from PyLint.1093 # See: <https://www.reddit.com/r/learnpython/comments/1094 # 1buojae/comment/kxu0mp3>1095 '--config', 'pylint.max-branches=13',1096 '--config', 'flake8-quotes.inline-quotes = "single"',1097 # one error per line (no context lines)1098 '--output-format=concise',1099 '--quiet',1100 ]1102 cmd.extend(full_test_files)1104 proc = subprocess.run(1105 cmd,1106 check=False,1107 universal_newlines=True,1108 capture_output=True1109 )1111 # No errors other then linter rules1112 self.assertIn(proc.returncode, [0, 1], proc.stderr)1114 error_n = len(proc.stdout.splitlines())1115 if error_n > 0:1116 print(proc.stdout)1118> self.assertEqual(0, error_n, f'Ruff found {error_n} problem(s).')1119E AssertionError: 0 != 1 : Ruff found 1 problem(s).1122----------------------------- Captured stdout call -----------------------------1123test/test_mount.py:205:80: E501 Line too long (89 > 79)1125_____________ MirrorMirrorOnTheWall.test020_flake8_default_ruleset _____________1127self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test020_flake8_default_ruleset>1129 @unittest.skipUnless(FLAKE8_AVAILABLE, BASE_REASON.format('flake8'))1130 def test020_flake8_default_ruleset(self):1131 """Flake8 in default mode."""1132 cmd = [1133 'flake8',1134 f'--max-line-length={PEP8_MAX_LINE_LENGTH}',1135 '--builtins=_,ngettext',1136 # '--enable-extensions='1137 ]1139 cmd.extend(full_test_files)1141 proc = subprocess.run(1142 cmd,1143 check=False,1144 universal_newlines=True,1145 capture_output=True1146 )1148 error_n = len(proc.stdout.splitlines())1149 if error_n > 0:1150 print(proc.stdout)1152> self.assertEqual(0, error_n, f'Flake8 found {error_n} problem(s).')1153E AssertionError: 0 != 2 : Flake8 found 2 problem(s).1156----------------------------- Captured stdout call -----------------------------1157/home/travis/build/bit-team/backintime/common/test/test_mount.py:205:80: E501 line too long (89 > 79 characters)1158/home/travis/build/bit-team/backintime/common/test/test_mount.py:217:5: E303 too many blank lines (2)1160_____________ MirrorMirrorOnTheWall.test030_pylint_default_ruleset _____________1162self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test030_pylint_default_ruleset>1164 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1165 def test030_pylint_default_ruleset(self):1166 """Use Pylint with all default rules to check specific files.1167 """1169 cmd = create_pylint_cmd()1171 # Add py-files1172 cmd.extend(full_test_files)1174 r = subprocess.run(1175 cmd,1176 check=False,1177 universal_newlines=True,1178 capture_output=True)1180 # Count lines except module headings1181 error_n = len(list(filter(lambda line: not line.startswith('*****'),1182 r.stdout.splitlines())))1183 print(r.stdout)1185> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1186E AssertionError: 0 != 8 : PyLint found 8 problems.1189----------------------------- Captured stdout call -----------------------------1190************* Module test.test_mount1191test/test_mount.py:205:0: C0301: Line too long (89/79) (line-too-long)1192test/test_mount.py:217:4: C0116: Missing function or method docstring (missing-function-docstring)1193test/test_mount.py:217:4: C0103: Method name "test_first_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1194test/test_mount.py:221:4: C0116: Missing function or method docstring (missing-function-docstring)1195test/test_mount.py:221:4: C0103: Method name "test_initialised_preMountCheck" doesn't conform to snake_case naming style (invalid-name)1196test/test_mount.py:225:4: C0116: Missing function or method docstring (missing-function-docstring)1197test/test_mount.py:229:4: C0116: Missing function or method docstring (missing-function-docstring)1198test/test_mount.py:232:4: C0116: Missing function or method docstring (missing-function-docstring)1200____________ MirrorMirrorOnTheWall.test050_pylint_exclusive_ruleset ____________1202self = <test.test_lint.MirrorMirrorOnTheWall testMethod=test050_pylint_exclusive_ruleset>1204 @unittest.skipUnless(PYLINT_AVAILABLE, BASE_REASON.format('PyLint'))1205 def test050_pylint_exclusive_ruleset(self):1206 """Use Pylint to check for specific rules only.1208 Some facts about PyLint1209 - It is one of the slowest available linters.1210 - It is able to catch lints other linters miss.1211 """1213 # Explicit activate checks1214 err_codes = [1215 'C0305', # trailing-newlines1216 'C0325', # superfluous-parens1217 'C0410', # multiple-imports1218 'C0303', # trailing-whitespace1219 'E0100', # init-is-generator1220 'E0101', # return-in-init1221 'E0102', # function-redefined1222 'E0103', # not-in-loop1223 'E0106', # return-arg-in-generator1224 'E0213', # no-self-argument1225 'E0401', # import-error1226 'E0602', # undefined-variable1227 'E1101', # no-member1228 'I0021', # useless-suppression1229 'W0123', # eval-used1230 'W0237', # arguments-renamed1231 'W0311', # bad-indentation1232 'W0404', # reimported1233 'W0611', # unused-import1234 'W0612', # unused-variable1235 'W0614', # unused-wildcard-import1236 'W0707', # raise-missing-from1237 'W1301', # unused-format-string-key1238 'W1401', # anomalous-backslash-in-string (invalid escape sequence)1239 'W1515', # forgotten-debug-statement1240 'W4902', # deprecated-method1241 'W4904', # deprecated-class1242 'R0202', # no-classmethod-decorator1243 'R0203', # no-staticmethod-decorator1244 # See PyLint bugs:1245 # https://github.com/pylint-dev/pylint/issues/2141246 # https://github.com/pylint-dev/pylint/issues/79201247 # 'R0801', # duplicate-code1249 # Enable asap. This list is a selection of existing (not all!)1250 # problems currently existing in the BIT code base. Quite easy to1251 # fix because their count is low.1252 # 'W0237', # arguments-renamed1253 # 'W0221', # arguments-differ1254 # 'W0603', # global-statement1255 ]1257 cmd = create_pylint_cmd(err_codes)1259 # Add py-files1260 cmd.extend(self._collect_py_files())1262 r = subprocess.run(1263 cmd,1264 check=False,1265 universal_newlines=True,1266 capture_output=True)1268 # Count lines except module headings and output about duplicate code1269 error_n = len(list(filter(1270 lambda line: line[:2] not in ('**', ' ', '==', ' (', ''),1271 r.stdout.splitlines())))1272 print(r.stdout)1274> self.assertEqual(0, error_n, f'PyLint found {error_n} problems.')1275E AssertionError: 0 != 2 : PyLint found 2 problems.1278----------------------------- Captured stdout call -----------------------------1279************* Module snapshots1280snapshots.py:1182:21: E1101: Module 'encfstools' has no 'Bounce' member (no-member)1281************* Module test.test_encfstools1282test/test_encfstools.py:58:0: C0305: Trailing newlines (trailing-newlines)1284________________________ SystemTest.test_local_snapshot ________________________1286self = <test.test_plugin_usercallback.SystemTest testMethod=test_local_snapshot>1288 def test_local_snapshot(self):1289 """User-callback response while doing a local snapshot"""1291 config = Config(1292 config_path=str(self.config_fp),1293 data_path=str(self.temp_path / '.local' / 'share')1294 )1296 full_snapshot_path = config.snapshotsFullPath()1297 Path(full_snapshot_path).mkdir(parents=True)1299 snapshot = Snapshots(config)1301 # DevNote : Because BIT don't use Python's logging module there is1302 # no way to use assertLogs(). Current solution is to capture1303 # stdout/stderr.1304 stdout = io.StringIO()1305 stderr = io.StringIO()1307 with redirect_stdout(stdout), redirect_stderr(stderr):1308 # Result is inverted. 'True' means there was an error.1309> self.assertFalse(snapshot.backup())1312_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1314 ret_val, ret_error = self.takeSnapshot(1316 self.backupPermissions(new_snapshot)1317_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1319self = <snapshots.Snapshots object at 0x7df3a9fb2190>, sid = new_snapshot1321 def backupPermissions(self, sid):1322 """1323 Save permissions (owner, group, read-, write- and executable)1324 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1326 Args:1327 sid (SID): snapshot that should be scanned1329 Returns:1330 int: Return code of rsync.1331 """1332 logger.info('Save permissions', self)1333 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1335 fileInfoDict = FileInfoDict()1337 if self.config.snapshotsMode() == 'ssh_encfs':1338 decode = encfstools.Decode(self.config, False)1339 else:1340> decode = encfstools.Bounce()1341E AttributeError: module 'encfstools' has no attribute 'Bounce'1344----------------------------- Captured stderr call -----------------------------1345DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1346WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1347WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1348WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1349DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1350DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1351___________________ SnapshotWithSID.test_backup_permissions ____________________1353self = <test.test_snapshots.SnapshotWithSID testMethod=test_backup_permissions>1355 def test_backup_permissions(self):1356 #TODO: add test for save permissions over SSH (and one SSH-test for path with spaces)1357 infoFilePath = os.path.join(self.snapshotPath,1358 '20151219-010324-123',1359 'fileinfo.bz2')1361 include = self.cfg.include()[0][0]1362 with TemporaryDirectory(dir = include) as tmp:1364 file_path = os.path.join(tmp, 'foo')1365 with open(file_path, 'wt') as f:1366 f.write('bar')1367 f.flush()1369 self.sid.makeDirs(tmp)1370 with open(self.sid.pathBackup(file_path), 'wt') as snapshot_f:1371 snapshot_f.write('bar')1372 snapshot_f.flush()1374> self.sn.backupPermissions(self.sid)1377_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1379self = <snapshots.Snapshots object at 0x7df3a9d029d0>, sid = 20151219-010324-1231381 def backupPermissions(self, sid):1382 """1383 Save permissions (owner, group, read-, write- and executable)1384 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1386 Args:1387 sid (SID): snapshot that should be scanned1389 Returns:1390 int: Return code of rsync.1391 """1392 logger.info('Save permissions', self)1393 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1395 fileInfoDict = FileInfoDict()1397 if self.config.snapshotsMode() == 'ssh_encfs':1398 decode = encfstools.Decode(self.config, False)1399 else:1400> decode = encfstools.Bounce()1401E AttributeError: module 'encfstools' has no attribute 'Bounce'1404----------------------------- Captured stderr call -----------------------------1405DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1406WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1407WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1408WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1409DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1410DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1411INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1412____________________ SshPermissions.test_backup_permissions ____________________1414self = <test.test_snapshots.SshPermissions testMethod=test_backup_permissions>1416 def test_backup_permissions(self):1417 """Backup file permissions in SSH backup mode."""1419 # --- prepare environment ---1421 # config instance1422 cfg = _init_basic_config()1423 # snapshots profile1424 snapshot = _init_ssh_profile(cfg)1425 # backup source directory1426 _init_source_path(cfg)1427 # simulate a taken snapshot1428 sid = _init_concrete_snapshot(cfg)1430 # BUHTZ 2022-10-21: The mounting is needed but I didn't understand1431 # all details yet.1432 # mount1433 mount_obj = _init_mounting(cfg)1434 # ...unmount when test finished1435 self.addCleanup(lambda: mount_obj.umount(cfg.current_hash_id))1437 # --- prepare the backup source ---1439 # Does the concrete snapshot exists?1440 self.assertTrue(sid.exists())1442 # The backup source path1443 # e.g. /tmp/e2uij3y1444 source_path = pathlib.Path(cfg.include()[0][0])1445 # ...exists?1446 self.assertTrue(source_path.exists())1448 # create the test files in the backup source directory1449 generic.create_test_files(str(source_path))1451 # --- Do the job to test. ---1453 # backup permissions of files/folders in the backup source1454> rc = snapshot.backupPermissions(sid)1457_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1459self = <snapshots.Snapshots object at 0x7df3a9326390>, sid = 20151219-010324-1231461 def backupPermissions(self, sid):1462 """1463 Save permissions (owner, group, read-, write- and executable)1464 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1466 Args:1467 sid (SID): snapshot that should be scanned1469 Returns:1470 int: Return code of rsync.1471 """1472 logger.info('Save permissions', self)1473 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1475 fileInfoDict = FileInfoDict()1477 if self.config.snapshotsMode() == 'ssh_encfs':1478 decode = encfstools.Decode(self.config, False)1479 else:1480> decode = encfstools.Bounce()1481E AttributeError: module 'encfstools' has no attribute 'Bounce'1484----------------------------- Captured stderr call -----------------------------1485DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1486WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1487WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1488WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1489DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1490DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1491DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring1492DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:1493DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)1494DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)1495DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']1496DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]1497DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.1498DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.1499DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running1500DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']1501DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 71502INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '7']'1503DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1504DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1505DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/5453.lock1506DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"1507DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available1508DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login1509DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']1510DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory1511DEBUG: [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/DESTINATIONDIRparentnwqual6_/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentnwqual6_/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 13;exit 20']1512DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/DESTINATIONDIRparentnwqual6_/foo" || d=1;test $d -eq 1 && mkdir "/tmp/DESTINATIONDIRparentnwqual6_/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 11;test -w "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 12;test -x "/tmp/DESTINATIONDIRparentnwqual6_/foo" || exit 13;exit 201513DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 201514DEBUG: [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/DESTINATIONDIRparentnwqual6_/foo /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/mountpoint1515DEBUG: [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/DESTINATIONDIRparentnwqual6_/foo', '/tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/mountpoint'].1516INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/DESTINATIONDIRparentnwqual6_/foo on /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/mountpoint1517DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/locks/5453.lock1518DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/5453.lock1519INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1520DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 81521INFO: [plugins/usercallbackplugin.py:84 UserCallbackPlugin.callback] user-callback returned '['1', 'Main profile', '8']'1522DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.1523DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent1524DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/5453.lock1525INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/DESTINATIONDIRparentnwqual6_/foo from /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/mountpoint1526DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/9CA0D6F4/locks/5453.lock1527DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/DATADIRyl30w__j/.local/share/backintime/mnt/5453.lock1528_______________________________ Take.test_error ________________________________1530self = <test.test_takeSnapshot.Take testMethod=test_error>1531sleep = <MagicMock name='sleep' id='138485480138000'>1533 @patch('time.sleep') # speed up unittest1534 def test_error(self, sleep):1535 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1536 now = datetime.today()1537 sid1 = snapshots.SID(now, self.cfg)1539> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1542_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1544 self.backupPermissions(new_snapshot)1545_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1547self = <snapshots.Snapshots object at 0x7df3a9d9be50>, sid = new_snapshot1549 def backupPermissions(self, sid):1550 """1551 Save permissions (owner, group, read-, write- and executable)1552 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1554 Args:1555 sid (SID): snapshot that should be scanned1557 Returns:1558 int: Return code of rsync.1559 """1560 logger.info('Save permissions', self)1561 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1563 fileInfoDict = FileInfoDict()1565 if self.config.snapshotsMode() == 'ssh_encfs':1566 decode = encfstools.Decode(self.config, False)1567 else:1568> decode = encfstools.Bounce()1569E AttributeError: module 'encfstools' has no attribute 'Bounce'1572----------------------------- Captured stderr call -----------------------------1573DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1574WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1575WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1576WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1577DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1578DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1579INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1580DEBUG: [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/tmp04fdi5mi --exclude=/tmp/tmprb34xoz9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3w0y6uou/ --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/tmp3w0y6uou/** --exclude=* / /tmp/tmp04fdi5mi/backintime/test-host/test-user/1/new_snapshot/backup"1581DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp04fdi5mi --exclude=/tmp/tmprb34xoz9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3w0y6uou/ --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/tmp3w0y6uou/** --exclude=* / /tmp/tmp04fdi5mi/backintime/test-host/test-user/1/new_snapshot/backup'1582WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp04fdi5mi --exclude=/tmp/tmprb34xoz9/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3w0y6uou/ --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/tmp3w0y6uou/** --exclude=* / /tmp/tmp04fdi5mi/backintime/test-host/test-user/1/new_snapshot/backup" returns 231583INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1584INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1585______________________________ Take.test_exclude _______________________________1587self = <test.test_takeSnapshot.Take testMethod=test_exclude>1588sleep = <MagicMock name='sleep' id='138485480296272'>1590 @patch('time.sleep') # speed up unittest1591 def test_exclude(self, sleep):1592 now = datetime.today()1593 sid1 = snapshots.SID(now, self.cfg)1594 self.cfg.setExclude(['bar/baz'])1596> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1599_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1601 self.backupPermissions(new_snapshot)1602_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1604self = <snapshots.Snapshots object at 0x7df3a9fb1090>, sid = new_snapshot1606 def backupPermissions(self, sid):1607 """1608 Save permissions (owner, group, read-, write- and executable)1609 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1611 Args:1612 sid (SID): snapshot that should be scanned1614 Returns:1615 int: Return code of rsync.1616 """1617 logger.info('Save permissions', self)1618 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1620 fileInfoDict = FileInfoDict()1622 if self.config.snapshotsMode() == 'ssh_encfs':1623 decode = encfstools.Decode(self.config, False)1624 else:1625> decode = encfstools.Bounce()1626E AttributeError: module 'encfstools' has no attribute 'Bounce'1629----------------------------- Captured stderr call -----------------------------1630DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1631WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1632WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1633WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1634DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1635DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1636INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1637DEBUG: [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/tmp95s95sdv --exclude=/tmp/tmp1nirijyv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp4mw9_yqt/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp4mw9_yqt/** --exclude=* / /tmp/tmp95s95sdv/backintime/test-host/test-user/1/new_snapshot/backup"1638DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp95s95sdv --exclude=/tmp/tmp1nirijyv/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp4mw9_yqt/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp4mw9_yqt/** --exclude=* / /tmp/tmp95s95sdv/backintime/test-host/test-user/1/new_snapshot/backup'1639DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 01640INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1641INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1642___________________________ Take.test_four_snapshots ___________________________1644self = <test.test_takeSnapshot.Take testMethod=test_four_snapshots>1645sleep = <MagicMock name='sleep' id='138485469199568'>1647 @patch('time.sleep') # speed up unittest1648 def test_four_snapshots(self, sleep):1649 now = datetime.today() - timedelta(minutes = 6)1650 sid1 = snapshots.SID(now, self.cfg)1652 # Note: 'self.sn' is of type 'Snapshots'1653 # First boolean: Snapshot succeeded1654 # Second boolean: Error occurred1655 self.assertListEqual(1656 [True, False], # Snapshot without error1657> self.sn.takeSnapshot(1658 sid=sid1,1659 now=now,1660 include_folders=[1661 (self.include.name, 0), # '0' means it is a file1662 ]1663 )1664 )1667_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1669 self.backupPermissions(new_snapshot)1670_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1672self = <snapshots.Snapshots object at 0x7df3a9328450>, sid = new_snapshot1674 def backupPermissions(self, sid):1675 """1676 Save permissions (owner, group, read-, write- and executable)1677 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1679 Args:1680 sid (SID): snapshot that should be scanned1682 Returns:1683 int: Return code of rsync.1684 """1685 logger.info('Save permissions', self)1686 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1688 fileInfoDict = FileInfoDict()1690 if self.config.snapshotsMode() == 'ssh_encfs':1691 decode = encfstools.Decode(self.config, False)1692 else:1693> decode = encfstools.Bounce()1694E AttributeError: module 'encfstools' has no attribute 'Bounce'1697----------------------------- Captured stderr call -----------------------------1698DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1699WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1700WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1701WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1702DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1703DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1704INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1705DEBUG: [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/tmpaxvuk0jv --exclude=/tmp/tmpoos5fdl4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq8s9nbc_/ --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/tmpq8s9nbc_/** --exclude=* / /tmp/tmpaxvuk0jv/backintime/test-host/test-user/1/new_snapshot/backup"1706DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpaxvuk0jv --exclude=/tmp/tmpoos5fdl4/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpq8s9nbc_/ --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/tmpq8s9nbc_/** --exclude=* / /tmp/tmpaxvuk0jv/backintime/test-host/test-user/1/new_snapshot/backup'1707DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 01708INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1709INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1710_____________________________ Take.test_new_exists _____________________________1712self = <test.test_takeSnapshot.Take testMethod=test_new_exists>1713sleep = <MagicMock name='sleep' id='138485479656592'>1715 @patch('time.sleep') # speed up unittest1716 def test_new_exists(self, sleep):1717 new_snapshot = snapshots.NewSnapshot(self.cfg)1718 new_snapshot.makeDirs()1719 with open(new_snapshot.path('leftover'), 'wt') as f:1720 f.write('foo')1722 now = datetime.today() - timedelta(minutes = 6)1723 sid1 = snapshots.SID(now, self.cfg)1725> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1728_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1730 self.backupPermissions(new_snapshot)1731_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1733self = <snapshots.Snapshots object at 0x7df3a8a36e50>, sid = new_snapshot1735 def backupPermissions(self, sid):1736 """1737 Save permissions (owner, group, read-, write- and executable)1738 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1740 Args:1741 sid (SID): snapshot that should be scanned1743 Returns:1744 int: Return code of rsync.1745 """1746 logger.info('Save permissions', self)1747 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1749 fileInfoDict = FileInfoDict()1751 if self.config.snapshotsMode() == 'ssh_encfs':1752 decode = encfstools.Decode(self.config, False)1753 else:1754> decode = encfstools.Bounce()1755E AttributeError: module 'encfstools' has no attribute 'Bounce'1758----------------------------- Captured stderr call -----------------------------1759DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1760WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1761WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1762WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1763DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1764DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1765INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run1766DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s /tmp/tmpf4cfjif_/ /tmp/tmpz3pii1wn/backintime/test-host/test-user/1/new_snapshot"1767DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s /tmp/tmpf4cfjif_/ /tmp/tmpz3pii1wn/backintime/test-host/test-user/1/new_snapshot'1768DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 01769INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1770DEBUG: [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/tmpz3pii1wn --exclude=/tmp/tmplah4bbfc/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpeug4f0v5/ --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/tmpeug4f0v5/** --exclude=* / /tmp/tmpz3pii1wn/backintime/test-host/test-user/1/new_snapshot/backup"1771DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpz3pii1wn --exclude=/tmp/tmplah4bbfc/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpeug4f0v5/ --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/tmpeug4f0v5/** --exclude=* / /tmp/tmpz3pii1wn/backintime/test-host/test-user/1/new_snapshot/backup'1772DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 01773INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1774INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1775________________________ Take.test_new_exists_continue _________________________1777self = <test.test_takeSnapshot.Take testMethod=test_new_exists_continue>1778sleep = <MagicMock name='sleep' id='138485480004560'>1780 @patch('time.sleep') # speed up unittest1781 def test_new_exists_continue(self, sleep):1782 new_snapshot = snapshots.NewSnapshot(self.cfg)1783 new_snapshot.makeDirs()1784 with open(new_snapshot.path('leftover'), 'wt') as f:1785 f.write('foo')1786 new_snapshot.saveToContinue = True1788 now = datetime.today() - timedelta(minutes = 6)1789 sid1 = snapshots.SID(now, self.cfg)1791> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1794_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1796 self.backupPermissions(new_snapshot)1797_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1799self = <snapshots.Snapshots object at 0x7df3a9dc0450>, sid = new_snapshot1801 def backupPermissions(self, sid):1802 """1803 Save permissions (owner, group, read-, write- and executable)1804 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1806 Args:1807 sid (SID): snapshot that should be scanned1809 Returns:1810 int: Return code of rsync.1811 """1812 logger.info('Save permissions', self)1813 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1815 fileInfoDict = FileInfoDict()1817 if self.config.snapshotsMode() == 'ssh_encfs':1818 decode = encfstools.Decode(self.config, False)1819 else:1820> decode = encfstools.Bounce()1821E AttributeError: module 'encfstools' has no attribute 'Bounce'1824----------------------------- Captured stderr call -----------------------------1825DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1826WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1827WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1828WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1829DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1830DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1831INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.1832INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1833DEBUG: [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/tmpx_uw6uim --exclude=/tmp/tmpz8f0ejd6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpurnfgb_0/ --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/tmpurnfgb_0/** --exclude=* / /tmp/tmpx_uw6uim/backintime/test-host/test-user/1/new_snapshot/backup"1834DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpx_uw6uim --exclude=/tmp/tmpz8f0ejd6/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpurnfgb_0/ --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/tmpurnfgb_0/** --exclude=* / /tmp/tmpx_uw6uim/backintime/test-host/test-user/1/new_snapshot/backup'1835DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 01836INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1837INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1838_________________________ Take.test_spaces_in_exclude __________________________1840self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_exclude>1841sleep = <MagicMock name='sleep' id='138485482210768'>1843 @patch('time.sleep') # speed up unittest1844 def test_spaces_in_exclude(self, sleep):1845 now = datetime.today()1846 sid1 = snapshots.SID(now, self.cfg)1847 exclude = os.path.join(self.include.name, 'test path with spaces')1848 generic.create_test_files(exclude)1849 self.cfg.setExclude([exclude])1851> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1854_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1856 self.backupPermissions(new_snapshot)1857_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1859self = <snapshots.Snapshots object at 0x7df3a9f9fd50>, sid = new_snapshot1861 def backupPermissions(self, sid):1862 """1863 Save permissions (owner, group, read-, write- and executable)1864 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1866 Args:1867 sid (SID): snapshot that should be scanned1869 Returns:1870 int: Return code of rsync.1871 """1872 logger.info('Save permissions', self)1873 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1875 fileInfoDict = FileInfoDict()1877 if self.config.snapshotsMode() == 'ssh_encfs':1878 decode = encfstools.Decode(self.config, False)1879 else:1880> decode = encfstools.Bounce()1881E AttributeError: module 'encfstools' has no attribute 'Bounce'1884----------------------------- Captured stderr call -----------------------------1885DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1886WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1887WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1888WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1889DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1890DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1891INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1892DEBUG: [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/tmpqp65vult --exclude=/tmp/tmpt50av4m2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpp314d2cl/ --include=/tmp/ --exclude=/tmp/tmpp314d2cl/test path with spaces --include=/tmp/tmpp314d2cl/** --exclude=* / /tmp/tmpqp65vult/backintime/test-host/test-user/1/new_snapshot/backup"1893DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpqp65vult --exclude=/tmp/tmpt50av4m2/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpp314d2cl/ --include=/tmp/ --exclude=/tmp/tmpp314d2cl/test path with spaces --include=/tmp/tmpp314d2cl/** --exclude=* / /tmp/tmpqp65vult/backintime/test-host/test-user/1/new_snapshot/backup'1894DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 01895INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1896INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1897_________________________ Take.test_spaces_in_include __________________________1899self = <test.test_takeSnapshot.Take testMethod=test_spaces_in_include>1900sleep = <MagicMock name='sleep' id='138485469841744'>1902 @patch('time.sleep') # speed up unittest1903 def test_spaces_in_include(self, sleep):1904 now = datetime.today()1905 sid1 = snapshots.SID(now, self.cfg)1906 include = os.path.join(self.include.name, 'test path with spaces')1907 generic.create_test_files(include)1909> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))1912_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1914 self.backupPermissions(new_snapshot)1915_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1917self = <snapshots.Snapshots object at 0x7df3a93c9050>, sid = new_snapshot1919 def backupPermissions(self, sid):1920 """1921 Save permissions (owner, group, read-, write- and executable)1922 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1924 Args:1925 sid (SID): snapshot that should be scanned1927 Returns:1928 int: Return code of rsync.1929 """1930 logger.info('Save permissions', self)1931 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1933 fileInfoDict = FileInfoDict()1935 if self.config.snapshotsMode() == 'ssh_encfs':1936 decode = encfstools.Decode(self.config, False)1937 else:1938> decode = encfstools.Bounce()1939E AttributeError: module 'encfstools' has no attribute 'Bounce'1942----------------------------- Captured stderr call -----------------------------1943DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile1944WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown1945WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files1946WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure1947DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.1948DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"1949INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot1950DEBUG: [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/tmprnb77kg5 --exclude=/tmp/tmp19loor98/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnds5_7ok/test path with spaces/ --include=/tmp/tmpnds5_7ok/ --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/tmpnds5_7ok/test path with spaces/** --exclude=* / /tmp/tmprnb77kg5/backintime/test-host/test-user/1/new_snapshot/backup"1951DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmprnb77kg5 --exclude=/tmp/tmp19loor98/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpnds5_7ok/test path with spaces/ --include=/tmp/tmpnds5_7ok/ --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/tmpnds5_7ok/test path with spaces/** --exclude=* / /tmp/tmprnb77kg5/backintime/test-host/test-user/1/new_snapshot/backup'1952DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 01953INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file1954INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions1955______________________________ TakeSSH.test_error ______________________________1957self = <test.test_takeSnapshot.TakeSSH testMethod=test_error>1958sleep = <MagicMock name='sleep' id='138485480134160'>1960 @patch('time.sleep') # speed up unittest1961 def test_error(self, sleep):1962 with generic.mockPermissions(os.path.join(self.include.name, 'test')):1963 now = datetime.today()1964 sid1 = snapshots.SID(now, self.cfg)1966> self.assertListEqual([True, True], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))1969_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1971 self.backupPermissions(new_snapshot)1972_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _1974self = <snapshots.Snapshots object at 0x7df3a9d22d90>, sid = new_snapshot1976 def backupPermissions(self, sid):1977 """1978 Save permissions (owner, group, read-, write- and executable)1979 for all files in Snapshot ``sid`` into snapshots fileInfoDict.1981 Args:1982 sid (SID): snapshot that should be scanned1984 Returns:1985 int: Return code of rsync.1986 """1987 logger.info('Save permissions', self)1988 self.setTakeSnapshotMessage(0, _('Saving permissions…'))1990 fileInfoDict = FileInfoDict()1992 if self.config.snapshotsMode() == 'ssh_encfs':1993 decode = encfstools.Decode(self.config, False)1994 else:1995> decode = encfstools.Bounce()1996E AttributeError: module 'encfstools' has no attribute 'Bounce'1999----------------------------- Captured stderr call -----------------------------2000DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2001WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2002WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2003WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2004DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2005DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2006DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2007DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2008DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2009DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2010DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2011DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2012DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2013DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2014DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2015DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2016DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72017ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2018DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2019DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2020DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp973lbo13/.local/share/backintime/mnt/5453.lock2021DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2022DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2023DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2024DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2025DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2026DEBUG: [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/tmpkzerbzs2/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpkzerbzs2/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpkzerbzs2/foo" || exit 11;test -w "/tmp/tmpkzerbzs2/foo" || exit 12;test -x "/tmp/tmpkzerbzs2/foo" || exit 13;exit 20']2027DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpkzerbzs2/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpkzerbzs2/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpkzerbzs2/foo" || exit 11;test -w "/tmp/tmpkzerbzs2/foo" || exit 12;test -x "/tmp/tmpkzerbzs2/foo" || exit 13;exit 202028DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202029DEBUG: [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/tmpkzerbzs2/foo /tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/mountpoint2030DEBUG: [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/tmpkzerbzs2/foo', '/tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/mountpoint'].2031INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpkzerbzs2/foo on /tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/mountpoint2032DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/locks/5453.lock2033DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp973lbo13/.local/share/backintime/mnt/5453.lock2034DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2035INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2036DEBUG: [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/tmp973lbo13/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmp973lbo13/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp9qpx2ptk/ --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/tmp9qpx2ptk/** --exclude=* / travis@localhost:/tmp/tmpkzerbzs2/foo/backintime/test-host/test-user/1/new_snapshot/backup"2037DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp973lbo13/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmp973lbo13/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp9qpx2ptk/ --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/tmp9qpx2ptk/** --exclude=* / travis@localhost:/tmp/tmpkzerbzs2/foo/backintime/test-host/test-user/1/new_snapshot/backup'2038WARNING: [test/test_takeSnapshot.py:182 Snapshots.test_error] Command "rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmp973lbo13/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmp973lbo13/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp9qpx2ptk/ --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/tmp9qpx2ptk/** --exclude=* / travis@localhost:/tmp/tmpkzerbzs2/foo/backintime/test-host/test-user/1/new_snapshot/backup" returns 232039INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2040INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2041DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2042DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2043DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2044DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2045DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2046DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2047DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2048DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2049DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2050DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2051DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82052ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2053DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2054DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2055DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmp973lbo13/.local/share/backintime/mnt/5453.lock2056INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpkzerbzs2/foo from /tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/mountpoint2057DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmp973lbo13/.local/share/backintime/mnt/1AD6AC75/locks/5453.lock2058DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmp973lbo13/.local/share/backintime/mnt/5453.lock2059_____________________________ TakeSSH.test_exclude _____________________________2061self = <test.test_takeSnapshot.TakeSSH testMethod=test_exclude>2062sleep = <MagicMock name='sleep' id='138485469090896'>2064 @patch('time.sleep') # speed up unittest2065 def test_exclude(self, sleep):2066 now = datetime.today()2067 sid1 = snapshots.SID(now, self.cfg)2068 self.cfg.setExclude(['bar/baz'])2070> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2073_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2075 self.backupPermissions(new_snapshot)2076_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2078self = <snapshots.Snapshots object at 0x7df3a9310310>, sid = new_snapshot2080 def backupPermissions(self, sid):2081 """2082 Save permissions (owner, group, read-, write- and executable)2083 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2085 Args:2086 sid (SID): snapshot that should be scanned2088 Returns:2089 int: Return code of rsync.2090 """2091 logger.info('Save permissions', self)2092 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2094 fileInfoDict = FileInfoDict()2096 if self.config.snapshotsMode() == 'ssh_encfs':2097 decode = encfstools.Decode(self.config, False)2098 else:2099> decode = encfstools.Bounce()2100E AttributeError: module 'encfstools' has no attribute 'Bounce'2103----------------------------- Captured stderr call -----------------------------2104DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2105WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2106WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2107WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2108DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2109DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2110DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2111DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2112DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2113DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2114DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2115DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2116DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2117DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2118DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2119DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2120DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72121ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2122DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2123DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2124DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/5453.lock2125DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2126DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2127DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2128DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2129DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2130DEBUG: [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/tmp8qr_6fyr/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp8qr_6fyr/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp8qr_6fyr/foo" || exit 11;test -w "/tmp/tmp8qr_6fyr/foo" || exit 12;test -x "/tmp/tmp8qr_6fyr/foo" || exit 13;exit 20']2131DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmp8qr_6fyr/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmp8qr_6fyr/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmp8qr_6fyr/foo" || exit 11;test -w "/tmp/tmp8qr_6fyr/foo" || exit 12;test -x "/tmp/tmp8qr_6fyr/foo" || exit 13;exit 202132DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202133DEBUG: [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/tmp8qr_6fyr/foo /tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/mountpoint2134DEBUG: [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/tmp8qr_6fyr/foo', '/tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/mountpoint'].2135INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmp8qr_6fyr/foo on /tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/mountpoint2136DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/locks/5453.lock2137DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/5453.lock2138DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2139INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2140DEBUG: [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/tmpnp_qswto/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpnp_qswto/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp2qhl7fmz/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp2qhl7fmz/** --exclude=* / travis@localhost:/tmp/tmp8qr_6fyr/foo/backintime/test-host/test-user/1/new_snapshot/backup"2141DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpnp_qswto/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpnp_qswto/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp2qhl7fmz/ --include=/tmp/ --exclude=bar/baz --include=/tmp/tmp2qhl7fmz/** --exclude=* / travis@localhost:/tmp/tmp8qr_6fyr/foo/backintime/test-host/test-user/1/new_snapshot/backup'2142DEBUG: [test/test_takeSnapshot.py:138 Snapshots.test_exclude] Command "rsync --recursiv" returns 02143INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2144INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2145DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2146DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2147DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2148DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2149DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2150DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2151DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2152DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2153DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2154DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2155DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82156ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2157DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2158DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2159DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/5453.lock2160INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmp8qr_6fyr/foo from /tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/mountpoint2161DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/19A1C09F/locks/5453.lock2162DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpnp_qswto/.local/share/backintime/mnt/5453.lock2163_________________________ TakeSSH.test_four_snapshots __________________________2165self = <test.test_takeSnapshot.TakeSSH testMethod=test_four_snapshots>2166sleep = <MagicMock name='sleep' id='138485482242256'>2168 @patch('time.sleep') # speed up unittest2169 def test_four_snapshots(self, sleep):2170 now = datetime.today() - timedelta(minutes = 6)2171 sid1 = snapshots.SID(now, self.cfg)2173 # Note: 'self.sn' is of type 'Snapshots'2174 # First boolean: Snapshot succeeded2175 # Second boolean: Error occurred2176 self.assertListEqual(2177 [True, False], # Snapshot without error2178> self.sn.takeSnapshot(2179 sid=sid1,2180 now=now,2181 include_folders=[2182 (self.include.name, 0), # '0' means it is a file2183 ]2184 )2185 )2188_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2190 self.backupPermissions(new_snapshot)2191_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2193self = <snapshots.Snapshots object at 0x7df3ab60cfd0>, sid = new_snapshot2195 def backupPermissions(self, sid):2196 """2197 Save permissions (owner, group, read-, write- and executable)2198 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2200 Args:2201 sid (SID): snapshot that should be scanned2203 Returns:2204 int: Return code of rsync.2205 """2206 logger.info('Save permissions', self)2207 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2209 fileInfoDict = FileInfoDict()2211 if self.config.snapshotsMode() == 'ssh_encfs':2212 decode = encfstools.Decode(self.config, False)2213 else:2214> decode = encfstools.Bounce()2215E AttributeError: module 'encfstools' has no attribute 'Bounce'2218----------------------------- Captured stderr call -----------------------------2219DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2220WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2221WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2222WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2223DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2224DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2225DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2226DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2227DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2228DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2229DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2230DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2231DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2232DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2233DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2234DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2235DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72236ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2237DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2238DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2239DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/5453.lock2240DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2241DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2242DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2243DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2244DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2245DEBUG: [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/tmpgwmqhqj5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpgwmqhqj5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpgwmqhqj5/foo" || exit 11;test -w "/tmp/tmpgwmqhqj5/foo" || exit 12;test -x "/tmp/tmpgwmqhqj5/foo" || exit 13;exit 20']2246DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpgwmqhqj5/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpgwmqhqj5/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpgwmqhqj5/foo" || exit 11;test -w "/tmp/tmpgwmqhqj5/foo" || exit 12;test -x "/tmp/tmpgwmqhqj5/foo" || exit 13;exit 202247DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202248DEBUG: [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/tmpgwmqhqj5/foo /tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/mountpoint2249DEBUG: [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/tmpgwmqhqj5/foo', '/tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/mountpoint'].2250INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpgwmqhqj5/foo on /tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/mountpoint2251DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/locks/5453.lock2252DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/5453.lock2253DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2254INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2255DEBUG: [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/tmpewcsyawf/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpewcsyawf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpxoa3lrm9/ --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/tmpxoa3lrm9/** --exclude=* / travis@localhost:/tmp/tmpgwmqhqj5/foo/backintime/test-host/test-user/1/new_snapshot/backup"2256DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpewcsyawf/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpewcsyawf/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpxoa3lrm9/ --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/tmpxoa3lrm9/** --exclude=* / travis@localhost:/tmp/tmpgwmqhqj5/foo/backintime/test-host/test-user/1/new_snapshot/backup'2257DEBUG: [test/test_takeSnapshot.py:51 Snapshots.test_four_snapshots] Command "rsync --recursiv" returns 02258INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2259INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2260DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2261DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2262DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2263DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2264DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2265DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2266DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2267DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2268DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2269DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2270DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82271ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2272DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2273DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2274DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/5453.lock2275INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpgwmqhqj5/foo from /tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/mountpoint2276DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/89DBFEA2/locks/5453.lock2277DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpewcsyawf/.local/share/backintime/mnt/5453.lock2278___________________________ TakeSSH.test_new_exists ____________________________2280self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists>2281sleep = <MagicMock name='sleep' id='138485479931792'>2283 @patch('time.sleep') # speed up unittest2284 def test_new_exists(self, sleep):2285 new_snapshot = snapshots.NewSnapshot(self.cfg)2286 new_snapshot.makeDirs()2287 with open(new_snapshot.path('leftover'), 'wt') as f:2288 f.write('foo')2290 now = datetime.today() - timedelta(minutes = 6)2291 sid1 = snapshots.SID(now, self.cfg)2293> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2296_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2298 self.backupPermissions(new_snapshot)2299_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2301self = <snapshots.Snapshots object at 0x7df3a933a310>, sid = new_snapshot2303 def backupPermissions(self, sid):2304 """2305 Save permissions (owner, group, read-, write- and executable)2306 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2308 Args:2309 sid (SID): snapshot that should be scanned2311 Returns:2312 int: Return code of rsync.2313 """2314 logger.info('Save permissions', self)2315 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2317 fileInfoDict = FileInfoDict()2319 if self.config.snapshotsMode() == 'ssh_encfs':2320 decode = encfstools.Decode(self.config, False)2321 else:2322> decode = encfstools.Bounce()2323E AttributeError: module 'encfstools' has no attribute 'Bounce'2326----------------------------- Captured stderr call -----------------------------2327DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2328WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2329WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2330WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2331DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2332DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2333DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2334DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2335DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2336DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2337DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2338DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2339DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2340DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2341DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2342DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2343DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72344ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2345DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2346DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2347DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmptub50kqt/.local/share/backintime/mnt/5453.lock2348DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2349DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2350DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2351DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2352DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2353DEBUG: [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/tmphw28qpx_/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmphw28qpx_/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmphw28qpx_/foo" || exit 11;test -w "/tmp/tmphw28qpx_/foo" || exit 12;test -x "/tmp/tmphw28qpx_/foo" || exit 13;exit 20']2354DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmphw28qpx_/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmphw28qpx_/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmphw28qpx_/foo" || exit 11;test -w "/tmp/tmphw28qpx_/foo" || exit 12;test -x "/tmp/tmphw28qpx_/foo" || exit 13;exit 202355DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202356DEBUG: [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/tmphw28qpx_/foo /tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/mountpoint2357DEBUG: [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/tmphw28qpx_/foo', '/tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/mountpoint'].2358INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmphw28qpx_/foo on /tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/mountpoint2359DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/locks/5453.lock2360DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmptub50kqt/.local/share/backintime/mnt/5453.lock2361INFO: [common/snapshots.py:1309 takeSnapshot] Removing leftover snapshot new_snapshot directory from last run2362DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2363DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Call command "rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmp3su_j7cm/ travis@localhost:/tmp/tmphw28qpx_/foo/backintime/test-host/test-user/1/new_snapshot"2364DEBUG: [common/tools.py:2616 run] Starting command 'rsync -a --delete -s --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 /tmp/tmp3su_j7cm/ travis@localhost:/tmp/tmphw28qpx_/foo/backintime/test-host/test-user/1/new_snapshot'2365DEBUG: [common/snapshots.py:1318 Execute.takeSnapshot] Command "rsync -a --delet" returns 02366ERROR: [common/snapshots.py:2706 makeDirs] Failed to make dirs '/tmp/tmptub50kqt/.local/share/backintime/mnt/1_5453/backintime/test-host/test-user/1/new_snapshot/backup': [Errno 17] File exists: '/tmp/tmptub50kqt/.local/share/backintime/mnt/1_5453/backintime/test-host/test-user/1/new_snapshot/backup'2367DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2368INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2369DEBUG: [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/tmptub50kqt/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmptub50kqt/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqmpi73ql/ --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/tmpqmpi73ql/** --exclude=* / travis@localhost:/tmp/tmphw28qpx_/foo/backintime/test-host/test-user/1/new_snapshot/backup"2370DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmptub50kqt/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmptub50kqt/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpqmpi73ql/ --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/tmpqmpi73ql/** --exclude=* / travis@localhost:/tmp/tmphw28qpx_/foo/backintime/test-host/test-user/1/new_snapshot/backup'2371DEBUG: [test/test_takeSnapshot.py:214 Snapshots.test_new_exists] Command "rsync --recursiv" returns 02372INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2373INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2374DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2375DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2376DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2377DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2378DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2379DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2380DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2381DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2382DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2383DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2384DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82385ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2386DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2387DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2388DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmptub50kqt/.local/share/backintime/mnt/5453.lock2389INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmphw28qpx_/foo from /tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/mountpoint2390DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmptub50kqt/.local/share/backintime/mnt/6A96D8BD/locks/5453.lock2391DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmptub50kqt/.local/share/backintime/mnt/5453.lock2392_______________________ TakeSSH.test_new_exists_continue _______________________2394self = <test.test_takeSnapshot.TakeSSH testMethod=test_new_exists_continue>2395sleep = <MagicMock name='sleep' id='138485480133712'>2397 @patch('time.sleep') # speed up unittest2398 def test_new_exists_continue(self, sleep):2399 new_snapshot = snapshots.NewSnapshot(self.cfg)2400 new_snapshot.makeDirs()2401 with open(new_snapshot.path('leftover'), 'wt') as f:2402 f.write('foo')2403 new_snapshot.saveToContinue = True2405 now = datetime.today() - timedelta(minutes = 6)2406 sid1 = snapshots.SID(now, self.cfg)2408> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2411_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2413 self.backupPermissions(new_snapshot)2414_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2416self = <snapshots.Snapshots object at 0x7df3a9d984d0>, sid = new_snapshot2418 def backupPermissions(self, sid):2419 """2420 Save permissions (owner, group, read-, write- and executable)2421 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2423 Args:2424 sid (SID): snapshot that should be scanned2426 Returns:2427 int: Return code of rsync.2428 """2429 logger.info('Save permissions', self)2430 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2432 fileInfoDict = FileInfoDict()2434 if self.config.snapshotsMode() == 'ssh_encfs':2435 decode = encfstools.Decode(self.config, False)2436 else:2437> decode = encfstools.Bounce()2438E AttributeError: module 'encfstools' has no attribute 'Bounce'2441----------------------------- Captured stderr call -----------------------------2442DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2443WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2444WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2445WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2446DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2447DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2448DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2449DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2450DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2451DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2452DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2453DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2454DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2455DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2456DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2457DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2458DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72459ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2460DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2461DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2462DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/5453.lock2463DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2464DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2465DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2466DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2467DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2468DEBUG: [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/tmpc51doj5j/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpc51doj5j/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpc51doj5j/foo" || exit 11;test -w "/tmp/tmpc51doj5j/foo" || exit 12;test -x "/tmp/tmpc51doj5j/foo" || exit 13;exit 20']2469DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpc51doj5j/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpc51doj5j/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpc51doj5j/foo" || exit 11;test -w "/tmp/tmpc51doj5j/foo" || exit 12;test -x "/tmp/tmpc51doj5j/foo" || exit 13;exit 202470DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202471DEBUG: [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/tmpc51doj5j/foo /tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/mountpoint2472DEBUG: [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/tmpc51doj5j/foo', '/tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/mountpoint'].2473INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpc51doj5j/foo on /tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/mountpoint2474DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/locks/5453.lock2475DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/5453.lock2476INFO: [common/snapshots.py:1282 Snapshots.takeSnapshot] Found leftover snapshot 'new_snapshot' that can be continued.2477DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2478INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2479DEBUG: [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/tmpgd2kh882/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpgd2kh882/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvqbxx7tt/ --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/tmpvqbxx7tt/** --exclude=* / travis@localhost:/tmp/tmpc51doj5j/foo/backintime/test-host/test-user/1/new_snapshot/backup"2480DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpgd2kh882/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpgd2kh882/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmpvqbxx7tt/ --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/tmpvqbxx7tt/** --exclude=* / travis@localhost:/tmp/tmpc51doj5j/foo/backintime/test-host/test-user/1/new_snapshot/backup'2481DEBUG: [test/test_takeSnapshot.py:229 Snapshots.test_new_exists_continue] Command "rsync --recursiv" returns 02482INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2483INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2484DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2485DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2486DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2487DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2488DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2489DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2490DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2491DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2492DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2493DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2494DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82495ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2496DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2497DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2498DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/5453.lock2499INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpc51doj5j/foo from /tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/mountpoint2500DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/E72C5346/locks/5453.lock2501DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpgd2kh882/.local/share/backintime/mnt/5453.lock2502________________________ TakeSSH.test_spaces_in_exclude ________________________2504self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_exclude>2505sleep = <MagicMock name='sleep' id='138485469518480'>2507 @patch('time.sleep') # speed up unittest2508 def test_spaces_in_exclude(self, sleep):2509 now = datetime.today()2510 sid1 = snapshots.SID(now, self.cfg)2511 exclude = os.path.join(self.include.name, 'test path with spaces')2512 generic.create_test_files(exclude)2513 self.cfg.setExclude([exclude])2515> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(self.include.name, 0),]))2518_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2520 self.backupPermissions(new_snapshot)2521_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2523self = <snapshots.Snapshots object at 0x7df3a9d6a590>, sid = new_snapshot2525 def backupPermissions(self, sid):2526 """2527 Save permissions (owner, group, read-, write- and executable)2528 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2530 Args:2531 sid (SID): snapshot that should be scanned2533 Returns:2534 int: Return code of rsync.2535 """2536 logger.info('Save permissions', self)2537 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2539 fileInfoDict = FileInfoDict()2541 if self.config.snapshotsMode() == 'ssh_encfs':2542 decode = encfstools.Decode(self.config, False)2543 else:2544> decode = encfstools.Bounce()2545E AttributeError: module 'encfstools' has no attribute 'Bounce'2548----------------------------- Captured stderr call -----------------------------2549DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2550WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2551WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2552WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2553DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2554DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2555DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2556DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2557DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2558DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2559DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2560DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2561DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2562DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2563DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2564DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2565DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72566ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2567DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2568DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2569DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/5453.lock2570DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2571DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2572DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2573DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2574DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2575DEBUG: [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/tmpgarjk2s2/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpgarjk2s2/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpgarjk2s2/foo" || exit 11;test -w "/tmp/tmpgarjk2s2/foo" || exit 12;test -x "/tmp/tmpgarjk2s2/foo" || exit 13;exit 20']2576DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpgarjk2s2/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpgarjk2s2/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpgarjk2s2/foo" || exit 11;test -w "/tmp/tmpgarjk2s2/foo" || exit 12;test -x "/tmp/tmpgarjk2s2/foo" || exit 13;exit 202577DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202578DEBUG: [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/tmpgarjk2s2/foo /tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/mountpoint2579DEBUG: [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/tmpgarjk2s2/foo', '/tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/mountpoint'].2580INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpgarjk2s2/foo on /tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/mountpoint2581DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/locks/5453.lock2582DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/5453.lock2583DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2584INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2585DEBUG: [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/tmpjjz5487h/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpjjz5487h/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp0obffid1/ --include=/tmp/ --exclude=/tmp/tmp0obffid1/test path with spaces --include=/tmp/tmp0obffid1/** --exclude=* / travis@localhost:/tmp/tmpgarjk2s2/foo/backintime/test-host/test-user/1/new_snapshot/backup"2586DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpjjz5487h/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpjjz5487h/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp0obffid1/ --include=/tmp/ --exclude=/tmp/tmp0obffid1/test path with spaces --include=/tmp/tmp0obffid1/** --exclude=* / travis@localhost:/tmp/tmpgarjk2s2/foo/backintime/test-host/test-user/1/new_snapshot/backup'2587DEBUG: [test/test_takeSnapshot.py:161 Snapshots.test_spaces_in_exclude] Command "rsync --recursiv" returns 02588INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2589INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2590DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2591DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2592DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2593DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2594DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2595DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2596DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2597DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2598DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2599DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2600DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82601ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2602DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2603DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2604DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/5453.lock2605INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpgarjk2s2/foo from /tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/mountpoint2606DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/986AD6A7/locks/5453.lock2607DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpjjz5487h/.local/share/backintime/mnt/5453.lock2608________________________ TakeSSH.test_spaces_in_include ________________________2610self = <test.test_takeSnapshot.TakeSSH testMethod=test_spaces_in_include>2611sleep = <MagicMock name='sleep' id='138485469604880'>2613 @patch('time.sleep') # speed up unittest2614 def test_spaces_in_include(self, sleep):2615 now = datetime.today()2616 sid1 = snapshots.SID(now, self.cfg)2617 include = os.path.join(self.include.name, 'test path with spaces')2618 generic.create_test_files(include)2620> self.assertListEqual([True, False], self.sn.takeSnapshot(sid1, now, [(include, 0),]))2623_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2625 self.backupPermissions(new_snapshot)2626_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _2628self = <snapshots.Snapshots object at 0x7df3a938fe50>, sid = new_snapshot2630 def backupPermissions(self, sid):2631 """2632 Save permissions (owner, group, read-, write- and executable)2633 for all files in Snapshot ``sid`` into snapshots fileInfoDict.2635 Args:2636 sid (SID): snapshot that should be scanned2638 Returns:2639 int: Return code of rsync.2640 """2641 logger.info('Save permissions', self)2642 self.setTakeSnapshotMessage(0, _('Saving permissions…'))2644 fileInfoDict = FileInfoDict()2646 if self.config.snapshotsMode() == 'ssh_encfs':2647 decode = encfstools.Decode(self.config, False)2648 else:2649> decode = encfstools.Bounce()2650E AttributeError: module 'encfstools' has no attribute 'Bounce'2653----------------------------- Captured stderr call -----------------------------2654DEBUG: [common/configfile.py:585 Config.setCurrentProfile] Change current profile: 1=Main profile2655WARNING: [common/tools.py:2432 __init__] Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2656WARNING: [common/tools.py:2434 __init__] D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2657WARNING: [common/tools.py:2435 __init__] Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2658DEBUG: [common/tools.py:227 initiate_translation] No language code. Use systems current locale.2659DEBUG: [common/tools.py:242 initiate_translation] Language code used: "en"2660DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2661DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2662DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2663DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2664DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2665DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2666DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2667DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2668DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2669DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2670DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 72671ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2672DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2673DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2674DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/5453.lock2675DEBUG: [common/sshtools.py:752 SSH.checkPingHost] Check ping host "localhost:22"2676DEBUG: [common/sshtools.py:771 SSH.checkPingHost] Host "localhost:22" is available2677DEBUG: [common/sshtools.py:485 SSH.checkLogin] Check login2678DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-o', 'PreferredAuthentications=publickey', '-p', '22', 'travis@localhost', 'exit']2679DEBUG: [common/sshtools.py:661 SSH.checkRemoteFolder] Check remote directory2680DEBUG: [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/tmpk1a2y9f7/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpk1a2y9f7/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpk1a2y9f7/foo" || exit 11;test -w "/tmp/tmpk1a2y9f7/foo" || exit 12;test -x "/tmp/tmpk1a2y9f7/foo" || exit 13;exit 20']2681DEBUG: [common/sshtools.py:688 SSH.checkRemoteFolder] Call command: ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 travis@localhost d=0;test -e "/tmp/tmpk1a2y9f7/foo" || d=1;test $d -eq 1 && mkdir "/tmp/tmpk1a2y9f7/foo"; err=$?;test $d -eq 1 && exit $err;test -d "/tmp/tmpk1a2y9f7/foo" || exit 11;test -w "/tmp/tmpk1a2y9f7/foo" || exit 12;test -x "/tmp/tmpk1a2y9f7/foo" || exit 13;exit 202682DEBUG: [common/sshtools.py:698 SSH.checkRemoteFolder] Command returncode: 202683DEBUG: [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/tmpk1a2y9f7/foo /tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/mountpoint2684DEBUG: [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/tmpk1a2y9f7/foo', '/tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/mountpoint'].2685INFO: [common/mount.py:533 SSH.mount] mount ssh: travis@localhost:/tmp/tmpk1a2y9f7/foo on /tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/mountpoint2686DEBUG: [common/mount.py:831 SSH.mountLockAquire] Set mount lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/locks/5453.lock2687DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/5453.lock2688DEBUG: [common/config.py:694 Config.sshCommand] SSH command: ['ssh', '-o', 'ServerAliveInterval=240', '-o', 'LogLevel=Error', '-o', 'IdentityFile=/home/travis/.ssh/id_rsa', '-p', '22']2689INFO: [common/snapshots.py:1370 Snapshots.takeSnapshot] Call rsync to take the snapshot2690DEBUG: [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/tmpbh09p0ja/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpbh09p0ja/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3064tlsi/test path with spaces/ --include=/tmp/tmp3064tlsi/ --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/tmp3064tlsi/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpk1a2y9f7/foo/backintime/test-host/test-user/1/new_snapshot/backup"2691DEBUG: [common/tools.py:2616 run] Starting command 'rsync --recursive --times --devices --specials --hard-links --human-readable -s --links --perms --executability --group --owner --info=progress2 --no-inc-recursive --rsh=ssh -o ServerAliveInterval=240 -o LogLevel=Error -o IdentityFile=/home/travis/.ssh/id_rsa -p 22 --delete --delete-excluded -v -i --out-format=BACKINTIME: %i %n%L --chmod=Du+wx --exclude=/tmp/tmpbh09p0ja/.local/share/backintime/mnt/1_5453 --exclude=/tmp/tmpbh09p0ja/.local/share/backintime --exclude=.local/share/backintime/mnt --include=/tmp/tmp3064tlsi/test path with spaces/ --include=/tmp/tmp3064tlsi/ --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/tmp3064tlsi/test path with spaces/** --exclude=* / travis@localhost:/tmp/tmpk1a2y9f7/foo/backintime/test-host/test-user/1/new_snapshot/backup'2692DEBUG: [test/test_takeSnapshot.py:118 Snapshots.test_spaces_in_include] Command "rsync --recursiv" returns 02693INFO: [common/snapshots.py:1093 Snapshots.backupConfig] Save config file2694INFO: [common/snapshots.py:1174 Snapshots.backupPermissions] Save permissions2695DEBUG: [common/tools.py:1521 keyringSupported] Keyring config file directory: /home/travis/.config/python_keyring2696DEBUG: [common/tools.py:1536 keyringSupported] Available keyring backends:2697DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.fail.Keyring (priority: 0)2698DEBUG: [common/tools.py:1540 keyringSupported] keyring.backends.chainer.ChainerBackend (priority: -1)2699DEBUG: [common/tools.py:1595 keyringSupported] Not found Metaclasses: ['keyring.backends.Gnome.Keyring', 'keyring.backends.kwallet.Keyring', 'keyring.backend.SecretServiceKeyring', 'keyring.backend.GnomeKeyring', 'keyring.backend.KDEWallet']2700DEBUG: [common/tools.py:1596 keyringSupported] Available supported backends: [<class 'keyring.backends.SecretService.Keyring'>, <class 'keyring.backends.kwallet.DBusKeyring'>, <class 'keyring.backends.chainer.ChainerBackend'>]2701DEBUG: [common/tools.py:1602 keyringSupported] No appropriate keyring found. 'keyring.backends.fail' can't be used with BackInTime.2702DEBUG: [common/tools.py:1604 keyringSupported] See https://github.com/bit-team/backintime on how to fix this by creating a keyring config file.2703DEBUG: [common/mount.py:151 Mount.__init__] pw-cache is not running2704DEBUG: [common/mount.py:162 Mount.__init__] Call command: ['/home/travis/build/bit-team/backintime/common/backintime', 'pw-cache', 'start']2705DEBUG: [plugins/usercallbackplugin.py:71 UserCallbackPlugin.callback] Call user-callback: /tmp/bit.0a1utp4f/config_path/user-callback 1 Main profile 82706ERROR: [plugins/usercallbackplugin.py:100 UserCallbackPlugin.callback] Exception when trying to run user callback: No such file or directory2707DEBUG: [common/sshtools.py:292 SSH.startSshAgent] ssh-agent already running. Skip starting a new one.2708DEBUG: [common/sshtools.py:474 SSH.unlockSshAgent] Private key /home/travis/.ssh/id_rsa is already unlocked in ssh agent2709DEBUG: [common/mount.py:807 SSH.mountProcessLockAcquire] Acquire mountprocess lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/5453.lock2710INFO: [common/mount.py:587 SSH.umount] unmount ssh: travis@localhost:/tmp/tmpk1a2y9f7/foo from /tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/mountpoint2711DEBUG: [common/mount.py:854 SSH.mountLockRelease] Remove mount lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/60770F47/locks/5453.lock2712DEBUG: [common/mount.py:818 SSH.mountProcessLockRelease] Release mountprocess lock /tmp/tmpbh09p0ja/.local/share/backintime/mnt/5453.lock2713=========================== short test summary info ============================2714FAILED test/test_backintime.py::BackInTime::test_local_snapshot_is_successful - AssertionError: 1 != 0 : Returncode: 12715stderr: WARNING: Failed to connect to Udev serviceHelper daemon via D-Bus: org.freedesktop.DBus.Error.ServiceUnknown2716WARNING: D-Bus message: The name net.launchpad.backintime.serviceHelper was not provided by any .service files2717WARNING: Udev-based profiles cannot be changed or checked due to Udev serviceHelper connection failure2718INFO: Lock2719INFO: Take a new snapshot. Profile: 1 Main profile2720INFO: Call rsync to take the snapshot2721INFO: Save config file2722INFO: Save permissions2723Traceback (most recent call last):2724 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 1335, in <module>2725 startApp()2726 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 585, in startApp2727 args.func(args)2728 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 852, in backup2729 ret = takeSnapshot(cfg, force)2730 File "/home/travis/build/bit-team/backintime/common/backintime.py", line 100, in takeSnapshot2731 ret = snapshots.Snapshots(cfg).backup(force)2732 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 896, in backup2733 ret_val, ret_error = self.takeSnapshot(2734 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1493, in takeSnapshot2735 self.backupPermissions(new_snapshot)2736 File "/home/travis/build/bit-team/backintime/common/snapshots.py", line 1182, in backupPermissions2737 decode = encfstools.Bounce()2738AttributeError: module 'encfstools' has no attribute 'Bounce'2740stdout:2741Back In Time2742Version: 1.5.4-rc12744Back In Time comes with ABSOLUTELY NO WARRANTY.2745This is free software, and you are welcome to redistribute it2746under certain conditions; type `backintime --license' for details.2747FAILED test/test_lint.py::MirrorMirrorOnTheWall::test010_ruff_default_ruleset - AssertionError: 0 != 1 : Ruff found 1 problem(s).2748FAILED test/test_lint.py::MirrorMirrorOnTheWall::test020_flake8_default_ruleset - AssertionError: 0 != 2 : Flake8 found 2 problem(s).2749FAILED test/test_lint.py::MirrorMirrorOnTheWall::test030_pylint_default_ruleset - AssertionError: 0 != 8 : PyLint found 8 problems.2750FAILED test/test_lint.py::MirrorMirrorOnTheWall::test050_pylint_exclusive_ruleset - AssertionError: 0 != 2 : PyLint found 2 problems.2751FAILED test/test_plugin_usercallback.py::SystemTest::test_local_snapshot - AttributeError: module 'encfstools' has no attribute 'Bounce'2752FAILED test/test_snapshots.py::SnapshotWithSID::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2753FAILED test/test_snapshots.py::SshPermissions::test_backup_permissions - AttributeError: module 'encfstools' has no attribute 'Bounce'2754FAILED test/test_takeSnapshot.py::Take::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2755FAILED test/test_takeSnapshot.py::Take::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2756FAILED test/test_takeSnapshot.py::Take::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2757FAILED test/test_takeSnapshot.py::Take::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2758FAILED test/test_takeSnapshot.py::Take::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2759FAILED test/test_takeSnapshot.py::Take::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2760FAILED test/test_takeSnapshot.py::Take::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2761FAILED test/test_takeSnapshot.py::TakeSSH::test_error - AttributeError: module 'encfstools' has no attribute 'Bounce'2762FAILED test/test_takeSnapshot.py::TakeSSH::test_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2763FAILED test/test_takeSnapshot.py::TakeSSH::test_four_snapshots - AttributeError: module 'encfstools' has no attribute 'Bounce'2764FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists - AttributeError: module 'encfstools' has no attribute 'Bounce'2765FAILED test/test_takeSnapshot.py::TakeSSH::test_new_exists_continue - AttributeError: module 'encfstools' has no attribute 'Bounce'2766FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_exclude - AttributeError: module 'encfstools' has no attribute 'Bounce'2767FAILED test/test_takeSnapshot.py::TakeSSH::test_spaces_in_include - AttributeError: module 'encfstools' has no attribute 'Bounce'2769make: *** [Makefile:620: unittest-v] Error 12770The command "make unittest-v" exited with 2.2772The command "cd .." exited with 0.2774The command "cd qt" exited with 0.2776Replacement of python path with "/usr/bin/python3" successful.2777All OK. Now run:2778 make2779 sudo make install2780The command "./configure" exited with 0.2782# Man pages2783for i in $(ls -1 man/C/); do case $i in *.gz|*~) continue;; *) gzip -n --best -c man/C/$i > man/C/${i}.gz;; esac; done2784The command "make" exited with 0.2786============================= test session starts ==============================2787platform linux -- Python 3.11.9, pytest-8.3.2, pluggy-1.5.0 -- /home/travis/virtualenv/python3.11.9/bin/python2788cachedir: .pytest_cache2789rootdir: /home/travis/build/bit-team/backintime/qt2790plugins: pyfakefs-5.7.42791collected 9 items2804The command "pytest --verbose" exited with 0.2807Done. Your build exited with 1.