==> Building on centiskorch ==> Checking for remote environment... ==> Syncing package to remote host... sending incremental file list created directory packages/imapsync ./ .SRCINFO 1,604 100% 0.00kB/s 0:00:00 1,604 100% 0.00kB/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 128 100% 125.00kB/s 0:00:00 128 100% 125.00kB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646 100% 630.86kB/s 0:00:00 646 100% 630.86kB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 1,609 100% 1.53MB/s 0:00:00 1,609 100% 1.53MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375 100% 366.21kB/s 0:00:00 375 100% 366.21kB/s 0:00:00 (xfr#5, to-chk=3/9) imapsync-2.314-1.log 734 100% 716.80kB/s 0:00:00 734 100% 716.80kB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 2,984 bytes received 184 bytes 6,336.00 bytes/sec total size is 4,570 speedup is 1.44 ==> Running pkgctl build --arch riscv64 --repo extra on remote host... ==> WARNING: unsupported architecture: riscv64 ==> Building imapsync  -> repo: extra  -> arch: riscv64  -> worker: felix-6 ==> Building imapsync for [extra] (riscv64) ]2;🔵 Container arch-nspawn-1646730 on centiskorch.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h==> Building in chroot for [extra] (riscv64)... ==> Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-6]...done ==> Making package: imapsync 2.314-1 (Tue Sep 30 04:11:40 2025) ==> Retrieving sources...  -> Downloading imapsync-2.314.tgz... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 0 18.1M 0 30417 0 0 16058 0 0:19:45 0:00:01 0:19:44 16059 2 18.1M 2 381k 0 0 138k 0 0:02:14 0:00:02 0:02:12 138k 7 18.1M 7 1420k 0 0 379k 0 0:00:49 0:00:03 0:00:46 379k 30 18.1M 30 5584k 0 0 1171k 0 0:00:15 0:00:04 0:00:11 1171k 65 18.1M 65 11.8M 0 0 2104k 0 0:00:08 0:00:05 0:00:03 2426k 100 18.1M 100 18.1M 0 0 2790k 0 0:00:06 0:00:06 --:--:-- 3893k ==> Validating source files with b2sums... imapsync-2.314.tgz ... Passed ]2;🔵 Container arch-nspawn-1648141 on centiskorch.felixc.at\==> Making package: imapsync 2.314-1 (Tue Sep 30 08:12:04 2025) ==> Checking runtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (59) New Version Net Change Download Size extra/perl-clone 0.47-2 0.02 MiB extra/perl-crypt-openssl-random 0.17-3 0.06 MiB extra/perl-digest-hmac 1.05-2 0.01 MiB extra/perl-dist-checkconflicts 0.11-12 0.01 MiB 0.01 MiB extra/perl-encode-locale 1.05-14 0.02 MiB extra/perl-exporter-tiny 1.006002-5 0.03 MiB 0.03 MiB extra/perl-file-listing 6.16-5 0.02 MiB extra/perl-html-tagset 3.24-3 0.02 MiB extra/perl-http-cookiejar 0.014-4 0.03 MiB extra/perl-http-cookies 6.11-3 0.04 MiB extra/perl-http-daemon 6.16-5 0.04 MiB extra/perl-http-date 6.06-4 0.01 MiB extra/perl-http-message 7.00-2 0.16 MiB extra/perl-http-negotiate 6.01-15 0.02 MiB extra/perl-io-html 1.004-7 0.02 MiB extra/perl-json 4.10-2 0.21 MiB 0.08 MiB extra/perl-list-moreutils 0.430-7 0.07 MiB 0.03 MiB extra/perl-list-moreutils-xs 0.430-7 0.64 MiB 0.21 MiB extra/perl-lwp-mediatypes 6.04-7 0.06 MiB extra/perl-module-implementation 0.09-12 0.01 MiB 0.01 MiB extra/perl-net-http 6.24-1 0.04 MiB extra/perl-net-ip 1.26-15 0.08 MiB extra/perl-net-ssleay 1.94-3 2.76 MiB extra/perl-package-stash-xs 0.30-5 0.16 MiB 0.07 MiB extra/perl-parse-recdescent 1.967015-4 0.25 MiB 0.09 MiB extra/perl-socket6 0.29-11 0.12 MiB extra/perl-timedate 2.33-8 0.08 MiB extra/perl-try-tiny 0.32-3 0.03 MiB extra/perl-uri 5.32-2 0.20 MiB extra/perl-www-robotrules 6.02-15 0.02 MiB extra/perl-cgi 4.70-2 0.24 MiB 0.11 MiB extra/perl-crypt-openssl-rsa 0.35-2 0.19 MiB extra/perl-data-uniqid 0.12-14 0.00 MiB 0.00 MiB extra/perl-date-manip 6.98-2 9.82 MiB 0.73 MiB extra/perl-digest-sha1 2.13-22 0.11 MiB extra/perl-email-address 1.913-3 0.03 MiB 0.01 MiB extra/perl-encode-imaputf7 1.07-2 0.01 MiB 0.01 MiB extra/perl-file-copy-recursive 0.45-9 0.03 MiB 0.02 MiB extra/perl-file-tail 1.3-12 0.03 MiB 0.02 MiB extra/perl-html-parser 3.83-2 0.36 MiB extra/perl-http-daemon-ssl 1.04-2 0.01 MiB 0.01 MiB extra/perl-io-socket-inet6 2.73-6 0.02 MiB extra/perl-io-socket-ssl 2.095-1 0.51 MiB extra/perl-io-tee 0.66-5 0.01 MiB 0.01 MiB extra/perl-json-webtoken 0.10-11 0.02 MiB 0.01 MiB extra/perl-libwww 6.80-1 0.28 MiB extra/perl-mail-imapclient 3.43-7 1.04 MiB 0.11 MiB extra/perl-module-runtime 0.018-1 0.02 MiB 0.01 MiB extra/perl-module-scandeps 1.37-2 0.07 MiB 0.03 MiB extra/perl-net-dns 1.53-1 0.80 MiB 0.31 MiB extra/perl-net-server 2.014-5 0.35 MiB 0.14 MiB extra/perl-ntlm 1.09-11 0.03 MiB 0.01 MiB extra/perl-package-stash 0.40-6 0.03 MiB 0.02 MiB extra/perl-proc-processtable 0.637-1 0.17 MiB 0.07 MiB extra/perl-readonly 2.05-5 0.03 MiB 0.02 MiB extra/perl-regexp-common 2024080801-3 0.46 MiB 0.16 MiB extra/perl-sys-meminfo 0.99-8 0.07 MiB 0.03 MiB extra/perl-term-readkey 2.38-11 0.14 MiB 0.06 MiB extra/perl-unicode-string 2.10-10 0.63 MiB 0.13 MiB Total Download Size: 2.54 MiB Total Installed Size: 20.73 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... perl-date-manip-6.98-2-any downloading... perl-net-dns-1.53-1-any downloading... perl-list-moreutils-xs-0.430-7-riscv64 downloading... perl-regexp-common-2024080801-3-any downloading... perl-net-server-2.014-5-any downloading... perl-unicode-string-2.10-10-riscv64 downloading... perl-cgi-4.70-2-any downloading... perl-mail-imapclient-3.43-7-any downloading... perl-parse-recdescent-1.967015-4-any downloading... perl-json-4.10-2-any downloading... perl-proc-processtable-0.637-1-riscv64 downloading... perl-package-stash-xs-0.30-5-riscv64 downloading... perl-term-readkey-2.38-11-riscv64 downloading... perl-list-moreutils-0.430-7-any downloading... perl-sys-meminfo-0.99-8-riscv64 downloading... perl-module-scandeps-1.37-2-any downloading... perl-exporter-tiny-1.006002-5-any downloading... perl-readonly-2.05-5-any downloading... perl-package-stash-0.40-6-any downloading... perl-file-copy-recursive-0.45-9-any downloading... perl-file-tail-1.3-12-any downloading... perl-module-runtime-0.018-1-any downloading... perl-email-address-1.913-3-any downloading... perl-ntlm-1.09-11-any downloading... perl-json-webtoken-0.10-11-any downloading... perl-dist-checkconflicts-0.11-12-any downloading... perl-module-implementation-0.09-12-any downloading... perl-io-tee-0.66-5-any downloading... perl-http-daemon-ssl-1.04-2-any downloading... perl-encode-imaputf7-1.07-2-any downloading... perl-data-uniqid-0.12-14-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing perl-html-tagset... installing perl-clone... installing perl-encode-locale... installing perl-timedate... installing perl-http-date... installing perl-io-html... installing perl-lwp-mediatypes... installing perl-uri... installing perl-http-message... installing perl-html-parser... installing perl-cgi... installing perl-crypt-openssl-random... installing perl-crypt-openssl-rsa... installing perl-data-uniqid... installing perl-date-manip... installing perl-digest-sha1... installing perl-email-address... installing perl-encode-imaputf7... installing perl-file-copy-recursive... installing perl-file-tail... installing perl-net-ssleay... installing perl-io-socket-ssl... installing perl-socket6... installing perl-io-socket-inet6... installing perl-http-daemon-ssl... installing perl-io-tee... installing perl-json... installing perl-json-webtoken... installing perl-file-listing... installing perl-http-cookies... installing perl-http-daemon... installing perl-http-cookiejar... installing perl-http-negotiate... installing perl-net-http... installing perl-try-tiny... installing perl-www-robotrules... installing perl-libwww... Optional dependencies for perl-libwww perl-lwp-protocol-https: for https:// url schemes installing perl-parse-recdescent... installing perl-digest-hmac... installing perl-mail-imapclient... Optional dependencies for perl-mail-imapclient perl-authen-sasl: for Authmechanism 'DIGEST-MD5' installing perl-module-runtime... installing perl-module-scandeps... installing perl-net-ip... installing perl-net-dns... Optional dependencies for perl-net-dns perl-io-socket-inet6: IPv6 support [installed] perl-socket6: IPv6 support [installed] perl-net-libidn2: non-ASCII domain support installing perl-net-server... installing perl-ntlm... installing perl-exporter-tiny... installing perl-list-moreutils-xs... installing perl-list-moreutils... installing perl-dist-checkconflicts... installing perl-package-stash-xs... installing perl-module-implementation... installing perl-package-stash... installing perl-proc-processtable... installing perl-readonly... installing perl-regexp-common... installing perl-sys-meminfo... installing perl-term-readkey... installing perl-unicode-string... :: Running post-transaction hooks... (1/2) Arming ConditionNeedsUpdate... (2/2) Checking for old perl modules... [?25h==> Checking buildtime dependencies... ==> Installing missing dependencies... [?25lresolving dependencies... looking for conflicting packages... Package (32) New Version Net Change Download Size extra/perl-archive-zip 1.68-11.1 0.22 MiB 0.07 MiB extra/perl-b-hooks-endofscope 0.28-3 0.02 MiB 0.01 MiB extra/perl-class-load 0.25-4 0.02 MiB 0.01 MiB extra/perl-data-optlist 0.114-5 0.01 MiB 0.01 MiB extra/perl-file-slurper 0.014-5 0.01 MiB 0.01 MiB extra/perl-getopt-argvfile 1.11-12 0.04 MiB 0.02 MiB extra/perl-ipc-run3 0.049-3 0.05 MiB 0.03 MiB extra/perl-namespace-clean 0.27-12 0.02 MiB 0.01 MiB extra/perl-par 1.021-1 0.07 MiB 0.04 MiB extra/perl-par-dist 0.53-3 0.05 MiB 0.02 MiB extra/perl-params-util 1.102-7 0.12 MiB 0.05 MiB extra/perl-sub-exporter 0.991-3 0.09 MiB 0.04 MiB extra/perl-sub-exporter-progressive 0.001013-12 0.01 MiB 0.01 MiB extra/perl-sub-install 0.929-3 0.02 MiB 0.01 MiB extra/perl-sub-uplevel 0.2800-5 0.02 MiB 0.01 MiB extra/perl-test-nowarnings 1.06-4 0.01 MiB 0.01 MiB extra/perl-tree-dag-node 1.35-1 0.11 MiB 0.05 MiB extra/perl-universal-can 1.20140328-5 0.01 MiB 0.01 MiB extra/perl-universal-isa 1.20171012-3 0.01 MiB 0.01 MiB extra/perl-variable-magic 0.64-3 0.22 MiB 0.10 MiB extra/cpanminus 1.7048-2 1.05 MiB 0.23 MiB extra/lsb-release 2.0.r55.a25a4fc-1 0.02 MiB 0.01 MiB extra/perl-par-packer 1.064-2 38.95 MiB 11.59 MiB extra/perl-test-deep 1.205-1 0.22 MiB 0.07 MiB extra/perl-test-fatal 0.017-5 0.02 MiB 0.01 MiB extra/perl-test-mock-guard 0.10-9 0.01 MiB 0.01 MiB extra/perl-test-mockobject 1.20200122-2 0.04 MiB 0.02 MiB extra/perl-test-pod 1.52-11 0.01 MiB extra/perl-test-requires 0.11-8 0.01 MiB 0.01 MiB extra/perl-test-warn 0.37-2 0.02 MiB 0.01 MiB core/procps-ng 4.0.5-3 2.38 MiB extra/time 1.9-6 0.03 MiB 0.02 MiB Total Download Size: 12.50 MiB Total Installed Size: 43.88 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... perl-par-packer-1.064-2-riscv64 downloading... cpanminus-1.7048-2-any downloading... perl-variable-magic-0.64-3-riscv64 downloading... perl-test-deep-1.205-1-any downloading... perl-archive-zip-1.68-11.1-any downloading... perl-params-util-1.102-7-riscv64 downloading... perl-tree-dag-node-1.35-1-any downloading... perl-par-1.021-1-any downloading... perl-sub-exporter-0.991-3-any downloading... perl-ipc-run3-0.049-3-any downloading... time-1.9-6-riscv64 downloading... perl-test-mockobject-1.20200122-2-any downloading... perl-getopt-argvfile-1.11-12-any downloading... perl-par-dist-0.53-3-any downloading... perl-b-hooks-endofscope-0.28-3-any downloading... perl-namespace-clean-0.27-12-any downloading... perl-test-warn-0.37-2-any downloading... perl-class-load-0.25-4-any downloading... perl-sub-uplevel-0.2800-5-any downloading... perl-test-fatal-0.017-5-any downloading... perl-sub-install-0.929-3-any downloading... perl-test-nowarnings-1.06-4-any downloading... perl-data-optlist-0.114-5-any downloading... lsb-release-2.0.r55.a25a4fc-1-any downloading... perl-file-slurper-0.014-5-any downloading... perl-test-mock-guard-0.10-9-any downloading... perl-universal-isa-1.20171012-3-any downloading... perl-universal-can-1.20140328-5-any downloading... perl-sub-exporter-progressive-0.001013-12-any downloading... perl-test-requires-0.11-8-any downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing cpanminus... installing perl-archive-zip... installing perl-getopt-argvfile... installing perl-ipc-run3... installing perl-par-dist... installing perl-par... installing perl-par-packer... installing perl-test-nowarnings... installing perl-test-deep... installing perl-universal-can... installing perl-universal-isa... installing perl-test-mockobject... installing perl-test-pod... installing lsb-release... installing perl-test-fatal... installing perl-params-util... installing perl-sub-install... installing perl-data-optlist... installing perl-sub-exporter... installing perl-sub-exporter-progressive... installing perl-variable-magic... installing perl-b-hooks-endofscope... installing perl-namespace-clean... installing perl-class-load... installing perl-test-mock-guard... installing perl-test-requires... installing perl-file-slurper... installing perl-tree-dag-node... installing perl-sub-uplevel... installing perl-test-warn... installing procps-ng... installing time... :: Running post-transaction hooks... (1/3) Arming ConditionNeedsUpdate... (2/3) Checking for old perl modules... (3/3) Updating the info directory file... [?25h==> Retrieving sources...  -> Found imapsync-2.314.tgz ==> WARNING: Skipping all source file integrity checks. ==> Extracting sources...  -> Extracting imapsync-2.314.tgz with bsdtar ==> Starting prepare()... ==> Starting build()... make: Entering directory '/build/imapsync/src/imapsync-2.314' make: hostname: No such file or directory this is imapsync 2.314, You can do : make testp # it shows needed Perl modules from your distro or CPAN make install # as root All other goals are for the upstream developper make testf # run tests make testv # run tests verbosely make test_quick # few tests verbosely make win32testsbat # run --tests and W/test.bat on win32 make win32tests # run --tests on win32 make win32testsdebug # run --testsdebug on win32 make W/test2.bat # run W/test2.bat on win32 make W/test3.bat # run W/test3.bat on win32 make W/test_reg.bat # run W/test_reg.bat on win32 make W/test_exe.bat # run W/test_exe.bat on win32 make W/test_exe_tests.bat # run W/test_exe_tests.bat on win32 make W/test_exe_2.bat # run W/test_exe_2.bat on win32 make examples/sync_loop_windows.bat # run examples/sync_loop_windows.bat on win32 make W/install_modules.bat # run W/install_modules.bat on win32 make W/install_module_one.bat # run W/install_module_one.bat on win32 make W/install_module_ssl.bat # run W/install_module_ssl.bat on win32 make all make upload_tests # upload tests.sh make upload_index make upload_FAQ # upload FAQs and documentation make upload_X # upload online UI make upload_csv # upload online CSV service make upload_latest # upload latest imapsync and binaries (dev) make upload_cgi # upload latest imapsync online, after local and remote --tests success. make upload_cgi_memo_all # upload cgi_memo stat_patterns.txt to /X servers. make valid_index # check index.shtml for good syntax make upload_ks make imapsync.exe make bin # build mac & win & linux binaries make mac # build mac binary make win # build win binary make lin # build linux binary make publish make crit # run perlcritic on imapsync make prereq # Generates W/prereq.* make cl # Check links of index.shtml make cle # Check links of S/*.shtml make mactestsdebug # run ./imapsync --testsdebug on Mac make mactests # run ./imapsync --tests on Mac make mactestslive # run ./imapsync --testslive on Mac make ks5tests # run ./imapsync --tests on ks5 make ks5testslive # run ./imapsync --testslive on ks5 make: Leaving directory '/build/imapsync/src/imapsync-2.314' ==> Starting check()... # Entering tests() Environment variables listing: BUILDTOOL => devtools BUILDTOOLVER => 1:1.3.2-1-any CFLAGS => -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -g -ffile-prefix-map=/build/imapsync/src=/usr/src/debug/imapsync -flto=auto CHOST => riscv64-unknown-linux-gnu COMMAND_MODE => legacy CXXFLAGS => -march=rv64gc -mabi=lp64d -O2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fno-omit-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -g -ffile-prefix-map=/build/imapsync/src=/usr/src/debug/imapsync -flto=auto DEBUGINFOD_URLS => https://archriscv.felixc.at/debuginfod DEBUG_FFLAGS => -ffile-prefix-map=/build/imapsync/src=/usr/src/debug/imapsync DEBUG_RUSTFLAGS => -C debuginfo=2 --remap-path-prefix=/build/imapsync/src=/usr/src/debug/imapsync FCFLAGS => -ffile-prefix-map=/build/imapsync/src=/usr/src/debug/imapsync FFLAGS => -ffile-prefix-map=/build/imapsync/src=/usr/src/debug/imapsync HOME => /build LANG => C.UTF-8 LDFLAGS => -Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -flto=auto LOGNAME => builduser MAIL => /var/mail/builduser MAKEFLAGS => -j16 OLDPWD => /build/imapsync/src PATH => /usr/local/sbin:/usr/local/bin:/usr/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl PWD => /build/imapsync/src/imapsync-2.314 PYTHONHASHSEED => 0 RUSTFLAGS => -C force-frame-pointers=yes -C debuginfo=2 --remap-path-prefix=/build/imapsync/src=/usr/src/debug/imapsync SHELL => /bin/bash SHLVL => 1 SOURCE_DATE_EPOCH => 1759219893 SUDO_COMMAND => /bin/bash -c bash -c cd\ /startdir;\ makepkg\ "$@" -bash --syncdeps --noconfirm --log --holdver --skipinteg --install SUDO_GID => 0 SUDO_HOME => /root SUDO_TTY => /dev/pts/0 SUDO_UID => 0 SUDO_USER => root TERM => tmux-256color TEST2_ACTIVE => 1 TEST_ACTIVE => 1 TEXTDOMAIN => pacman-scripts TEXTDOMAINDIR => /usr/share/locale USER => builduser _ => /usr/bin/perl Environment variables listing end # Entering tests_folder_routines() ok 1 - is_requested_folder folder_foo 1 ok 2 - add_to_requested_folders folder_foo ok 3 - is_requested_folder folder_foo 2 ok 4 - is_requested_folder folder_NO_EXIST ok 5 - removed folder_foo => folder_foo ok 6 - is_requested_folder folder_foo 3 ok 7 - add result: folder_toto folder_bar ok 8 - is_requested_folder 4 ok 9 - is_requested_folder 5 ok 10 - remove_from_requested_folders: ok 11 - is_requested_folder 6 ok 12 - remove_from_requested_folders: empty ok 13 - sort_requested_folders: all empty ok 14 - add_to_requested_folders M_55 Z_11 ok 15 - sort_requested_folders: middle ok 16 - sort_requested_folders: first+middle ok 17 - sort_requested_folders: first+middle is_deeply ok 18 - sort_requested_folders: first+middle+last 1 ok 19 - add_to_requested_folders M_55 M_44 ok 20 - sort_requested_folders: first+middle+last 2 ok 21 - add_to_requested_folders A_88 Z_22 ok 22 - sort_requested_folders: first+middle+last 3 # Leaving tests_folder_routines() # Entering tests_compare_lists() ok 23 - compare_lists, no args ok 24 - compare_lists, undef = nothing ok 25 - compare_lists, undef = undef ok 26 - compare_lists, undef < [] ok 27 - compare_lists, undef < [1] ok 28 - compare_lists, undef < [0] ok 29 - compare_lists, [] > nothing ok 30 - compare_lists, [] > undef ok 31 - compare_lists, [] = [] ok 32 - compare_lists, [] < [1] ok 33 - compare_lists, [1] > [] ok 34 - compare_lists, [1] = 1 ok 35 - compare_lists, 1 = [1] ok 36 - compare_lists, 1 = 1 ok 37 - compare_lists, 0 < 1 ok 38 - compare_lists, -1 < 0 ok 39 - compare_lists, 1 < 2 ok 40 - compare_lists, 2 > 1 ok 41 - compare_lists, [1,2] = [1,2] ok 42 - compare_lists, [1] < [1,2] ok 43 - compare_lists, [2] > [1,2] ok 44 - compare_lists, [1] < [1,1] ok 45 - compare_lists, [1, 1] > [1] ok 46 - compare_lists, [1..20_000] = [1..20_000] ok 47 - compare_lists, [1] < [2] ok 48 - compare_lists, [0] = [2] ok 49 - compare_lists, [2] > [1] ok 50 - compare_lists, ["a"] < ["b"] ok 51 - compare_lists, ["a"] = ["a"] ok 52 - compare_lists, ["ab"] = ["ab"] ok 53 - compare_lists, ["b"] > ["a"] ok 54 - compare_lists, ["a"] < ["aa"] ok 55 - compare_lists, ["a"] < ["a", "a"] ok 56 - compare_lists, split ok 57 - compare_lists, sort split # Leaving tests_compare_lists() # Entering tests_regexmess() ok 58 - regexmess: no regexmess, nothing to do Error: eval regexmess 'lalala': Bareword "lalala" not allowed while "strict subs" in use at (eval 124) line 1. ok 59 - regexmess: bad regex lalala ok 60 - regexmess: s/p/Z/g ok 61 - regexmess: c->C ok 62 - regexmess: From mbox 1 add colon blank ok 63 - regexmess: From mbox 2 add colo ok 64 - regexmess: From mbox 3 add colo ok 65 - regexmess: From mbox 4 add colo ok 66 - regexmess: From mbox 1 remove, blank ok 67 - regexmess: From mbox 2 remove ok 68 - regexmess: From mbox 3 remove ok 69 - regexmess: From mbox 4 remove ok 70 - regexmess: From mbox 5 remove ok 71 - regexmess: 1 Delete header Disposition-Notification-To: ok 72 - regexmess: 2 Delete header Disposition-Notification-To: ok 73 - regexmess: 3 Delete header Disposition-Notification-To: ok 74 - regexmess: 4 Delete header Disposition-Notification-To: ok 75 - regexmess: 5 Delete header Disposition-Notification-To: ok 76 - regexmess: 6 Delete header Disposition-Notification-To: ok 77 - regexmess: 7 Delete header Disposition-Notification-To: ok 78 - regexmess: 8 Delete header Disposition-Notification-To: ok 79 - regexmess: 9 Delete header Disposition-Notification-To: ok 80 - regexmess: 10 Delete header Disposition-Notification-To: ok 81 - regexmess: 11 Delete header Disposition-Notification-To: ok 82 - regexmess: 12 Delete header Disposition-Notification-To: ok 83 - regexmess: 13 Delete header Disposition-Notification-To: ok 84 - regexmess: 14 Delete header Disposition-Notification-To: ok 85 - regexmess: 15 Delete header Disposition-Notification-To: ok 86 - regexmess: 16 Delete header Disposition-Notification-To: ok 87 - regexmess: 17 Delete header Disposition-Notification-To: ok 88 - regexmess: truncate whole message after 11 characters ok 89 - regexmess: truncate whole message after 11 characters ~ 1MB ok 90 - regexmess: truncate whole message after 10000 characters ~ 1MB ok 91 - regexmess: Delete header X-Ham-Report: ok 92 - regexmess: 1 Change 8bit characters in whole email to X characters ok 93 - regexmess: 2 Change 8bit characters in whole email to X characters, using tr ok 94 - regexmess: 1. Add a final \r\n if missing. Missing ok 95 - regexmess: 2. Add a final \r\n if missing. Missing ok 96 - regexmess: 3. Add a final \r\n if missing. Missing ok 97 - regexmess: 3. Add a final \r\n if missing. Missing ok 98 - regexmess: 3. Add a final \r\n if missing. Not missing ok 99 - regexmess: 4. Add a final \r\n if missing. Not missing ok 100 - regexmess: 4. Add a final \r\n if missing. Not missing ok 101 - regexmess: 4. Add a final \r\n if missing. Not missing ok 102 - regexmess: 4. Add a final \r\n if missing. Not missing ok 103 - regexmess: 1 remove buggy X-Spam-Report: across several lines, not the final header ok 104 - regexmess: 2 remove buggy X-Spam-Report: across several lines, not the final header ok 105 - regexmess: 3 remove buggy X-Spam-Report: across several lines, first header ok 106 - regexmess: 4 remove buggy X-Spam-Report: across several lines, final header ok 107 - regexmess: 5 remove buggy X-Spam-Report: not there at all ok 108 - regexmess: 6 remove buggy X-Spam-Report: across several lines, first header, with \r ok 109 - regexmess: 7 remove buggy X-Spam-Report: across several lines, middle header, with \r ok 110 - regexmess: 8 remove buggy X-Spam-Report: across several lines, final header, with \r ok 111 - regexmess: date replaced by first received date # Leaving tests_regexmess() # Entering tests_skipmess() ok 112 - skipmess, no skipmess, no skip Error: eval skipmess '[': syntax error at (eval 203) line 1, at EOF Execution of (eval 203) aborted due to compilation errors. ok 113 - skipmess, bad regex [ Error: eval skipmess 'lalala': Bareword "lalala" not allowed while "strict subs" in use at (eval 204) line 1. ok 114 - skipmess, bad regex lalala ok 115 - skipmess, popopo match regex /popopo/ ok 116 - skipmess, rrrrrr does not match regex /popopo/ ok 117 - skipmess: empty string yes ok 118 - skipmess: empty string no ok 119 - skipmess: i string yes ok 120 - skipmess: i string no ok 121 - skipmess: i 8bit no ok 122 - skipmess: \xff 8bit yes ok 123 - skipmess: A or B no ok 124 - skipmess: A or B no ok 125 - skipmess: A or B no ok 126 - skipmess: A or B yes ok 127 - skipmess: A or B yes ok 128 - skipmess: A or B yes ok 129 - skipmess: A or B yes ok 130 - skipmess: 1 match Content-Type: Message/Partial ok 131 - skipmess: 2 not match Content-Type: Message/Partial ok 132 - skipmess: 3 match Content-Type: Message/Partial ok 133 - skipmess: 4 not match Content-Type: Message/Partial ok 134 - skipmess: 5 not match Content-Type: Message/Partial ok 135 - skipmess: 6 match Content-Type: Message/Partial ok 136 - skipmess: 7 match Content-Type: Message/Partial ok 137 - skipmess: 8 match Content-Type: Message/Partial ok 138 - skipmess: 9 match Content-Type: Message/Partial ok 139 - skipmess: 10 match Content-Type: Message/Partial ok 140 - skipmess: 11 match Content-Type: Message/Partial ok 141 - skipmess: 12 not match Content-Type: Message/Partial # Leaving tests_skipmess() # Entering tests_regexflags() ok 142 - tests_regexflags, null string q{} ok 143 - tests_regexflags, nothing to do Error: eval regexflag 'I am BAD': Bareword "BAD" not allowed while "strict subs" in use at (eval 236) line 1. ok 144 - tests_regexflags, bad regex ok 145 - tests_regexflags, remove NonJunk: 's/NonJunk//g' ok 146 - tests_regexflags, remove $Spam: 's/\$Spam//g' ok 147 - tests_regexflags, remove \Seen: 's/\\\\Seen//g' ok 148 - tests_regexflags: only \word among \Seen NonJunk \Middle $Spam \End ok 149 - tests_regexflags: only \word among Begin \Seen NonJunk \Middle $Spam \End1 End ok 150 - tests_regexflags, Keep only regex ok 151 - tests_regexflags,Keep only regex ok 152 - tests_regexflags,Keep only regex ok 153 - tests_regexflags,Keep only regex ok 154 - tests_regexflags,Keep only regex ok 155 - tests_regexflags,Keep only regex ok 156 - tests_regexflags,Keep only regex ok 157 - tests_regexflags,Keep only regex ok 158 - tests_regexflags,Keep only regex ok 159 - tests_regexflags,Keep only regex ok 160 - tests_regexflags,Keep only regex ok 161 - tests_regexflags,Keep only regex ok 162 - tests_regexflags,Keep only regex ok 163 - tests_regexflags,Keep only regex ok 164 - tests_regexflags,Keep only regex ok 165 - tests_regexflags,Keep only regex ok 166 - tests_regexflags, Add jrdH8u 's/(.*)/\$1 jrdH8u/' ok 167 - tests_regexflags, Remove jrdH8u s/jrdH8u *// ok 168 - tests_regexflags, Keep only regex: Exchange case (Phil) ok 169 - tests_regexflags, Keep only regex: Exchange case, null string (Phil) ok 170 - tests_regexflags, Keep only regex: Exchange case, no accepted flags (Phil) ok 171 - tests_regexflags, Keep only regex: Exchange case (Phil) ok 172 - tests_regexflags, remove \Flagged 1 ok 173 - tests_regexflags, remove \Flagged 2 ok 174 - tests_regexflags, \ \ is \ \ # Leaving tests_regexflags() # Entering tests_ucsecond() ok 175 - ucsecond: abcde -> aBcde ok 176 - ucsecond: ABCDE -> ABCDE ok 177 - ucsecond: AbCDE -> ABCDE ok 178 - ucsecond: AbCde -> ABCde ok 179 - ucsecond: A -> A ok 180 - ucsecond: Ab -> AB ok 181 - ucsecond: \b -> \B ok 182 - ucsecond: \bcde -> \Bcde # Leaving tests_ucsecond() # Entering tests_permanentflags() ok 183 - permanentflags \* ok 184 - permanentflags \Draft \Answered ok 185 - permanentflags \Draft \Answered ok 186 - permanentflags nothing # Leaving tests_permanentflags() # Entering tests_flags_filter() ok 187 - flags_filter ok 188 - flags_filter ok 189 - flags_filter ok 190 - flags_filter ok 191 - flags_filter ok 192 - flags_filter # Leaving tests_flags_filter() # Entering tests_separator_invert() ok 193 - separator_invert: no args ok 194 - separator_invert: not enough args ok 195 - separator_invert: not enough args ok 196 - separator_invert: 3 empty strings ok 197 - separator_invert: empty separator ok 198 - separator_invert: same separator / ok 199 - separator_invert: same separator / 2 ok 200 - separator_invert: separators /. ok 201 - separator_invert: separators ./ ok 202 - separator_invert: separators ./ ok 203 - separator_invert: separators /. ok 204 - separator_invert: separators /. # Leaving tests_separator_invert() # Entering tests_imap2_folder_name() ok 205 - imap2_folder_name: empty string ok 206 - imap2_folder_name: blabla ok 207 - imap2_folder_name: spam/spam ok 208 - imap2_folder_name: spam.spam ok 209 - imap2_folder_name: spam/spam.spam ok 210 - imap2_folder_name: s pam/spam.sp am ok 211 - imap2_folder_name: auto ok 212 - imap2_folder_name: auto/auto ok 213 - imap2_folder_name: empty string [s,/,X,g] ok 214 - imap2_folder_name: blabla [s,/,X,g] ok 215 - imap2_folder_name: spam/spam [s,/,X,g] ok 216 - imap2_folder_name: spam.spam [s,/,X,g] ok 217 - imap2_folder_name: spam/spam.spam [s,/,X,g] ok 218 - imap2_folder_name: blabla [s, ,_,g] ok 219 - imap2_folder_name: blabla [s, ,_,g] ok 220 - imap2_folder_name: blabla [s,\U(.*)\E,$1,] ok 221 - imap2_folder_name: empty string ok 222 - imap2_folder_name: blabla ok 223 - imap2_folder_name: spam/spam -> spam.spam ok 224 - imap2_folder_name: spam.spam -> spam_spam ok 225 - imap2_folder_name: spam/spam.spam -> spam.spam_spam ok 226 - imap2_folder_name: s pam/spam.spa m -> s pam.spam_spa m ok 227 - imap2_folder_name: empty string ok 228 - imap2_folder_name: blabla ok 229 - imap2_folder_name: spam/spam -> spam.spam ok 230 - imap2_folder_name: spam.spam -> spam/spam ok 231 - imap2_folder_name: spam/spam.spam -> spam.spam/spam ok 232 - imap2_folder_name: spam/spam.spam -> spam.spam/spam ok 233 - imap2_folder_name: spam/spam.spam -> spam.spam/spam ok 234 - imap2_folder_name: blabla ok 235 - imap2_folder_name: INBOX.TEST.test.Test.tesT ok 236 - imap2_folder_name: INBOX.TEST.test.Test.tesT ok 237 - imap2_folder_name: F1.F2.F3 -> Pf2/F1/F2/F3 ok 238 - imap2_folder_name: F1.INBOX -> Pf2/F1/INBOX ok 239 - imap2_folder_name: INBOX -> INBOX ok 240 - imap2_folder_name: Pf1.F1.F2.F3 -> Pf2/F1/F2/F3 ok 241 - imap2_folder_name: Pf1.F1.INBOX -> Pf2/F1/INBOX ok 242 - imap2_folder_name: Pf1.INBOX -> INBOX ok 243 - imap2_folder_name: F1/F2/F3 -> S1.S2.F1.F2.F3 ok 244 - imap2_folder_name: F1/F2/F3 -> S1.S2.INBOX ok 245 - imap2_folder_name: F1/F2/F3 -> Pf2.S1.S2.F1.F2.F3 ok 246 - imap2_folder_name: INBOX -> Pf2.S1.S2.INBOX ok 247 - imap2_folder_name: F1/F2/F3 -> Pf2.S1.S2.F1.F2.F3 ok 248 - imap2_folder_name: INBOX -> Pf2.S1.S2.INBOX ok 249 - imap2_folder_name: S1.S2.F1.F2.F3 -> Pf2/F1/F2/F3 ok 250 - imap2_folder_name: Pf1.S1.S2.F1.F2.F3 -> Pf2/F1/F2/F3 ok 251 - imap2_folder_name: S1.S2.INBOX -> INBOX ok 252 - imap2_folder_name: S1.S2 -> INBOX ok 253 - imap2_folder_name: S1.S2. -> INBOX ok 254 - imap2_folder_name: Pf1.S1.S2.INBOX -> INBOX ok 255 - imap2_folder_name: Pf1.S1.S2 -> INBOX ok 256 - imap2_folder_name: Pf1.S1.S2. -> INBOX ok 257 - imap2_folder_name: S1.S2.F1.F2.F3 -> Pf2/F1/F2/F3 ok 258 - imap2_folder_name: Pf1.S1.S2.F1.F2.F3 -> Pf2/F1/F2/F3 ok 259 - imap2_folder_name: S1.S2.INBOX -> INBOX ok 260 - imap2_folder_name: S1.S2 -> INBOX ok 261 - imap2_folder_name: S1.S2. -> INBOX ok 262 - imap2_folder_name: Pf1.S1.S2.INBOX -> INBOX ok 263 - imap2_folder_name: Pf1.S1.S2 -> INBOX ok 264 - imap2_folder_name: Pf1.S1.S2. -> INBOX ok 265 - imap2_folder_name: S1/S2/F1/F2/F3 -> F1/F2/F3 ok 266 - imap2_folder_name: S1/S2/INBOX -> INBOX ok 267 - imap2_folder_name: S1/S2 -> INBOX ok 268 - imap2_folder_name: S1/S2/ -> INBOX ok 269 - imap2_folder_name: S1/S2/F1/F2/F3 -> F1/F2/F3 ok 270 - imap2_folder_name: S1/S2/INBOX -> INBOX ok 271 - imap2_folder_name: S1/S2 -> INBOX ok 272 - imap2_folder_name: S1/S2/ -> INBOX f1f2 [Inbox] -> [INBOX] ok 273 - imap2_folder_name: Inbox -> INBOX removed host1 prefix: [Inbox/zozo] inverted separators: [Inbox.zozo] added host2 prefix: [INBOX.Inbox.zozo] [INBOX.Inbox.zozo] -> [INBOX.zozo] using regextrans2 [s,Inbox.,,] ok 274 - imap2_folder_name: Inbox/zozo -> INBOX.zozo regextrans2: s,^$mysync->{ h2_prefix }(.*),$mysync->{ h2_prefix }$mysync->{ subfolder2 }$mysync->{ h2_sep }$1, s,^INBOX$,$mysync->{ h2_prefix }$mysync->{ subfolder2 }$mysync->{ h2_sep }INBOX, s,^($mysync->{ h2_prefix }){2},$mysync->{ h2_prefix }, s,Inbox.,, f1f2 [Inbox] -> [INBOX.SUB] ok 275 - imap2_folder_name: subfolder2 SUB, Inbox -> INBOX.SUB removed host1 prefix: [Inbox/zozo] inverted separators: [Inbox.zozo] added host2 prefix: [INBOX.Inbox.zozo] [INBOX.Inbox.zozo] -> [INBOX.SUB.Inbox.zozo] using regextrans2 [s,^$mysync->{ h2_prefix }(.*),$mysync->{ h2_prefix }$mysync->{ subfolder2 }$mysync->{ h2_sep }$1,] [INBOX.SUB.Inbox.zozo] -> [INBOX.SUB.Inbox.zozo] using regextrans2 [s,^INBOX$,$mysync->{ h2_prefix }$mysync->{ subfolder2 }$mysync->{ h2_sep }INBOX,] [INBOX.SUB.Inbox.zozo] -> [INBOX.SUB.Inbox.zozo] using regextrans2 [s,^($mysync->{ h2_prefix }){2},$mysync->{ h2_prefix },] [INBOX.SUB.Inbox.zozo] -> [INBOX.SUB.zozo] using regextrans2 [s,Inbox.,,] ok 276 - imap2_folder_name: subfolder2 SUB, Inbox/zozo -> INBOX.SUB.zozo # Leaving tests_imap2_folder_name() # Entering tests_command_line_nopassword() ok 277 - command_line_nopassword void ok 278 - command_line_nopassword --blabla ok 279 - command_line_nopassword --password1 ok 280 - command_line_nopassword --password1 --blibli ok 281 - command_line_nopassword void ok 282 - command_line_nopassword --blabla ok 283 - command_line_nopassword --password1 ok 284 - command_line_nopassword --password1 --blibli # Leaving tests_command_line_nopassword() # Entering tests_good_date() ok 285 - good_date no arg ok 286 - good_date internal 2digit zone ok 287 - good_date internal 2digit no zone ok 288 - good_date internal SP 1digit ok 289 - good_date header 2digit zone ok 290 - good_date header SP 1digit zone ok 291 - good_date header SP 1digit zone ok 292 - good_date header SP 1digit zone ok 293 - good_date header TemPageR ok 294 - good_date header dice.com support 1digit day ok 295 - good_date header dice.com support 2digit day ok 296 - good_date header status-now.com ok 297 - good_date header missing date of week ok 298 - good_date header 2digit year ok 299 - good_date header 2digit year ok 300 - good_date header 2digit year ok 301 - good_date header 2digit year ok 302 - good_date header 2digit year ok 303 - good_date header period time sep ok 304 - good_date header extra white space type1 ok 305 - good_date header 1digit time vals ok 306 - good_date header extra commas ok 307 - good_date header no abbrev ok 308 - good_date extra white space ok 309 - good_date kbtoys.com orders ok 310 - good_date jr.com orders ok 311 - good_date register.com domain transfer ok 312 - good_date pop2imap bug (Westeuropäische Normalzeit) ok 313 - good_date from RCS date # Leaving tests_good_date() # Entering tests_max() ok 314 - max 0 => 0 ok 315 - max 1 => 1 ok 316 - max -1 => -1 ok 317 - max no arg => undef ok 318 - undef => undef ok 319 - undef, undef => undef ok 320 - max 1 100 => 100 ok 321 - max 100 1 => 100 ok 322 - max 100 42 1 => 100 ok 323 - max 100 42 1 => 100 ok 324 - max 100 42 1 => 100 ok 325 - max 100 haha 1 => 100 ok 326 - max bb 100 haha => 100 ok 327 - max "" -1 haha => -1 ok 328 - max "" -1 -2 => -1 ok 329 - max haha -1 -2 => -1 ok 330 - max -1 1 => 1 ok 331 - max undef 1 => 1 ok 332 - max undef 0 => 0 ok 333 - max haha => haha ok 334 - max aa bb => bb ok 335 - max bb aa => bb ok 336 - max bb aa bb => bb # Leaving tests_max() # Entering tests_remove_not_num() ok 337 - remove_not_num( 123 ) ok 338 - remove_not_num( '123' ) ok 339 - remove_not_num( '12 3' ) ok 340 - remove_not_num( 'a 12 3 Ko' ) ok 341 - remove_not_num( 'a 12 3 K' ) ok 342 - remove_not_num( 'a 12, 3 K' ) ok 343 - remove_not_num( 'a 173,892 K' ) # Leaving tests_remove_not_num() # Entering tests_memory_consumption_of_myself() # memory_consumption_of_myself: 181690368 bytes aka 181.690 MB ok 344 - tests_memory_consumption_of_myself no args ok 345 - tests_memory_consumption_of_myself 1 ok 346 - tests_memory_consumption_of_myself 1427 # Leaving tests_memory_consumption_of_myself() # Entering tests_is_a_release_number() ok 347 - is_a_release_number: no args => undef ok 348 - is_a_release_number 1.351 ok 349 - is_a_release_number 42.4242 ok 350 - is_a_release_number imapsync_version( ) ok 351 - ! is_a_release_number blabla # Leaving tests_is_a_release_number() # Entering tests_imapsync_basename() ok 352 - imapsync_basename: match imapsync ok 353 - imapsync_basename: do not equal blabla # Leaving tests_imapsync_basename() # Entering tests_list_keys_in_2_not_in_1() ok 354 - list_keys_in_2_not_in_1: {} {} ok 355 - list_keys_in_2_not_in_1: {} {} ok 356 - list_keys_in_2_not_in_1: {} {a, b} ok 357 - list_keys_in_2_not_in_1: {a} {a, b} ok 358 - list_keys_in_2_not_in_1: {a, b} {a, b} ok 359 - list_keys_in_2_not_in_1: {a, b, c} {a, b} ok 360 - list_keys_in_2_not_in_1: {a, b, c} {a, b} # Leaving tests_list_keys_in_2_not_in_1() # Entering tests_convert_sep_to_slash() ok 361 - convert_sep_to_slash: no folder ok 362 - convert_sep_to_slash: INBOX ok 363 - convert_sep_to_slash: INBOX/foo ok 364 - convert_sep_to_slash: INBOX_foo ok 365 - convert_sep_to_slash: INBOX_foo_zob ok 366 - convert_sep_to_slash: INBOX.foo ok 367 - convert_sep_to_slash: INBOX.foo.hi # Leaving tests_convert_sep_to_slash() # Entering tests_match_a_cache_file() ok 368 - tests_match_a_cache_file: no arg ok 369 - match_a_cache_file: no arg 1 ok 370 - match_a_cache_file: no arg 2 ok 371 - tests_match_a_cache_file: empty arg ok 372 - match_a_cache_file: empty arg 1 ok 373 - match_a_cache_file: empty arg 2 ok 374 - tests_match_a_cache_file: 000_000 ok 375 - match_a_cache_file: 000_000 1 ok 376 - match_a_cache_file: 000_000 2 ok 377 - tests_match_a_cache_file: 123_456 ok 378 - match_a_cache_file: 123_456 1 ok 379 - match_a_cache_file: 123_456 2 ok 380 - tests_match_a_cache_file: /tmp/truc/123_456 ok 381 - match_a_cache_file: /tmp/truc/123_456 1 ok 382 - match_a_cache_file: /tmp/truc/123_456 2 ok 383 - tests_match_a_cache_file: NO /lala123_456 ok 384 - match_a_cache_file: /lala123_456 1 ok 385 - match_a_cache_file: /lala123_456 2 ok 386 - tests_match_a_cache_file: NO la123_456 ok 387 - match_a_cache_file: la123_456 1 ok 388 - match_a_cache_file: la123_456 2 # Leaving tests_match_a_cache_file() # Entering tests_cache_map() ok 389 - cache_map: 02 ok 390 - cache_map: 03 ok 391 - cache_map: 04 ok 392 - cache_map: ! 161 -> 260 ok 393 - cache_map: 1601 -> 260 ok 394 - cache_map: 130 -> 2301 # Leaving tests_cache_map() # Entering tests_get_cache() ok 395 - tests_get_cache: /cache_no_exist ok 396 - tests_get_cache: rmtree W/tmp/cache/F1/F2 ok 397 - tests_get_cache: mkpath W/tmp/cache/F1/F2 ok 398 - tests_get_cache: touch W/tmp/cache/F1/F2/... ok 399 - tests_get_cache: 02 ok 400 - tests_get_cache: 03 ok 401 - tests_get_cache: 04 ok 402 - tests_get_cache: file kept 142_242 ok 403 - tests_get_cache: file kept 143_243 ok 404 - tests_get_cache: file removed 100_200 ok 405 - tests_get_cache: file removed 101_201 ok 406 - tests_get_cache: touch W/tmp/cache/F1/F2/... ok 407 - tests_get_cache: 02 ok 408 - tests_get_cache: file kept 142_242 ok 409 - tests_get_cache: file kept 143_243 ok 410 - tests_get_cache: file NOT removed 100_200 ok 411 - tests_get_cache: file NOT removed 101_201 ok 412 - tests_get_cache: rmtree W/tmp/cache/rr\uee ok 413 - tests_get_cache: mkpath W/tmp/cache/rr\uee ok 414 - tests_get_cache: touch strange W/tmp/cache/... ok 415 - tests_get_cache: strange path 02 ok 416 - tests_get_cache: strange path 03 ok 417 - tests_get_cache: strange path 04 ok 418 - tests_get_cache: strange path file kept 142_242 ok 419 - tests_get_cache: strange path file kept 143_243 ok 420 - tests_get_cache: strange path file removed 100_200 ok 421 - tests_get_cache: strange path file removed 101_201 # Leaving tests_get_cache() # Entering tests_clean_cache() ok 422 - tests_clean_cache: rmtree W/tmp/cache/G1/G2 ok 423 - tests_clean_cache: mkpath W/tmp/cache/G1/G2 ok 424 - tests_clean_cache: touch W/tmp/cache/G1/G2/... ok 425 - tests_clean_cache: 100_200 before ok 426 - tests_clean_cache: 142_242 before ok 427 - tests_clean_cache: 177_277 before ok 428 - tests_clean_cache: 177_377 before ok 429 - tests_clean_cache: 177_777 before ok 430 - tests_clean_cache: 155_255 before ok 431 - tests_clean_cache: ok 432 - tests_clean_cache: 100_200 after ok 433 - tests_clean_cache: 142_242 after ok 434 - tests_clean_cache: 177_277 after ok 435 - tests_clean_cache: 177_377 after ok 436 - tests_clean_cache: 177_777 after ok 437 - tests_clean_cache: 155_255 after # Leaving tests_clean_cache() # Entering tests_clean_cache_2() ok 438 - tests_clean_cache_2: rmtree W/tmp/cache/G1/G2 ok 439 - tests_clean_cache_2: mkpath W/tmp/cache/G1/G2 ok 440 - tests_clean_cache_2: touch W/tmp/cache/G1/G2/... ok 441 - tests_clean_cache_2: 100_200 before ok 442 - tests_clean_cache_2: 142_242 before ok 443 - tests_clean_cache_2: 177_277 before ok 444 - tests_clean_cache_2: 177_377 before ok 445 - tests_clean_cache_2: 177_777 before ok 446 - tests_clean_cache_2: 155_255 before ok 447 - tests_clean_cache_2: ok 448 - tests_clean_cache_2: 100_200 after ok 449 - tests_clean_cache_2: 142_242 after ok 450 - tests_clean_cache_2: 177_277 after ok 451 - tests_clean_cache_2: 177_377 after ok 452 - tests_clean_cache_2: 177_777 after ok 453 - tests_clean_cache_2: 155_255 after # Leaving tests_clean_cache_2() # Entering tests_touch() ok 454 - touch: mkpath W/tmp/tests/ ok 455 - touch: W/tmp/tests/lala ok 456 - touch: W/tmp/tests/\y ok 457 - touch: not /aaa ok 458 - touch: 2 files ok 459 - touch: 2 files, 1 fails # Leaving tests_touch() # Entering tests_flagscase() ok 460 - flagscase: \Seen -> \Seen ok 461 - flagscase: \SEEN -> \Seen ok 462 - flagscase: \SEEN \DRAFT -> \Seen \Draft ok 463 - flagscase: \DRAFT \SEEN -> \Draft \Seen ok 464 - flagscase: \DRAFT LALA \SEEN -> \Draft LALA \Seen ok 465 - flagscase: \DRAFT lala \SEEN -> \Draft lala \Seen # Leaving tests_flagscase() # Entering tests_mkpath() ok 466 - mkpath: mkpath W/tmp/tests/ ok 467 - mkpath: mkpath 300 char ok 468 - mkpath: mkpath > 300 char verified ok 469 - mkpath: rmtree 300 char ok 470 - mkpath: rmtree 300 char verified ok 471 - mkpath: mkpath trailing_dots... ok 472 - mkpath: mkpath trailing_dots... verified ok 473 - mkpath: rmtree trailing_dots... ok 474 - mkpath: rmtree trailing_dots... verified ok 475 - mkpath: can not divide by 0 ok 476 - mkpath: still alive ok 477 # skip Tests only for MSWin32 ok 478 # skip Tests only for MSWin32 ok 479 # skip Tests only for MSWin32 ok 480 # skip Tests only for MSWin32 ok 481 # skip Tests only for MSWin32 ok 482 # skip Tests only for MSWin32 ok 483 # skip Tests only for MSWin32 ok 484 # skip Tests only for MSWin32 ok 485 # skip Tests only for MSWin32 ok 486 # skip Tests only for MSWin32 ok 487 # skip Tests only for MSWin32 ok 488 # skip Tests only for MSWin32 ok 489 # skip Tests only for MSWin32 # Leaving tests_mkpath() # Entering tests_extract_header() ok 490 - extract_header: 1 # Leaving tests_extract_header() # Entering tests_decompose_header() ok 491 - decompose_header: VAL_3 ok 492 - decompose_header: VAL_1 ok 493 - decompose_header: VAL_1_other ok 494 - decompose_header: VAL_2 VAL_2_+ VAL_2_++ ok 495 - decompose_header: VAL_4 VAL_4_+ ok 496 - decompose_header: KEY_5 BLANC ok 497 - decompose_header: KEY_6_BAD_BODY ok 498 - decompose_header: 1 ok 499 - decompose_header: 2 ok 500 - decompose_header: 3 ok 501 - decompose_header: 3 ok 502 - decompose_header: Bad header VAL_3 ok 503 - decompose_header: Bad header VAL_1_other ok 504 - decompose_header: Bad header VAL_2 VAL_2_+ VAL_2_++ # Leaving tests_decompose_header() # Entering tests_epoch() ok 505 - epoch 24-Aug-2010 16:00:00 +0200 -> 1282658400 ok 506 - epoch 24-Aug-2010 14:00:00 +0000 -> 1282658400 ok 507 - epoch 24-Aug-2010 12:00:00 -0200 -> 1282658400 ok 508 - epoch 24-Aug-2010 16:01:00 +0201 -> 1282658400 ok 509 - epoch 24-Aug-2010 14:01:00 +0001 -> 1282658400 ok 510 - epoch 1-Aug-2010 16:00:00 +0200 -> 1280671200 ok 511 - epoch 1-Aug-2010 14:00:00 +0000 -> 1280671200 ok 512 - epoch 1-Aug-2010 12:00:00 -0200 -> 1280671200 ok 513 - epoch 1-Aug-2010 16:01:00 +0201 -> 1280671200 ok 514 - epoch 1-Aug-2010 14:01:00 +0001 -> 1280671200 ok 515 - epoch 1-Aug-2010 14:01:00 +0001 -> 1280671200 buggy day in 00-Jan-0000 00:00:00 +0000. Fixed to 01 ok 516 - epoch 1-Aug-2010 14:01:00 +0001 -> 1280671200 # Leaving tests_epoch() # Entering tests_add_header() ok 517 - add_header no arg ok 518 - add_header 123456789 # Leaving tests_add_header() # Entering tests_cache_dir_fix() ok 519 - cache_dir_fix: lalala -> lalala ok 520 - cache_dir_fix: ii\ii -> ii\\ii ok 521 - cache_dir_fix: ii@ii -> ii@ii ok 522 - cache_dir_fix: ii@ii:ii -> ii@ii\:ii ok 523 - cache_dir_fix: i\i\ii -> i\\i\\ii ok 524 - cache_dir_fix: i\ii -> i\\\\ii ok 525 - cache_dir_fix: \ -> \\\ ok 526 - cache_dir_fix: \ -> \\\ ok 527 - cache_dir_fix: [bracket] -> \[bracket\] # Leaving tests_cache_dir_fix() # Entering tests_cache_dir_fix_win() ok 528 - cache_dir_fix_win: lalala -> lalala ok 529 - cache_dir_fix_win: [bracket] -> [[]bracket[]] # Leaving tests_cache_dir_fix_win() # Entering tests_filter_forbidden_characters() ok 530 - filter_forbidden_characters: no args -> undef ok 531 - filter_forbidden_characters: empty string -> empty string ok 532 - filter_forbidden_characters: a_b -> a_b ok 533 - filter_forbidden_characters: a*b -> a_b ok 534 - filter_forbidden_characters: a|b -> a_b ok 535 - filter_forbidden_characters: a?b -> a_b ok 536 - filter_forbidden_characters: a*|?:"<>'b -> a________b ok 537 - filter_forbidden_characters: "a b " -> "a_b_" ok 538 - filter_forbidden_characters: a\tb -> a_b ok 539 - filter_forbidden_characters: a\rb -> a_b ok 540 - filter_forbidden_characters: a\nb -> a_b ok 541 - filter_forbidden_characters: a\b -> a_b ok 542 - filter_forbidden_characters: a-b -> a-b ok 543 - filter_forbidden_characters: aé-è-à-ç-Öb-& -> a__-__-__-__-__b ok 544 - filter_forbidden_characters: abcdABCDwxyzWXYZ012789 -> abcdABCDwxyzWXYZ012789 # Leaving tests_filter_forbidden_characters() # Entering tests_cache_folder() ok 545 - cache_folder: /path, fold1, fold2 -> /path/fold1/fold2 ok 546 - cache_folder: /pa*th, fold1, fold2 -> /path/fold1/fold2 ok 547 - cache_folder: />p /path/fol_d1/fold2 ok 548 - cache_folder: /path, fold1, fold2 -> /path/fold1/fold2 ok 549 - cache_folder: /pa*th, fold1, fold2 -> /path/fold1/fold2 ok 550 - cache_folder: />p /path/fol_d1/fold2 ok 551 - cache_folder: -> // ok 552 - cache_folder: *|?:"<> -> //_______ # Leaving tests_cache_folder() # Entering tests_time_remaining() ok 553 - time_remaining: no args -> 0 ok 554 - time_remaining: 0, 0, 0, 0 -> 0 ok 555 - time_remaining: 1, 1, 2, 1 -> 1 ok 556 - time_remaining: 9, 9, 10, 9 -> 1 ok 557 - time_remaining: 1, 1, 10, 1 -> 9 ok 558 - time_remaining: 5, 5, 10, 5 -> 5 ok 559 - time_remaining: 5, 5, 10, 0 -> ( 5 / 1 ) * ( 10 - 5) = 25 ok 560 - time_remaining: 5, 5, 10, 1 -> ( 5 / 1 ) * ( 10 - 5) = 25 # Leaving tests_time_remaining() # Entering tests_decompose_regex() ok 561 - decompose_regex 1 ok 562 - decompose_regex empty string ok 563 - decompose_regex s/.*/lala/ # Leaving tests_decompose_regex() # Entering tests_backtick() ok 564 - backtick: no args ok 565 - backtick: empty command ok 566 # skip test for MSWin32 ok 567 # skip test for MSWin32 ok 568 # skip test for MSWin32 ok 569 # skip test for MSWin32 ok 570 # skip test for MSWin32 open3: exec of aaaarrrg failed: No such file or directory at imapsync line 19160. ok 571 - backtick: aaaarrrg command not found ok 572 - backtick: echo Hello World! ok 573 - backtick: echo Hello; echo World! line 1 ok 574 - backtick: echo Hello; echo World! line 2 ok 575 - backtick: echo Hello World! scalar ok 576 - backtick: echo Hello; echo World! scalar 2 lines ok 577 - backtick: false returns no output # Leaving tests_backtick() # Entering tests_bytes_display_string_bin() ok 578 - bytes_display_string_bin: no args => NA ok 579 - bytes_display_string_bin: undef => NA ok 580 - bytes_display_string_bin: blabla => NA ok 581 - bytes_display_string_bin: 0 => 0.000 KiB ok 582 - bytes_display_string_bin: 1 => 0.001 KiB ok 583 - bytes_display_string_bin: 10 => 0.010 KiB ok 584 - bytes_display_string_bin: 999 => 0.976 KiB # 0.976 KiB ok 585 - bytes_display_string_bin: 1023 => 0.999 KiB # 0.999 KiB ok 586 - bytes_display_string_bin: 1024 => 1.000 KiB # 1.000 KiB ok 587 - bytes_display_string_bin: 1025 => 1.001 KiB ok 588 - bytes_display_string_bin: 10_239 => 9.999 KiB # 9.999 KiB ok 589 - bytes_display_string_bin: 10_240 => 10.000 KiB # 10.000 KiB ok 590 - bytes_display_string_bin: 1_023_999 => 999.999 KiB # 999.999 KiB ok 591 - bytes_display_string_bin: 1_024_000 => 0.977 MiB # 0.977 MiB ok 592 - bytes_display_string_bin: 1_047_527 => 0.999 MiB # 0.999 MiB ok 593 - bytes_display_string_bin: 1_048_051 => 0.999 MiB # 0.999 MiB ok 594 - bytes_display_string_bin: 1_048_052 => 1.000 MiB # 1.000 MiB ok 595 - bytes_display_string_bin: 1_048_575 => 1.000 MiB ok 596 - bytes_display_string_bin: 1_048_576 => 1.000 MiB ok 597 - bytes_display_string_bin: 1_073_741_823 => 1.000 GiB ok 598 - bytes_display_string_bin: 1_073_741_824 => 1.000 GiB ok 599 - bytes_display_string_bin: 1_099_511_627_775 => 1.000 TiB ok 600 - bytes_display_string_bin: 1_099_511_627_776 => 1.000 TiB ok 601 - bytes_display_string_bin: 1_125_899_906_842_623 => 1.000 PiB ok 602 - bytes_display_string_bin: 1_125_899_906_842_624 => 1.000 PiB ok 603 - bytes_display_string_bin: 1_152_921_504_606_846_975 => 1024.000 PiB ok 604 - bytes_display_string_bin: 1_152_921_504_606_846_976 => 1024.000 PiB ok 605 - bytes_display_string_bin: 1_180_591_620_717_411_303_424 => 1048576.000 PiB # 1048576.000 PiB # 2.794 GiB # Leaving tests_bytes_display_string_bin() # Entering tests_bytes_display_string_dec() ok 606 - bytes_display_string_dec: no args => NA ok 607 - bytes_display_string_dec: undef => NA ok 608 - bytes_display_string_dec: blabla => NA ok 609 - bytes_display_string_dec: 0 => 0 bytes ok 610 - bytes_display_string_dec: 1 => 1 bytes ok 611 - bytes_display_string_dec: 10 => 10 bytes ok 612 - bytes_display_string_dec: 999 => 999 bytes ok 613 - bytes_display_string_dec: 1000 => 1.000 KB ok 614 - bytes_display_string_dec: 1000 => 1.1001 KB ok 615 - bytes_display_string_dec: 999_999 => 999.999 KB ok 616 - bytes_display_string_dec: 1_000_000 => 1.000 MB ok 617 - bytes_display_string_dec: 1_000_500 => 1.000 MB ok 618 - bytes_display_string_dec: 1_000_501 => 1.001 MB ok 619 - bytes_display_string_dec: 999_999_000 => 999.999 MB ok 620 - bytes_display_string_dec: 999_999_499 => 999.999 MB ok 621 - bytes_display_string_dec: 999_999_500 => 1.000 GB ok 622 - bytes_display_string_dec: 1_000_000_000 => 1.000 GB ok 623 - bytes_display_string_dec: 1_000_500_000 => 1.000 GB ok 624 - bytes_display_string_dec: 1_000_501_000 => 1.001 GB ok 625 - bytes_display_string_dec: 999_999_000_000 => 999.999 GB ok 626 - bytes_display_string_dec: 999_999_499_999 => 999.999 GB ok 627 - bytes_display_string_dec: 999_999_500_000 => 1.000 TB ok 628 - bytes_display_string_dec: 1_000_000_000_000 => 1.000 TB ok 629 - bytes_display_string_dec: 1_000_500_000_000 => 1.000 TB ok 630 - bytes_display_string_dec: 1_000_500_000_000 => 1.000 TB ok 631 - bytes_display_string_dec: 999_999_000_000_000 => 999.999 TB ok 632 - bytes_display_string_dec: 999_999_499_999_999 => 999.999 TB ok 633 - bytes_display_string_dec: 999_999_500_000_000 => 1.000 PB ok 634 - bytes_display_string_dec: 3_000_000_000 => 3.000 GB # Leaving tests_bytes_display_string_dec() # Entering tests_header_line_normalize() ok 635 - header_line_normalize: empty args ok 636 - header_line_normalize: hhh vvv ok 637 - header_line_normalize: remove first blancs ok 638 - header_line_normalize: remove succesive blanks ok 639 - header_line_normalize: remove last blanks ok 640 - header_line_normalize: tabs ok 641 - header_line_normalize: 8bit # Leaving tests_header_line_normalize() # Entering tests_fix_Inbox_INBOX_mapping() Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. INBOX INBOX on both sides so no mapping applied. ok 642 - tests_fix_Inbox_INBOX_mapping: INBOX INBOX Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. Inbox Inbox on both sides so no mapping applied. ok 643 - tests_fix_Inbox_INBOX_mapping: Inbox Inbox Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. INBOX Inbox so INBOX -> Inbox mapping applied. ok 644 - tests_fix_Inbox_INBOX_mapping: INBOX Inbox Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. Inbox INBOX so Inbox -> INBOX mapping applied. ok 645 - tests_fix_Inbox_INBOX_mapping: Inbox INBOX Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. ok 646 - tests_fix_Inbox_INBOX_mapping: INBOX rrrrrr Looking at INBOX or Inbox on both sides and deciding of the mapping to apply. Use --nofixInboxINBOX to avoid this behavior. ok 647 - tests_fix_Inbox_INBOX_mapping: rrrrr Inbox # Leaving tests_fix_Inbox_INBOX_mapping() # Entering tests_max_line_length() ok 648 - max_line_length: 0 == null string ok 649 - max_line_length: 1 == \n ok 650 - max_line_length: 1 == \n\n ok 651 - max_line_length: 1 == 500 \n ok 652 - max_line_length: 1 == a ok 653 - max_line_length: 2 == a\na ok 654 - max_line_length: 2 == a\na\n ok 655 - max_line_length: 3 == a\nab\n ok 656 - max_line_length: 3 == 1_000 a\nab\n ok 657 - max_line_length: 3 == a\nab\nabc ok 658 - max_line_length: 4 == a\nab\nabc\n ok 659 - max_line_length: 5 == a\nabcd\nabc\n ok 660 - max_line_length: 5 == a\nabcd\nabc\n\nabcd\nabcd\nabcd\nabcd\nabcd\nabcd\nabcd\nabcd # Leaving tests_max_line_length() # Entering tests_subject() ok 661 - subject: null ok 662 - Subject: ok 663 - Subject:\r\n ok 664 - Subject: toto le hero ok 665 - Subject:toto le hero ok 666 - Subject: toto le hero\r\n ok 667 - subject: toto le hero 2 ok 668 - subject: toto le hero 3 ok 669 - subject: cuicui ok 670 - subject: null but body could ok 671 - Subject: # Leaving tests_subject() # Entering tests_msgs_from_maxmin() ok 672 - msgs_from_maxmin: no maxage nor minage => empty result ok 673 - msgs_from_maxmin: maxage++ ok 674 - msgs_from_maxmin: -maxage++minage- ok 675 - msgs_from_maxmin: ++maxage-minage++ ok 676 - msgs_from_maxmin: ++minage- # Leaving tests_msgs_from_maxmin() # Entering tests_tmpdir_has_colon_bug() ok 677 - tmpdir_has_colon_bug: ok 678 - tmpdir_has_colon_bug: /tmp ok 679 - tmpdir_has_colon_bug: C: ok 680 - tmpdir_has_colon_bug: C:\temp # Leaving tests_tmpdir_has_colon_bug() # Entering tests_sleep_max_messages() ok 681 - sleep_max_messages: maxmessagespersecond = undef ok 682 - sleep_max_messages: maxmessagespersecond = 0 ok 683 - sleep_max_messages: maxmessagespersecond = -1 ok 684 - sleep_max_messages: maxmessagespersecond = 2 max reached ok 685 - sleep_max_messages: maxmessagespersecond = 2 max over ok 686 - sleep_max_messages: maxmessagespersecond = 2 max not reached # Leaving tests_sleep_max_messages() # Entering tests_sleep_max_bytes() ok 687 - sleep_max_bytes: maxbytespersecond == undef => sleep 0 ok 688 - sleep_max_bytes: maxbytespersecond = 0 => sleep 0 ok 689 - sleep_max_bytes: maxbytespersecond = -1 => sleep 0 ok 690 - sleep_max_bytes: maxbytespersecond = 2k max reached sharp => sleep 0 ok 691 - sleep_max_bytes: maxbytespersecond = 2k max over => sleep a little ok 692 - sleep_max_bytes: maxbytespersecond = 2k max not reached => sleep 0 ok 693 - sleep_max_bytes: maxbytespersecond = 2k max not reached => sleep 0 ok 694 - sleep_max_bytes: maxbytespersecond = 1k max not reached => sleep 0 # Leaving tests_sleep_max_bytes() # Entering tests_logfile() ok 695 - logfile: no args => 1970_01_01_00_00_00_000.txt ok 696 - logfile: 0 => 1970_01_01_00_00_00_000.txt ok 697 - logfile: 0 => 1970_01_01_00_01_01_000.txt ok 698 - logfile: 0 => 1970_01_01_00_01_01_234.txt ok 699 - logfile: 1_282_658_400 => 2010_08_24_14_00_00_000.txt ok 700 - logfile: 1_282_658_461 => 2010_08_24_14_01_01_000.txt ok 701 - logfile: 1_282_658_461 poupinette => 2010_08_24_14_01_01_000_poupinette.txt ok 702 - logfile: 1_282_658_461 remove blanks => 2010_08_24_14_01_01_000_removeblanks.txt ok 703 - logfile: 1_282_658_461.2347 poup => 2010_08_24_14_01_01_234_poup.txt ok 704 - logfile: 1_282_658_461.2347 poup dirdir => dirdir/2010_08_24_14_01_01_234_poup.txt # Leaving tests_logfile() # Entering tests_setlogfile() ok 705 - setlogfile: logdir vallogdir, vallogfile.txt => vallogdir/vallogfile.txt ok 706 - setlogfile: default is like 1970_01_01_00_00_02_000__.txt ok 707 - setlogfile: default abort is like 1970_01_01_00_00_02_000_user1_user2_abort.txt ok 708 - setlogfile: default with _remote is like 1970_01_01_00_00_02_000_user1_user2_remote.txt ok 709 - setlogfile: default abort with _remote is like 1970_01_01_00_00_02_000_user1_user2_remote_abort.txt ok 710 - setlogfile: default is like 1970_01_01_00_00_02_000_user1_user2.txt ok 711 - setlogfile: logdir undef, 1970_01_01_00_00_02_000_user1_user2.txt ok 712 - setlogfile: logdir empty, 1970_01_01_00_00_02_000_user1_user2.txt ok 713 - setlogfile: logdir vallogdir, vallogdir/1970_01_01_00_00_02_000_user1_user2.txt ok 714 - setlogfile: logdir undef, 1970_01_01_00_00_00_000_us_er1a_______b_u_ser2a_______b.txt # Leaving tests_setlogfile() # Entering tests_jux_utf8_old() ok 715 - jux_utf8_old: void => [] ok 716 - jux_utf8_old: INBOX => [INBOX] ok 717 - jux_utf8_old: => [&ZTZO9nux-] = [æ”¶ä»¶ç®±] ok 718 - jux_utf8_old: &ANY- => [&ANY-] = [Ö] ok 719 - jux_utf8_old: => [+BD8EQAQ1BDQEOwQ+BDM-] = [предлог] ok 720 - jux_utf8_old: => [&BB8EQAQ+BDUEOgRC-] = [Проект] # Leaving tests_jux_utf8_old() # Entering tests_jux_utf8() ok 721 - jux_utf8: Encode::find_encoding: UTF-16BE ok 722 - jux_utf8: void => [] ok 723 - jux_utf8: INBOX => [INBOX] ok 724 - jux_utf8: &ANY- => [&ANY-] = [Ö] ok 725 - jux_utf8: => [+BD8EQAQ1BDQEOwQ+BDM-] = [+BD8EQAQ1BDQEOwQ+BDM-] Wide character in print at /usr/share/perl5/core_perl/Test2/Formatter/TAP.pm line 156. ok 726 - jux_utf8: => [&BB8EQAQ+BDUEOgRC-] = [Проект] ok 727 - jux_utf8: [R&AOk-ponses 1200+1201+1202] = [Réponses 1200+1201+1202] ok 728 - jux_utf8: [R&AOk-ponses 1200+1201+1202] = [Réponses 1200+1201+1202] ok 729 - jux_utf8: [INBOX.&AOkA4ADnAPk-&-*] = [INBOX.éàçù&*] Wide character in print at /usr/share/perl5/core_perl/Test2/Formatter/TAP.pm line 156. ok 730 - jux_utf8: => [&ZTZO9nux-] = [æ”¶ä»¶ç®±] ok 731 - jux_utf8: !Old Emails => [!Old Emails] ok 732 - jux_utf8: 2006 Budget & Fcst => [2006 Budget & Fcst] # Leaving tests_jux_utf8() # Entering tests_pipemess() ok 733 # skip Not on MSWin32 ok 734 # skip Not on MSWin32 ok 735 # skip Not on MSWin32 ok 736 - tests_pipemess: no change by cat ok 737 - tests_pipemess: no change by cat,cat ok 738 - tests_pipemess: numberize by cat -n ok 739 - tests_pipemess: numberize by cat -n ok 740 - tests_pipemess: sort Failure: --pipemess command "cacaprout" ended with "0" characters exit value "127" and STDERR "sh: line 1: cacaprout: command not found" ok 741 - tests_pipemess: command not found Failure: --pipemess command "true" ended with "0" characters exit value "0" and STDERR "" ok 742 - tests_pipemess: true but no output Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR "" ok 743 - tests_pipemess: false and no output ok 744 - tests_pipemess: ok by ( cat|cat ) ok 745 - tests_pipemess: list context, no change by cat, string ok 746 - tests_pipemess: list context, no change by cat, no error Failure: --pipemess command "true" ended with "0" characters exit value "0" and STDERR "" ok 747 - tests_pipemess: list context, true but no output, string ok 748 - tests_pipemess: list context, true but no output, error Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR "" ok 749 - tests_pipemess: list context, false and no output, string ok 750 - tests_pipemess: list context, false and no output, error ok 751 - tests_pipemess: list context, "echo -n blablabla", string ok 752 - tests_pipemess: list context, "echo blablabla", error Failure: --pipemess command "( echo -n blablabla 3>&1 1>&2 2>&3 )" ended with "0" characters exit value "0" and STDERR "blablabla" ok 753 - tests_pipemess: list context, "no output STDERR blablabla", string ok 754 - tests_pipemess: list context, "no output STDERR blablabla", error Failure: --pipemess command "( echo -n blablabla 3>&1 1>&2 2>&3 )" ended with "0" characters exit value "0" and STDERR "blablabla" ok 755 - tests_pipemess: list context, "no output STDERR blablabla then false", string ok 756 - tests_pipemess: list context, "no output STDERR blablabla then false", error Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR "" ok 757 - tests_pipemess: list context, "false then STDERR blablabla", string ok 758 - tests_pipemess: list context, "false then STDERR blablabla", error STDERR of --pipemess "( echo rrrrr ; echo -n error_blablabla 3>&1 1>&2 2>&3 )": error_blablabla ok 759 - tests_pipemess: list context, "STDOUT rrrrr STDERR error_blablabla", string ok 760 - tests_pipemess: list context, "STDOUT rrrrr STDERR error_blablabla", error Failure: --pipemess command "cacaprout" ended with "0" characters exit value "127" and STDERR "sh: line 1: cacaprout: command not found" ok 761 - tests_pipemess: list context, cacaprout not found, string ok 762 - tests_pipemess: list context, cacaprout not found, error # Leaving tests_pipemess() # Entering tests_jux_utf8_list() ok 763 - jux_utf8_list: void ok 764 - jux_utf8_list: empty string ok 765 - jux_utf8_list: INBOX ok 766 - jux_utf8_list: [&ANY-] = [Ö] # Leaving tests_jux_utf8_list() # Entering tests_guess_prefix() ok 767 - guess_prefix: no args => empty string ok 768 - guess_prefix: INBOX alone ok 769 - guess_prefix: Inbox alone ok 770 - guess_prefix: INBOX alone ok 771 - guess_prefix: INBOX INBOX/Junk ok 772 - guess_prefix: INBOX INBOX.Junk ok 773 - guess_prefix: Inbox Inbox/Junk ok 774 - guess_prefix: Inbox Inbox.Junk ok 775 - guess_prefix: INBOX INBOX/Junk INBOX/rrr ok 776 - guess_prefix: INBOX INBOX/Junk INBOX/rrr zzz ok 777 - guess_prefix: INBOX Junk ok 778 - guess_prefix: INBOX Junk # Leaving tests_guess_prefix() # Entering tests_guess_separator() ok 779 - guess_separator: no args ok 780 - guess_separator: abcd ok 781 - guess_separator: a/b/c.d ok 782 - guess_separator: a.b/c.d ok 783 - guess_separator: a\\b\\c.c\\d/e/f ok 784 - guess_separator: a\b\c.c\d/e/f ok 785 - guess_separator: a\b ok 786 - guess_separator: a\b\c # Leaving tests_guess_separator() # Entering tests_format_for_imap_arg() ok 787 - format_for_imap_arg empty hash ref ok 788 - format_for_imap_arg { name => toto } ok 789 - format_for_imap_arg 2 x key val # Leaving tests_format_for_imap_arg() # Entering tests_imapsync_id() ok 790 - tests_imapsync_id override # Leaving tests_imapsync_id() # Entering tests_date_from_rcs() ok 791 - date_from_rcs from RCS date # Leaving tests_date_from_rcs() # Entering tests_quota_extract_storage_limit_in_bytes() ok 792 - quota_extract_storage_limit_in_bytes (STORAGE 1 104857600) => 104857600 * 1024 ok 793 - quota_extract_storage_limit_in_bytes (STORAGE 988 48829 MESSAGE 20 20) => 48829 * 1024 # Leaving tests_quota_extract_storage_limit_in_bytes() # Entering tests_quota_extract_storage_current_in_bytes() ok 794 - quota_extract_storage_current_in_bytes: 1 => 1024 ok 795 - quota_extract_storage_current_in_bytes (STORAGE 988 48829 MESSAGE 20 20) => 988 * 1024 # Leaving tests_quota_extract_storage_current_in_bytes() # Entering tests_guess_special() ok 796 - guess_special: Sent => \Sent ok 797 - guess_special: Blabla => q{} ok 798 - guess_special: INBOX.Sent => \Sent ok 799 - guess_special: IN BOX.Sent => \Sent # Leaving tests_guess_special() # Entering tests_make_valid_directory() ok 800 - tests_make_valid_directory: no args => undef ok 801 - tests_make_valid_directory: empty string => undef ok 802 - tests_make_valid_directory: no dir => undef ok 803 - tests_make_valid_directory: a file is not a valid directory ok 804 - tests_make_valid_directory: . good ok 805 - tests_make_valid_directory: ./W/tmp/tests/valid/sub ok ok 806 - tests_make_valid_directory: ./W/tmp/tests/valid ok ok 807 - tests_make_valid_directory: ./W/tmp/tests/valid/sub ok 2 ok 808 - tests_make_valid_directory: ./W/tmp/tests/valid/qqq ok # OSNAME=linux EFFECTIVE_USER_ID=1000 # The "Error / has not good enough permissions" is on purpose ok 809 - tests_make_valid_directory: / is not valid for me # The "Error permission denied" on /noway is on purpose ok 810 - tests_make_valid_directory: /noway is not valid for me ok 811 # skip Tests only for MSWin32 # Dump of the buffered output Error: imapsync exists but it is not a directory Directory . is writable and readable and gointoable. Good. Creating directory ./W/tmp/tests/valid/sub (current directory is /build/imapsync/src/imapsync-2.314) Directory ./W/tmp/tests/valid/sub is writable and readable and gointoable. Good. Directory ./W/tmp/tests/valid is writable and readable and gointoable. Good. Directory ./W/tmp/tests/valid/sub is writable and readable and gointoable. Good. Creating directory ./W/tmp/tests/valid/qqq (current directory is /build/imapsync/src/imapsync-2.314) Directory ./W/tmp/tests/valid/qqq is writable and readable and gointoable. Good. Directory / has not good enough permissions. Trying a chmod 755. Bad: directory / for user builduser, permissions are 0755 and owner is root ( uid 0 ) Creating directory /noway (current directory is /build/imapsync/src/imapsync-2.314) mkdir /noway: Permission denied at imapsync line 10028. # Leaving tests_make_valid_directory() # Entering tests_delete1emptyfolders() ok 812 - delete1emptyfolders: undef ok 813 - delete1emptyfolders: undef 2 ok 814 - delete1emptyfolders: undef imap ok 815 - require Test::MockObject; ok 816 - delete1emptyfolders: Unconnected imap # Entering tests_delete1emptyfolders_unit() ok 817 - tests_delete1emptyfolders: --delete1emptyfolders OFF, init check ok 818 - tests_delete1emptyfolders: --delete1emptyfolders OFF, after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 819 - tests_delete1emptyfolders: --delete1emptyfolders ON, init check Host1 deleting empty folders Host1: folder INBOX has subfolders Host1: folder DELME2 has subfolders Host1: folder DELME1 has subfolders Host1 ended deleting empty folders ok 820 - tests_delete1emptyfolders: --delete1emptyfolders ON, after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 821 - tests_delete1emptyfolders: EXAMINE fails, init check Host1 deleting empty folders Host1 folder INBOX: Could not examine: LastError mocked Host1 folder DELME2: Could not examine: LastError mocked Host1 folder DELME1: Could not examine: LastError mocked Host1 ended deleting empty folders ok 822 - tests_delete1emptyfolders: EXAMINE fails, after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 823 - tests_delete1emptyfolders: examine ok but History badly mocked so count messages fails, init check Host1 deleting empty folders Host1 ended deleting empty folders ok 824 - tests_delete1emptyfolders: examine ok but History badly mocked so count messages fails, after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 825 - tests_delete1emptyfolders: History EXAMINE ok, several messages, init check Host1 deleting empty folders Host1: folder INBOX has messages: 2 (search) 2 (select) Host1: folder DELME2 has messages: 2 (search) 2 (select) Host1: folder DELME1 has messages: 2 (search) 2 (select) Host1 ended deleting empty folders ok 826 - tests_delete1emptyfolders: History EXAMINE ok, several messages, after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 827 - tests_delete1emptyfolders: 0 EXISTS but 2 by messages(), init check Host1 deleting empty folders Host1: folder INBOX odd messages count: 2 (search) 0 (select) Host1: folder DELME2 odd messages count: 2 (search) 0 (select) Host1: folder DELME1 odd messages count: 2 (search) 0 (select) Host1 ended deleting empty folders ok 828 - tests_delete1emptyfolders: 0 EXISTS but 2 by messages(), after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 829 - tests_delete1emptyfolders: 1 EXISTS but 0 by messages(), init check Host1 deleting empty folders Host1: folder INBOX odd messages count: 0 (search) 1 (select) Host1: folder DELME2 odd messages count: 0 (search) 1 (select) Host1: folder DELME1 odd messages count: 0 (search) 1 (select) Host1 ended deleting empty folders ok 830 - tests_delete1emptyfolders: 1 EXISTS but 0 by messages(), after check # Leaving tests_delete1emptyfolders_unit() # Entering tests_delete1emptyfolders_unit() ok 831 - tests_delete1emptyfolders: 0 EXISTS 0 by messages() delete folders, keep INBOX, init check Host1 deleting empty folders Host1: Not deleting INBOX, since it is RFC mandatory to exist. Host1: deleting empty folder DELME2 Host1 deleted DELME2 (not really since in a mocked test) Host1: deleting empty folder DELME1 Host1 deleted DELME1 (not really since in a mocked test) Host1 ended deleting empty folders ok 832 - tests_delete1emptyfolders: 0 EXISTS 0 by messages() delete folders, keep INBOX, after check # Leaving tests_delete1emptyfolders_unit() # Leaving tests_delete1emptyfolders() # Entering tests_message_for_host2() ok 833 - message_for_host2: no args ok 834 - message_for_host2: undef args ok 835 - require Test::MockObject; ok 836 - message_for_host2: msg 1 == "blablabla", length ok 837 - message_for_host2: msg 1 == "blablabla", value ok 838 - message_for_host2: --pipemess 'cat', length ok 839 - message_for_host2: --pipemess 'cat', value Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR "" - msg FoldFoo/1 {9} S[9] F[] I[10-Jul-2015 09:00:00 +0200] could not be successfully transformed by --pipemess option ok 840 - message_for_host2: --pipemess 'false', length ok 841 - message_for_host2: --pipemess 'false', value Failure: --pipemess command "true" ended with "0" characters exit value "0" and STDERR "" - msg FoldFoo/1 {9} S[9] F[] I[10-Jul-2015 09:00:00 +0200] could not be successfully transformed by --pipemess option ok 842 - message_for_host2: --pipemess 'true', length ok 843 - message_for_host2: --pipemess 'true', value # Leaving tests_message_for_host2() # Entering tests_length_ref() ok 844 - length_ref: value not defined ok 845 - length_ref: param not a ref ok 846 - length_ref: lala length == 4 ok 847 - length_ref: lili length == 4 # Leaving tests_length_ref() # Entering tests_firstline() ok 848 - tests_firstline: get empty string from inexisting W/tmp/tests/noexist.txt ok 849 - tests_firstline: make_valid_directory W/tmp/tests/ ok 850 - tests_firstline: put blabla in W/tmp/tests/firstline.txt ok 851 - tests_firstline: get blabla from W/tmp/tests/firstline.txt ok 852 - tests_firstline: put empty string in W/tmp/tests/firstline2.txt ok 853 - tests_firstline: get empty string from W/tmp/tests/firstline2.txt ok 854 - tests_firstline: put CR in W/tmp/tests/firstline3.txt ok 855 - tests_firstline: get empty string from W/tmp/tests/firstline3.txt ok 856 - tests_firstline: put blabla\nTiti\n in W/tmp/tests/firstline4.txt ok 857 - tests_firstline: get blabla from W/tmp/tests/firstline4.txt # Leaving tests_firstline() # Entering tests_diff_or_NA() ok 858 - diff_or_NA: no parameters => NA ok 859 - diff_or_NA: undef => NA ok 860 - diff_or_NA: undef undef => NA ok 861 - diff_or_NA: undef 1 => NA ok 862 - diff_or_NA: 1 undef => NA ok 863 - diff_or_NA: blabla 1 => NA ok 864 - diff_or_NA: 1 blabla => NA ok 865 - diff_or_NA: 1 1 => 0 ok 866 - diff_or_NA: 1 0 => 1 ok 867 - diff_or_NA: 0 1 => -1 ok 868 - diff_or_NA: 1.0 1 => 0 ok 869 - diff_or_NA: 1.0 0 => 1 ok 870 - diff_or_NA: 0 1.0 => -1 # Leaving tests_diff_or_NA() # Entering tests_match_number() ok 871 - match_number: no parameters => 0 ok 872 - match_number: undef => 0 ok 873 - match_number: blabla => 0 ok 874 - match_number: 0 => 1 ok 875 - match_number: 1 => 1 ok 876 - match_number: 1.0 => 1 ok 877 - match_number: 0.0 => 1 # Leaving tests_match_number() # Entering tests_all_defined() ok 878 - all_defined: no param => 0 ok 879 - all_defined: void list => 0 ok 880 - all_defined: undef => 0 ok 881 - all_defined: undef => 0 ok 882 - all_defined: 1 undef => 0 ok 883 - all_defined: undef 1 => 0 ok 884 - all_defined: 1 1 => 1 ok 885 - all_defined: (1 1) => 1 # Leaving tests_all_defined() # Entering tests_special_from_folders_hash() ok 886 - require Test::MockObject; ok 887 - special_from_folders_hash: no args ok 888 - special_from_folders_hash: undef args Host?: To have automagic rfc6154 folder mapping, upgrade Mail::IMAPClient >= 3.34 ok 889 - special_from_folders_hash: $imap void Host?: special Sent = \Sent ok 890 - special_from_folders_hash: $imap \Sent # Leaving tests_special_from_folders_hash() # Entering tests_notmatch() ok 891 - notmatch: no args => undef ok 892 - notmatch: one args => undef ok 893 - notmatch: lalala !~ /lalala/ => 1 ok 894 - notmatch: /lalala/ !~ /lalala/ => 0 ok 895 - notmatch: lalala !~ /ooo/ => 1 ok 896 - notmatch: lalala !~ lalala => 0 ok 897 - notmatch: lalala !~ ^lalala => 0 ok 898 - notmatch: lalala !~ lalala$ => 0 ok 899 - notmatch: lalala !~ ^lalala$ => 0 ok 900 - notmatch: _lalala_ !~ lalala => 0 ok 901 - notmatch: lalala !~ .* => 0 ok 902 - notmatch: lalala !~ . => 0 ok 903 - notmatch: does not match regex => 1 ok 904 - notmatch: does not match regex => 1 ok 905 - notmatch: matches regex => 0 ok 906 - notmatch: does not match regex => 1 # Leaving tests_notmatch() # Entering tests_match() ok 907 - match: no args => undef ok 908 - match: one args => undef ok 909 - match: lalala =~ lalala => lalala ok 910 - match: lalala =~ ^lalala => lalala ok 911 - match: lalala =~ lalala$ => lalala ok 912 - match: lalala =~ ^lalala$ => lalala ok 913 - match: _lalala_ =~ lalala => _lalala_ ok 914 - match: lalala =~ .* => lalala ok 915 - match: lalala =~ . => lalala ok 916 - match: /lalala/ =~ /lalala/ => /lalala/ ok 917 - match: foo =~ s/foo/bar/g => 0 ok 918 - match: s/foo/bar/g =~ s/foo/bar/g => s/foo/bar/g ok 919 - match: lalala =~ ooo => 0 ok 920 - match: lalala =~ lal_ala => 0 ok 921 - match: lalala =~ \. => 0 ok 922 - match: lalalaX =~ ^lalala$ => 0 ok 923 - match: lalala =~ /lalala/ => 0 ok 924 - match: LALALA =~ (?i:lalala) => 1 Fatal regex (?{`ls /`}) ok 925 - match: LALALA =~ (?{`ls /`}) => undef Fatal regex (?{print "CACA"}) ok 926 - match: LALALA =~ (?{print "CACA"}) => undef Fatal regex (??{print "CACA"}) ok 927 - match: CACA =~ (??{print "CACA"}) => undef # Leaving tests_match() # Entering tests_get_options() Found 1 supplementary arguments: [--noexist] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 928 - get_options: --noexist => undef ok 929 - get_options: --noexist => undef Found 2 supplementary arguments: [--lalala --noexist] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 930 - get_options: --lalala --noexist --version => undef ok 931 - get_options: --version => 1 ok 932 - get_options: --noexist => undef ok 933 - get_options: --delete2 => 1 ok 934 - get_options: --delete2 => var delete2 = 1 ok 935 - get_options: --delete 2 => var undef ok 936 - get_options: --delete 2 => var still undef ; good! Found 1 supplementary arguments: [--delete 2] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 937 - get_options: --delete 2 => undef ok 938 - get_options: --version => 1 ok 939 - get_options: --help => 1 Found 1 supplementary arguments: [--noexist] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 940 - get_options: --debug --noexist --version => undef ok 941 - get_options: --version => 1 Found 1 supplementary arguments: [kaka] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 942 - get_options: kaka => undef Found 2 supplementary arguments: [kaka1 kaka2] It usually means a quoting issue in the command line or some misspelled or unknown options. ok 943 - get_options: extra1 --version extra2 => undef ok 944 - get_options: --host1 HOST_01 => 2 ok 945 - get_options: --host1 HOST_01 => host1 = HOST_01 # Leaving tests_get_options() # Entering tests_get_options_cgi_context() ok 946 - get_options cgi context: no CGI module => undef ok 947 - get_options cgi context: no CGI param => undef ok 948 - get_options cgi context: QUERY_STRING => 22 ok 949 - get_options cgi context: --version => on ok 950 - get_options cgi context: $mysync->{debugenv} => undef ok 951 - get_options cgi context: QUERY_STRING => 36 ok 952 - get_options cgi context: $mysync->{user1} => test1 ok 953 - get_options cgi context: $mysync->{ folder } => fd1 ok 954 - get_options cgi context: $mysync->{ folder } => fd1, fd2 ok 955 - get_options cgi context: f1f2h => s1=d1 s2=d2 s3=d3 ok 956 - get_options cgi context: --nodry => $mysync->{ dry } => undef ok 957 - get_options cgi context: --host1=example.com => $mysync->{host1} => example.com Argument "" isn't numeric in addition (+) at imapsync line 22451. ok 958 - get_options cgi context: --simulong= => $mysync->{simulong} => undef ok 959 - get_options cgi context: --simulong => $mysync->{simulong} => undef ok 960 - get_options cgi context: --simulong=4 => $mysync->{simulong} => 4 ok 961 - get_options cgi context: --simulong=4 => $mysync->{ folder } => undef ok 962 - get_options cgi context: --testslive=on => testslive => on ok 963 - get_options cgi context: --log=0 => log => 0 # Leaving tests_get_options_cgi_context() # Entering tests_hashsynclocal() ok 964 - hashsynclocal: no hashfile name ok 965 - hashsynclocal: empty hashfile name ok 966 - hashsynclocal: no exists hashfile dir ok 967 - hashsynclocal: permission denied ok 968 - hashsynclocal: mkpath W/tmp/tests/ ok 969 - hashsynclocal: chmod 755 W/tmp/tests/ ok 970 ok 971 - hashsynclocal: verify there is no W/tmp/tests/imapsync_hash Writing random hashkey in W/tmp/tests/imapsync_hash, once for all times ok 972 - hashsynclocal: creating/reading W/tmp/tests/imapsync_hash ok 973 - hashsynclocal: reading W/tmp/tests/imapsync_hash second time => same # Leaving tests_hashsynclocal() # Entering tests_hashsync() ok 974 - hashsync: no args ok 975 - hashsync: empty args ok 976 - hashsync: host1 zzz => ok 977 - hashsync: host1 zzz => ok 978 - hashsync: + host2 zzz => ok 979 - hashsync: + hashkey A => ok 980 - hashsync: undef $mysync ok 981 - hashsync: password1: abcd ok 982 - hashsync: 1/0 not fatal ok 983 - hashsync: password1: Ö with eval ok 984 - hashsync: password1: Ö without eval ok 985 - hashsync: password1: \x{00D6} 1 00D6:Ö 2 00D6:Ö 3 00D6:Ö 4 00D6:Ö 5 6536:æ”¶ 6 6536:收 Wide character in print at imapsync line 5957. 7 6536:æ”¶ 8 6536:æ”¶ ok 986 - hashsync: password1: æ”¶ ok 987 - hashsync: password1: \x{6536} with eval ok 988 - hashsync: password1: abcd again # Leaving tests_hashsync() # Entering tests_output() ok 989 - output: no args => undef ok 990 - output: one arg => "" ok 991 - output: rrrr => rrrr ok 992 - output: aaaa => rrrraaaa ok 993 - output: \n => rrrraaaa\n ok 994 - output: A B C => rrrraaaaABC\n # Leaving tests_output() # Entering tests_output_reset_with() ok 995 - output_reset_with: no args => undef ok 996 - output_reset_with: one arg => "" ok 997 - output_reset_with: rrrr => rrrr ok 998 - output_reset_with: aaaa => aaaa ok 999 - output_reset_with: \n => \n # Leaving tests_output_reset_with() # Entering tests_output_start() ok 1000 - output_start: no args => undef ok 1001 - output_start: one arg => "" ok 1002 - output_start: rrrr => rrrr ok 1003 - output_start: aaaa => aaaarrrr ok 1004 - output_start: \n => \naaaarrrr ok 1005 - output_start: A B C => ABC\naaaarrrr # Leaving tests_output_start() # Entering tests_check_last_release() # This imapsync is up to date. ( local 2.314 >= official 1.1 )( Use --noreleasecheck to avoid this release check. ) ok 1006 - check_last_release: up to date ok 1007 - check_last_release: up to date, include number # This imapsync is not up to date. ( local 2.314 < official 999.999 )( Use --noreleasecheck to avoid this release check. ) ok 1008 - check_last_release: not up to date ok 1009 - check_last_release: not up to date, include number ok 1010 - check_last_release: unknown ok 1011 - check_last_release: timeout ok 1012 - check_last_release: lalala # This imapsync is up to date. ( local 2.314 >= official 2.314 )( Use --noreleasecheck to avoid this release check. ) # Leaving tests_check_last_release() # Entering tests_loadavg() ok 1013 # skip Tests for darwin ok 1014 # skip Tests for darwin ok 1015 # skip Tests for darwin ok 1016 - loadavg: /noexist => undef ok 1017 - loadavg: no args ok 1018 - loadavg 0.39 0.30 0.37 1/602 6073 => [0.39, 0.30, 0.37, 1/602] ok 1019 # skip Tests for Windows # Leaving tests_loadavg() # Entering tests_cpu_number() ok 1020 - tests_cpu_number: is_integer ok 1021 - tests_cpu_number: 1 or more ok 1022 - tests_cpu_number: 1 => 1 ok 1023 - tests_cpu_number: -1 => 1 ok 1024 - tests_cpu_number: lalala => 1 ok 1025 - tests_cpu_number: 42 => 42 # cpu_number = 64 # hostname = arch-nspawn-1648141 ok 1026 # skip cpu_number on host != i005 (FreeBSD) ok 1027 # skip cpu_number on host != petite (Linux) ok 1028 # skip cpu_number on host != polarhome macosx (Darwin MacOS X 10.7.5 Lion) ok 1029 # skip cpu_number on host != pcHPDV7-HP (Windows 7, 64bits) ok 1030 # skip cpu_number on host != CUILLERE (Windows XP, 32bits) # Leaving tests_cpu_number() # Entering tests_load_and_delay() ok 1031 - load_and_delay: no args => undef ok 1032 - load_and_delay: not 3 args => undef ok 1033 - load_and_delay: division per 0 => undef ok 1034 - load_and_delay: max=1, one core, loads is 0 => ok ok 1035 - load_and_delay: max=1, one core, loads are all 0 => ok ok 1036 - load_and_delay: six arguments => ok ok 1037 - load_and_delay: max=1, two core, loads are all 1 => ok ok 1038 - load_and_delay: max=1, two core, load1m is 1 => ok ok 1039 - load_and_delay: max=1, one core, load1m=0 load5m=0 load15m=0 => 0 ok 1040 - load_and_delay: max=1, one core, load1m=0 load5m=0 load15m=2 => 0 ok 1041 - load_and_delay: max=1, one core, load1m=0 load5m=2 load15m=0 => 0 ok 1042 - load_and_delay: max=1, one core, load1m=0 load5m=2 load15m=2 => 0 ok 1043 - load_and_delay: max=1, one core, load1m=0 load5m=3 load15m=3 => 0 ok 1044 - load_and_delay: max=1, one core, load1m=0 load5m=3 load15m=3 => 0 ok 1045 - load_and_delay: max=1, one core, load1m=.2 load5m=0 load15m=0 => 0 ok 1046 - load_and_delay: max=1, one core, load1m=.2 load5m=0 load15m=.2 => 0 ok 1047 - load_and_delay: max=1, one core, load1m=2 load5m=2 load15m=0 => 0 ok 1048 - load_and_delay: max=1, one core, load1m=.2 load5m=.2 load15m=.2 => 0 ok 1049 - load_and_delay: max=1, one core, load1m=3 load5m=0 load15m=0 => 0 ok 1050 - load_and_delay: max=1, one core, load1m=3 load5m=.9 load15m=.9 => 0 ok 1051 - load_and_delay: max=1, one core, load1m=3 load5m=3 load15m=.9 => 5 ok 1052 - load_and_delay: max=1, one core, load1m=3 load5m=3 load15m=3 => 15 ok 1053 - load_and_delay: max=1, one core, load1m=.9 load5m=.9 load15m=.9 => 0 ok 1054 - load_and_delay: max=3, one core, loads are all 1 => ok ok 1055 - load_and_delay: max=3, two core, loads are all 2 => ok ok 1056 - load_and_delay: max=3, two core, load1m is 2 => ok ok 1057 - load_and_delay: max=3, one core, load1m=0 load5m=0 load15m=0 => 0 ok 1058 - load_and_delay: max=3, one core, load1m=0 load5m=0 load15m=2 => 0 ok 1059 - load_and_delay: max=3, one core, load1m=0 load5m=2 load15m=0 => 0 ok 1060 - load_and_delay: max=3, one core, load1m=0 load5m=2 load15m=2 => 0 ok 1061 - load_and_delay: max=3, one core, load1m=0 load5m=3 load15m=3 => 0 ok 1062 - load_and_delay: max=3, one core, load1m=0 load5m=3 load15m=3 => 0 ok 1063 - load_and_delay: max=3, one core, load1m=2 load5m=0 load15m=0 => 0 ok 1064 - load_and_delay: max=3, one core, load1m=2 load5m=0 load15m=2 => 0 ok 1065 - load_and_delay: max=3, one core, load1m=2 load5m=2 load15m=0 => 0 ok 1066 - load_and_delay: max=3, one core, load1m=2 load5m=2 load15m=2 => 0 ok 1067 - load_and_delay: max=3, one core, load1m=3 load5m=0 load15m=0 => 0 ok 1068 - load_and_delay: max=3, one core, load1m=3 load5m=2.9 load15m=2.9 => 0 ok 1069 - load_and_delay: max=3, one core, load1m=3 load5m=3 load15m=2.9 => 0 ok 1070 - load_and_delay: max=3, one core, load1m=3 load5m=3 load15m=3 => 0 ok 1071 - load_and_delay: max=3, one core, load1m=2.9 load5m=2.9 load15m=2.9 => 0 ok 1072 - load_and_delay: max=6, one core, load1m=6 load5m=0 load15m=0 => 1 ok 1073 - load_and_delay: max=6, one core, load1m=6 load5m=5.9 load15m=5.9 => 1 ok 1074 - load_and_delay: max=6, one core, load1m=6 load5m=6 load15m=5.9 => 5 ok 1075 - load_and_delay: max=6, one core, load1m=6 load5m=6 load15m=6 => 15 ok 1076 - load_and_delay: max=6, one core, load1m=5.9 load5m=5.9 load15m=5.9 => 1 # Leaving tests_load_and_delay() # Entering tests_sslcheck() ok 1077 - sslcheck: no sslcheck => undef ok 1078 - sslcheck: no host => 0 ok 1079 - sslcheck: tls1 => 0 Host1: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Probing imap ssl on host test1.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host1: sslcheck detected open ssl port 993 so turning ssl on (use --nossl1 --notls1 to turn off SSL and TLS wizardry) ok 1080 - sslcheck: test1.lamiral.info => 1 ok 1081 - sslcheck: test1.lamiral.info => ssl1 1 ok 1082 - sslcheck: sslcheck off => undef Host1: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Probing imap ssl on host test1.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host1: sslcheck detected open ssl port 993 so turning ssl on (use --nossl1 --notls1 to turn off SSL and TLS wizardry) Host2: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Probing imap ssl on host test2.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host2: sslcheck detected open ssl port 993 so turning ssl on (use --nossl2 --notls2 to turn off SSL and TLS wizardry) ok 1083 - sslcheck: test1.lamiral.info + test2.lamiral.info => 2 Host2: probing ssl on port 993 ( use --nosslcheck to avoid this ssl probe ) Probing imap ssl on host test2.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Host2: sslcheck detected open ssl port 993 so turning ssl on (use --nossl2 --notls2 to turn off SSL and TLS wizardry) ok 1084 - sslcheck: test1.lamiral.info + test2.lamiral.info + tls1 => 1 # Leaving tests_sslcheck() # Entering tests_not_long_imapsync_version_public() ok 1085 - not_long_imapsync_version_public: public release is a number # Leaving tests_not_long_imapsync_version_public() # Entering tests_reconnect_if_needed() ok 1086 - reconnect_if_needed: no args => undef ok 1087 - reconnect_if_needed: undef arg => undef ok 1088 - reconnect_if_needed: empty new Mail::IMAPClient => undef reconnecting to test.lamiral.info, last error: Connecting with IO::Socket::IP PeerAddr test.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. ok 1089 - reconnect_if_needed: test.lamiral.info => 1 ok 1090 - reconnect_if_needed: test.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1 # Leaving tests_reconnect_if_needed() # Entering tests_reconnect_12_if_needed() ok 1091 - reconnect_12_if_needed: test1&test2 .lamiral.info => 1 ok 1092 - reconnect_12_if_needed: test1.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1 ok 1093 - reconnect_12_if_needed: test2.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1 # Leaving tests_reconnect_12_if_needed() # Entering tests_sleep_if_needed() ok 1094 - sleep_if_needed: no args => undef ok 1095 - sleep_if_needed: arg undef => undef ok 1096 - sleep_if_needed: maxbytespersecond only => no sleep => 0 ok 1097 - sleep_if_needed: begin_transfer_time now => no sleep => 0 ok 1098 - sleep_if_needed: total_bytes_transferred == 0 => no sleep => 0 sleeping 0.20 s ok 1099 - sleep_if_needed: total_bytes_transferred == 2200 since 2s => sleep 0.2s ok 1100 - sleep_if_needed: total_bytes_transferred == 2200 since 2+2 == 4s => no sleep sleeping 0.10 s ok 1101 - sleep_if_needed: total_bytes_transferred == 4000 since 2s but maxsleep 0.1s => sleep 0.1s ok 1102 - sleep_if_needed: maxbytesafter == total_bytes_transferred => no sleep => 0 # Leaving tests_sleep_if_needed() # Entering tests_string_to_file() ok 1103 - string_to_file: no args => undef ok 1104 - string_to_file: one arg => undef string_to_file: failure writing to . with error: Is a directory ok 1105 - string_to_file: writing a directory => undef ok 1106 - string_to_file: mkpath W/tmp/tests/ ok 1107 - string_to_file: chmod 755 W/tmp/tests/ ok 1108 - string_to_file: W/tmp/tests/canbewritten with lalala ok 1109 - string_to_file: W/tmp/tests/empty with empty string string_to_file: directory of /cantouch is not writable ok 1110 - string_to_file: /cantouch denied => undef # Leaving tests_string_to_file() # Entering tests_file_to_string() ok 1111 - file_to_string: no args => undef ok 1112 - file_to_string: /noexist => undef ok 1113 - file_to_string: reading a directory => undef ok 1114 - file_to_string: reading myself ok 1115 - file_to_string: mkpath W/tmp/tests/ ok 1116 - file_to_string: string_to_file filling W/tmp/tests/canbewritten with lilili ok 1117 - file_to_string: reading W/tmp/tests/canbewritten is lilili ok 1118 - file_to_string: string_to_file filling W/tmp/tests/empty with empty string ok 1119 - file_to_string: reading W/tmp/tests/empty is empty # Leaving tests_file_to_string() # Entering tests_under_cgi_context() ok 1120 - under_cgi_context: SERVER_SOFTWARE unset => not in cgi context ok 1121 - under_cgi_context: SERVER_SOFTWARE set => in cgi context ok 1122 - under_cgi_context: SERVER_SOFTWARE unset => not in cgi context ok 1123 - under_cgi_context: SERVER_SOFTWARE set => in cgi context # Leaving tests_under_cgi_context() # Entering tests_umask() ok 1124 - umask: umask is umask ok 1125 - umask: umask is umask again + save it: 18 ok 1126 - umask: umask 0000 ok 1127 - umask: umask is now 0000 ok 1128 - umask: umask 0777 call, previous 0000 ok 1129 - umask: umask is now 0777 ok 1130 - umask: umask 18 restore inital value, previous 0777 ok 1131 - umask: umask 18 restore inital value, previous defined ok 1132 - umask: umask is umask restored # Leaving tests_umask() # Entering tests_umask_str() ok 1133 - umask_str: no parameters => idopotent ok 1134 - umask_str: no parameters => idopotent + save ok 1135 - umask_str: q{ } => 0000 ok 1136 - umask_str: q{} => 0000 ok 1137 - umask_str: 0000 => 0000 ok 1138 - umask_str: 0 => 0000 ok 1139 - umask_str: 0200 => 0200 ok 1140 - umask_str: 0400 => 0400 ok 1141 - umask_str: 0600 => 0600 ok 1142 - umask_str: 0100 => 0100 ok 1143 - umask_str: 0001 => 0001 ok 1144 - umask_str: 0777 => 0777 ok 1145 - umask_str: 00777 => 0777 ok 1146 - umask_str: 777 => 0777 ok 1147 - umask_str: UMASK_PARANO 0077 => 0077 ok 1148 - umask_str: restore with str ok 1149 - umask_str: umask is restored, controlled by direct umask ok 1150 - umask_str: umask is restored by direct umask ok 1151 - umask_str: umask initial controlled by direct umask # Leaving tests_umask_str() # Entering tests_set_umask() ok 1152 - set_umask: set to 0077 # Leaving tests_set_umask() # Entering tests_createhashfileifneeded() ok 1153 - createhashfileifneeded: no parameters => undef # Leaving tests_createhashfileifneeded() # Entering tests_slash_to_underscore() ok 1154 - slash_to_underscore: no parameters => undef ok 1155 - slash_to_underscore: / => _ ok 1156 - slash_to_underscore: /abc/def/ => _abc_def_ # Leaving tests_slash_to_underscore() # Entering tests_testunit() testsunit warning: no argument given ok 1157 - testsunit: no parameters => undef testsunit warning: argument is empty ok 1158 - testsunit: an undef parameter => undef testsunit warning: argument is empty ok 1159 - testsunit: an empty parameter => undef testsunit warning: function idonotexist does not exist ok 1160 - testsunit: a do not exist function as parameter => undef # Entering tests_true() ok 1161 - true: 1 is 1 ok 1162 - true: A is A # Leaving tests_true() ok 1163 - testsunit: tests_true => undef # Leaving tests_testunit() # Entering tests_count_zeros() ok 1164 - count_0s: no parameters => 0 ok 1165 - count_0s: 0 => 1 ok 1166 - count_0s: 1 => 0 ok 1167 - count_0s: 1, 0, 1 => 1 ok 1168 - count_0s: 1, 0, 1, 0 => 2 # Leaving tests_count_zeros() # Entering tests_report_failures() ok 1169 - report_failures: no parameters => undef ok 1170 - report_failures: "first" failed => nb 1 - first ok 1171 - report_failures: "first" success => ok 1172 - report_failures: "second" failed => nb 2 - second ok 1173 - report_failures: both failed => nb 1 - first nb 2 - second # Leaving tests_report_failures() # Entering tests_min() ok 1174 - min 0 => 0 ok 1175 - min 1 => 1 ok 1176 - min -1 => -1 ok 1177 - min no arg => undef ok 1178 - min 1 100 => 1 ok 1179 - min 100 1 => 1 ok 1180 - min 100 42 1 => 1 ok 1181 - min 100 42 1 => 1 ok 1182 - min 100 42 1 => 1 ok 1183 - min 100 haha 1 => 1 ok 1184 - min -1 1 => -1 ok 1185 - min undef 1 => 1 ok 1186 - min undef 0 => 0 ok 1187 - min undef 1 => 1 ok 1188 - min undef, 2, 0, 1 => 0 ok 1189 - min haha => haha ok 1190 - min aa bb => aa ok 1191 - min bb aa bb => aa ok 1192 - min bb aa bb => aa # Leaving tests_min() # Entering tests_usage() ok 1193 - usage: contains Name: Name: imapsync - Email tool for syncing two IMAP accounts, one way, and without duplicates. Version: This documentation refers to Imapsync $Revision: 2.314 $ Usage: To synchronize the source imap account "test1" on server "test1.lamiral.info" with password "secret1" to the destination imap account "test2" on server "test2.lamiral.info" with password "secret2" do: imapsync \ --host1 test1.lamiral.info --user1 test1 --password1 secret1 \ --host2 test2.lamiral.info --user2 test2 --password2 secret2 Options: usage: imapsync [options] The standard options are the six values forming the credentials. Three values on each side are needed to login to the IMAP servers. These six values are a hostname, a username, and a password, twice. Here are the conventions used in the following descriptions of the options: str means a string int means an integer number flo means a float number reg means a regular expression cmd means a command --dry : Makes imapsync do nothing for real; it just prints what would be done without --dry. Options/credentials: --host1 str : Source or "from" imap server. It can be a hostname or an IP address. --port1 int : Port to connect on host1. Optional since the default port is the well-known port imap/143 or imaps/993. Add --ssl1 if you want an SSL/TLS connection on host1. --user1 str : User to login on host1. --password1 str : Password of user1. --host2 str : "destination" imap server. --port2 int : Port to connect on host2. Optional since the default port is the well-known port imap/143 or imaps/993. Add --ssl2 if you want an SSL/TLS connection on host2. --user2 str : User to login on host2. --password2 str : Password of user2. --showpasswords : Shows passwords on output instead of "MASKED". Useful to restart a complete run by just reading the command line used in the log, or to debug passwords. It's not a secure practice at all! --passfile1 str : Password file for the user1. It must contain the password on the first line. This option avoids showing the password on the command line like --password1 does. --passfile2 str : Password file for the user2. You can also pass the passwords in the environment variables IMAPSYNC_PASSWORD1 and IMAPSYNC_PASSWORD2. If you don't pass the user1 password via --password1 nor --passfile1 nor $IMAPSYNC_PASSWORD1 then imapsync will prompt you to enter the password on the terminal. Same thing for the user2 password. Options/encryption: --nossl1 : Do not use an IMAP over SSL/TLS connection on host1. --ssl1 : Use an IMAP over SSL/TLS connection on host1. It is imaps. The default port is 993. Used by default, if possible. --nossl2 : Do not use an IMAP over SSL/TLS connection on host2. --ssl2 : Use an IMAP over SSL/TLS connection on host2. Same as --ssl1 but for host2. --notls1 : Do not try a "STARTTLS" SSL/TLS connection on host1. --tls1 : Use a "STARTTLS" SSL/TLS encryption on host1. The default port is 143. Used by default, after imaps probing failed, and if possible. --notls2 : Do not use a "STARTTLS" SSL/TLS connection on host2. --tls2 : Use a STARTTLS SSL/TLS encryption on host2. Same as --tls1 but for host2. --debugssl int : SSL/TLS debug mode from 0 to 4. --sslargs1 str : Pass any SSL/TLS parameter for the host1 connection. Example: --sslargs1 SSL_verify_mode=1 --sslargs1 SSL_version=TLSv1_3 See all possibilities in the new() method of IO::Socket::SSL http://search.cpan.org/perldoc?IO::Socket::SSL#Description_Of_Methods --sslargs2 str : Pass any SSL/TLS parameter for the host2 connection. Same as --sslargs1 but for host2. Options/authentication: --authmech1 str : Auth mechanism to use with host1: PLAIN, LOGIN, CRAM-MD5 etc. Use UPPERCASE. --authmech2 str : Auth mechanism to use with host2. See --authmech1 --authuser1 str : User to auth with on host1 (admin user). Avoid using --authmech1 SOMETHING with --authuser1. --authuser2 str : User to auth with on host2 (admin user). --proxyauth1 : Use proxyauth on host1. Requires --authuser1. Required by Sun/iPlanet/Netscape IMAP servers to be able to use an administrative user. --proxyauth2 : Use proxyauth on host2. Requires --authuser2. --authmd51 : Use MD5 authentication for host1. --authmd52 : Use MD5 authentication for host2. --domain1 str : Domain on host1 (NTLM authentication). --domain2 str : Domain on host2 (NTLM authentication). --oauthaccesstoken1 str : The access token to authenticate with OAUTH2 on host1. It will be combined with the --user1 value to form the string to pass with XOAUTH2 authentication. Instead of the access token itself, the value can be the file containing the access token on the first line. If the value is a file, imapsync reads its first line and takes this line as the access token. The advantage of the file is that if the access token changes then imapsync can read it again when it needs to reconnect during a run. --oauthaccesstoken2 str : same thing as --oauthaccesstoken1 but for host2. --oauthdirect1 str : The direct string to pass with XOAUTH2 authentication for host1. --oauthdirect2 str : same thing as --oauthdirect1 but for host2. --oauthrefreshcmd1 str : An optional command to call, to refresh the host1 token before any oauth authentication. It can have arguments like "cmd arg1 arg2 ..." --oauthrefreshcmd2 str : same thing as --oauthrefreshcmd1 but for host2. Options/folders: --folder str : Sync this folder. --folder str : and this one, etc. --folderrec str : Sync this folder and all its sub-folders. --folderrec str : and this one, etc. --folderfirst str : Sync this folder first. Ex. --folderfirst "INBOX" --folderfirst str : then this one, etc. --folderlast str : Sync this folder last. --folderlast "[Gmail]/All Mail" --folderlast str : then this one, etc. --nomixfolders : Do not merge folders when host1 is case-sensitive while host2 is not (like Exchange). Only the first similar folder is synced. Example: with folders "Sent", "SENT" and "sent" on host1, only "Sent" will be synced to host2. --skipemptyfolders : Empty host1 folders are not created on host2. --include reg : Sync folders matching this regular expression --include reg : or this one, etc. If both --include --exclude options are used, then include is done before. --exclude reg : Skips folders matching this regular expression Several folders to avoid: --exclude 'fold1|fold2|f3' skips fold1, fold2 and f3. --exclude reg : or this one, etc. --automap : guesses folder mapping, for folders well known as "Sent", "Junk", "Drafts", "All", "Archive", "Flagged". --f1f2 str1=str2 : Force folder str1 to be synced to str2, --f1f2 overrides --automap and --regextrans2. Use several --f1f2 options to map several folders. Option --f1f2 is a one-to-one-only folder mapping, and str1 and str2 must be full path folder names. Use --regextrans2 for more general mappings. --subfolder2 str : Syncs the whole host1 folders hierarchy under the host2 folder named str. It does it internally by adding three --regextrans2 options before all others. Add --debug to see what's going on. --subfolder1 str : Syncs the host1 folders hierarchy which is under folder str to the root hierarchy of host2. It's the counterpart of a sync done by --subfolder2 when doing it in the reverse order. Backup/Restore scenario: Use --subfolder2 str for a backup to the folder str on host2. Then use --subfolder1 str for restoring from the folder str, after inverting host1/host2 user1/user2 values. --subscribed : Transfers subscribed folders. --subscribe : Subscribe to the folders transferred on the host2 that are subscribed on host1. On by default. --subscribeall : Subscribe to the folders transferred on the host2 even if they are not subscribed on host1. --prefix1 str : Remove prefix str to all destination folders, usually "INBOX." or "INBOX/" or an empty string "". imapsync guesses the prefix if the host1 imap server does not have NAMESPACE capability. So this option should not be used most of the time. --prefix2 str : Add prefix to all host2 folders. See --prefix1 --sep1 str : Host1 separator. This option should not be used most of the time. Imapsync gets the separator from the server itself, by using NAMESPACE, or it tries to guess it from the folder listing (it counts characters / . \\ \ in folder names and choose the more frequent, or finally / if nothing is found. --sep2 str : Host2 separator. See --sep1 --regextrans2 reg : Apply the whole regex to each destination folder. --regextrans2 reg : and this one. etc. When you play with the --regextrans2 option, first add also the safe options --dry --justfolders Then, when happy, remove --dry for a run, then remove --justfolders for the next ones. Have in mind that --regextrans2 is applied after the automatic prefix and separator inversion. For examples see: https://imapsync.lamiral.info/FAQ.d/FAQ.Folders_Mapping.txt Options/folders sizes: --nofoldersizes : Do not calculate the size of each folder at the beginning of the sync. The default behaviour calculates them. --nofoldersizesatend: Do not calculate the size of each folder at the end of the sync. The default behaviour calculates them. --justfoldersizes : Exit after having printed the initial folder sizes. Options/tmp: --tmpdir str : Where to store temporary files and subdirectories. Will be created if it doesn't exist. Default is $HOME/tmp. It used to be /tmp on Unix, before imapsync 2.250. But /tmp is not safe, see https://github.com/imapsync/imapsync/issues/399 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-34204 --pidfile str : The file where the imapsync pid is written. It can be specified with the form dirname/filename, ie, a complete path. The default name is imapsync.pid in tmpdir. --pidfilelocking : Abort if pidfile already exists. Useful to avoid concurrent transfers on the same mailbox. Options/log: --nolog : Turn off logging on file. By default in Docker context. --log : Turn on logging on file. By default in normal and CGI contextes. --logfile str : Change the default log filename (can be dirname/filename). --logdir str : Change the default log directory. Default is LOG_imapsync/ The default logfile name is, for example: LOG_imapsync/2019_12_22_23_57_59_532_user1_user2.txt where: 2019_12_22_23_57_59_532 is nearly the date of the start in the format YYYY_MM_DD_HH_MM_SS_mmm corresponding to the meaning year_month_day_hour_minute_second_millisecond and user1 user2 are the --user1 --user2 values. Options/messages: --skipmess reg : Skips messages matching the regex. Example: 'm/[\x80-\xff]/' # to avoid 8bits messages. --skipmess is applied before --regexmess --skipmess reg : or this one, etc. --skipcrossduplicates : Avoid copying messages that are already copied in another folder, good from Gmail to XYZ when XYZ is not also Gmail. Activated with --gmail1 unless --noskipcrossduplicates --debugcrossduplicates : Prints which messages (UIDs) are skipped with --skipcrossduplicates and in what other folders they are. --pipemess cmd : Apply this cmd command to each message content before the copy. --pipemess cmd : and this one, etc. With several --pipemess, the output of each cmd command (STDOUT) is given to the input (STDIN) of the next command. For example, --pipemess cmd1 --pipemess cmd2 --pipemess cmd3 is like a Unix pipe: "cat message | cmd1 | cmd2 | cmd3" --disarmreadreceipts : Disarms read receipts (host2 Exchange issue) --regexmess reg : Apply the whole regex to each message before transfer. Example: 's/\000/ /g' # to replace null characters by spaces. --regexmess reg : and this one, etc. --truncmess int : truncates messages when their size exceeds the int value, specified in bytes. Good to sync too big messages or to "suppress" attachments. Have in mind that this way, messages become uncoherent somehow. --nodry1 : makes imapsync fetching messages from host1, even when --dry is on. --dry --nodry1 is useful when debugging transformation options like --pipemess or --regexmess Options/labels: Gmail presents labels as folders in imap. Imapsync can accelerate the sync by syncing X-GM-LABELS; it will avoid to transferring messages when they are already on host2 in another folder. --synclabels : Syncs also Gmail labels when a message is copied to host2. Activated by default with --gmail1 --gmail2 unless --nosynclabels is added. --resynclabels : Resyncs Gmail labels when a message is already on host2. Activated by default with --gmail1 --gmail2 unless --noresynclabels is added. For Gmail syncs, see also: https://imapsync.lamiral.info/FAQ.d/FAQ.Gmail.txt Options/flags: If you encounter flag problems, see also: https://imapsync.lamiral.info/FAQ.d/FAQ.Flags.txt --regexflag reg : Apply the whole regex to each flags list. Example: 's/"Junk"//g' # to remove "Junk" flag. --regexflag reg : then this one, etc. --resyncflags : Resync flags for already transferred messages. On by default. --noresyncflags : Do not resync flags for already transferred messages. It may be useful when a user has already started to play with its host2 account. --filterbuggyflags : Filter flags known to be buggy and generators of errors "BAD Invalid system flag" or "NO APPEND Invalid flag list". Options/deletions: --delete1 : Deletes messages on host1 server after a successful transfer. Option --delete1 has the following behavior: It marks messages with the IMAP flag \Deleted, then the messages are deleted with an EXPUNGE IMAP command. If expunging after each message slows down the sync too much, then use --noexpungeaftereach to speed up, expunging will then be done only twice per folder, one at the beginning and one at the end of a folder sync. --expunge1 : Expunge messages on host1 just before syncing a folder. Expunge is done per folder. Expunge aims to really delete messages marked \Deleted. An expunge is also done after each message is copied if option --delete1 is set (unless --noexpungeaftereach). --noexpunge1 : Do not expunge messages on host1. --delete1emptyfolders : Deletes empty folders on host1, INBOX excepted. Useful with --delete1 since what remains on host1 is only what failed to be synced. --delete2 : Delete messages in the host2 account that are not in the host1 account. Useful for backup or pre-sync. --delete2 implies --uidexpunge2 --delete2duplicates : Deletes messages in host2 that are duplicates in host2. Works only without --useuid since duplicates are detected with a header part of each message. NB: --delete2duplicates is far less violent than --delete2 since it removes only duplicates. --delete2folders : Delete folders in host2 that are not in host1. Only the selected folders are considered; all folders by default but not all with --exclude --include --folder etc. For safety, first try it like this, it is safe: --delete2folders --dry --justfolders --nofoldersizes and see what folders will be deleted. --delete2foldersonly reg : Delete only folders matching the regex reg. Example: --delete2foldersonly "/^Junk$|^INBOX.Junk$/" This option activates --delete2folders --delete2foldersbutnot reg : Do not delete folders matching the regex rex. Example: --delete2foldersbutnot "/Tasks$|Contacts$|Foo$/" This option activates --delete2folders --noexpunge2 : Do not expunge messages on host2. --nouidexpunge2 : Do not uidexpunge messages on the host2 account that are not on the host1 account. Options/dates: If you encounter problems with dates, see also: https://imapsync.lamiral.info/FAQ.d/FAQ.Dates.txt --syncinternaldates : Sets the internal dates on host2 as the same as host1. Turned on by default. The internal date is the date when a message arrives on a host (Unix mtime usually). --idatefromheader : Sets the internal dates on host2 to the same as the ones in "Date:" headers. Options/message selection: --maxsize int : Skip messages larger (or equal) than int bytes --minsize int : Skip messages smaller (or equal) than int bytes --maxage int : Skip messages older than int days. The final stats (skipped) don't count the older messages. See also --minage --minage int : Skip messages newer than int days. The final stats (skipped) don't count newer messages What you can do (+ zone are the messages selected): past|----maxage+++++++++++++++>now past|+++++++++++++++minage---->now past|----maxage+++++minage---->now (intersection) past|++++minage-----maxage++++>now (union, magic!) --search str : Selects only messages returned by this IMAP SEARCH command. Applied on both sides. For a complete set of what can be searched, see https://imapsync.lamiral.info/FAQ.d/FAQ.Messages_Selection.txt --search1 str : Same as --search but for selecting host1 messages only. --search2 str : Same as --search but for selecting host2 messages only. So --search CRIT equals --search1 CRIT --search2 CRIT --noabletosearch : Makes --minage and --maxage options use the internal dates given by a FETCH imap command instead of the "Date:" header. The internal date is the arrival date in the mailbox. --noabletosearch equals --noabletosearch1 --noabletosearch2 --noabletosearch1 : Like --noabletosearch but for host1 only. --noabletosearch2 : Like --noabletosearch but for host2 only. --maxlinelength int : skip messages with a line length longer than int bytes. RFC 2822 says it must be no more than 1000 bytes, but real-life servers and email clients do much more. --useheader str : Use this header to compare messages on both sides. Example: "Message-Id" or "Received" or "Date". --useheader str and this one, etc. --syncduplicates : Sync also duplicates. Off by default. --usecache : Use cache to speed up next syncs. Off by default. --nousecache : Do not use cache. Caveat: --useuid --nousecache creates duplicates on multiple runs. --useuid : Use UIDs instead of headers as a criterion to recognize messages. Option --usecache is then implied unless --nousecache is used. Options/miscellaneous: --syncacls : Synchronizes ACLs (Access Control Lists). ACLs in IMAP are not standardized; be careful, since one ACL code on one side may signify something else on the other side. --nosyncacls : Does not synchronize ACLs. This is the default. --addheader : When a message has no headers to be identified, --addheader adds a "Message-Id" header, like "Message-Id: 12345@imapsync", where 12345 is the imap UID of the message on the host1 folder. Useful to sync folders "Sent" or "Draft". Options/debugging: --debug : Show debug notes. --debugfolders : Show debug notes for the folders part only. --debugcontent : Show content of the messages transferred. Huge output. --debugflags : Show debug notes for flags. --debugimap1 : Show IMAP notes for host1. Very verbose. --debugimap2 : Show IMAP notes for host2. Very verbose. --debugimap : Show IMAP notes for host1 and host2. Twice very verbose. --debugmemory : Show the memory consumption after each copy. --errorsmax int : Exit when int number of errors is reached. The default is 50 errors to quit. --tests : Run local non-regression tests. Exit code 0 means everything is ok. --testslive : Run a live test with test1.lamiral.info imap server. Useful to check the basics. It needs an internet connection. --testslive6 : Run a live test with tests1ipv6.lamiral.info imap server. Useful to check the IPv6 connectivity. Needs internet. Options/specific: --gmail1 : sets --host1 to Gmail and other options. See FAQ.Gmail.txt --gmail2 : sets --host2 to Gmail and other options. See FAQ.Gmail.txt --office1 : sets --host1 to Office365 and other options. See FAQ.Office365.txt --office2 : sets --host2 to Office365 and other options. See FAQ.Office365.txt --exchange1 : sets options for Exchange. See FAQ.Exchange.txt --exchange2 : sets options for Exchange. See FAQ.Exchange.txt --domino1 : sets options for Domino. See FAQ.Domino.txt --domino2 : sets options for Domino. See FAQ.Domino.txt Options/behavior: --timeout1 flo : Connection timeout in seconds for host1. Default is 120 and 0 means no timeout at all. --timeout2 flo : Connection timeout in seconds for host2. Default is 120 and 0 means no timeout at all. Caveat emptor. Under CGI context, you may encounter a timeout from the web server, killing imapsync and the imap connections. See the document INSTALL.OnlineUI.txt and search for "Timeout" for how to deal with this issue. --keepalive1 : https://metacpan.org/pod/Mail::IMAPClient#Keepalive Some firewalls and network gears like to timeout connections prematurely if the connection sits idle. This option enables SO_KEEPALIVE on the host1 socket. --keepalive1 is on by default since imapsync release 2.169 Use --nokeepalive1 to disable it. --keepalive2 : Same as --keepalive2 but for host2. Use --nokeepalive2 to disable it. --maxmessagespersecond flo : limits the average number of messages transferred per second. --maxbytespersecond int : limits the average transfer rate per second. --maxbytesafter int : starts --maxbytespersecond limitation only after --maxbytesafter amount of data transferred. --maxsleep flo : do not sleep more than int seconds. On by default, 2 seconds max, like --maxsleep 2 --abort : terminates a previous call still running. It uses the pidfile to know what process to abort. --exitwhenover int : Stop syncing and exits when int total bytes transferred is reached. --version : Print only the software version. --noreleasecheck : Do not check for any new imapsync release. --releasecheck : Check for new imapsync release. It is an HTTP GET request to http://imapsync.lamiral.info/prj/imapsync/VERSION --emailreport1 : Put the email final report in host1 INBOX --emailreport2 : Put the email final report in host2 INBOX --noemailreport1 : Do not put the email final report in host1 INBOX --noemailreport2 : Do not put the email final report in host2 INBOX --noid : Do not send/receive the IMAP "ID" command to the imap servers. --justconnect : Just connect to both servers and print useful information. Need only --host1 and --host2 options. Obsolete since "imapsync --host1 imaphost" alone implies --justconnect --justlogin : Just login to both host1 and host2 with users credentials, then exit. --justfolders : Do only things about folders (ignore messages). --help : print this help. Example: to synchronize the IMAP account "test1" on "test1.lamiral.info" to the imap account "test2" on "test2.lamiral.info" with the test1 account password being "secret1" and the test2 account password being "secret2" imapsync \ --host1 test1.lamiral.info --user1 test1 --password1 secret1 \ --host2 test2.lamiral.info --user2 test2 --password2 secret2 Here is imapsync 2.314 imapsync on host arch-nspawn-1648141, a linux system with 32.7/124.9 free GiB of RAM, 0.16% used by processes. with Perl 5.42.0 and Mail::IMAPClient 3.43 $Id: imapsync,v 2.314 2025/09/23 16:55:17 gilles Exp gilles $ This imapsync is up to date. ( local 2.314 >= official 2.314 )( Use --noreleasecheck to avoid this release check. ) Homepage: https://imapsync.lamiral.info/ ok 1194 - usage: contains Version: ok 1195 - usage: contains Usage: ok 1196 - usage: contains imapsync ok 1197 - usage: no args => undef # Leaving tests_usage() # Entering tests_version_from_rcs() ok 1198 - version_from_rcs: no args => undef ok 1199 - version_from_rcs: imapsync,v 1.831 2017/08/27 => 1.831 ok 1200 - version_from_rcs: 1.831 => UNKNOWN # Leaving tests_version_from_rcs() # Entering tests_backslash_caret() ok 1201 - backslash_caret: lalala => lalala ok 1202 - backslash_caret: lalala => lalala 2nd ok 1203 - backslash_caret: \ => ^ ok 1204 - backslash_caret: \ => ^ ok 1205 - backslash_caret: \lalala => \lalala ok 1206 - backslash_caret: \lal\ala => \lal\ala ok 1207 - backslash_caret: \lalala => \lalala 2nd ok 1208 - backslash_caret: lalala\\n => lalala^\n ok 1209 - backslash_caret: lalala\\nlalala\\n => lalala^\nlalala^\n ok 1210 - backslash_caret: lal\ala\\nlalala\\n => lal\ala^\nlalala^\n # Leaving tests_backslash_caret() # Entering tests_write_pidfile() ok 1211 - write_pidfile: no args => 1 PID file is unset ( to set it, use --pidfile filepath ; to avoid it use --pidfile "" ) ok 1212 - write_pidfile: no pidfile => 1 PID file is /no/no/no.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) Could not open /no/no/no.pid for writing. Check permissions or disk space: No such file or directory ok 1213 - write_pidfile: no permission for /no/no/no.pid, no lock => undef PID file is /no/no/no.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) Could not open /no/no/no.pid for writing. Check permissions or disk space: No such file or directory ok 1214 - write_pidfile: no permission for /no/no/no.pid + lock => undef ok 1215 - write_pidfile: mkpath W/tmp/tests/ ok 1216 - write_pidfile: lock prepa PID file is W/tmp/tests/test.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) W/tmp/tests/test.pid already exists, overwriting it ( use --pidfilelocking to avoid concurrent runs ) Writing my PID 1427 in W/tmp/tests/test.pid ok 1217 - write_pidfile: W/tmp/tests/test.pid + no lock => 1 ok 1218 - write_pidfile: W/tmp/tests/test.pid contains 1427 ok 1219 - write_pidfile: W/tmp/tests/test.pid contains no second line PID file is W/tmp/tests/test.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) W/tmp/tests/test.pid already exists, another imapsync may be curently running. Aborting imapsync. ok 1220 - write_pidfile: W/tmp/tests/test.pid + lock => undef PID file is W/tmp/tests/test.pid ( to change it, use --pidfile filepath ; to avoid it use --pidfile "" ) W/tmp/tests/test.pid already exists, overwriting it ( use --pidfilelocking to avoid concurrent runs ) Writing my PID 1427 in W/tmp/tests/test.pid Writing also my logfile name in W/tmp/tests/test.pid : rrrr.txt ok 1221 - write_pidfile: W/tmp/tests/test.pid + no lock + logfile => 1 ok 1222 - write_pidfile: + no lock + logfile W/tmp/tests/test.pid contains 1427 ok 1223 - write_pidfile: + no lock + logfile W/tmp/tests/test.pid contains rrrr.txt # Leaving tests_write_pidfile() # Entering tests_remove_pidfile_not_running() ok 1224 - remove_pidfile_not_running: mkpath W/tmp/tests/ No variable pid_filename ok 1225 - remove_pidfile_not_running: no args => undef File ./W is not a file ok 1226 - remove_pidfile_not_running: a dir => undef File noexists does not exist ok 1227 - remove_pidfile_not_running: noexists => undef ok 1228 - remove_pidfile_not_running: prepa empty W/tmp/tests/empty.pid In remove_pidfile_not_running: pid in W/tmp/tests/empty.pid is not a pid number ok 1229 - remove_pidfile_not_running: W/tmp/tests/empty.pid => undef ok 1230 - remove_pidfile_not_running: prepa W/tmp/tests/lalala.pid In remove_pidfile_not_running: pid lalala in W/tmp/tests/lalala.pid is not a pid number ok 1231 - remove_pidfile_not_running: W/tmp/tests/lalala.pid => undef ok 1232 - remove_pidfile_not_running: prepa W/tmp/tests/notrunning.pid Removing old W/tmp/tests/notrunning.pid since its PID 55555 is not running anymore (oo-killed?) Removed old W/tmp/tests/notrunning.pid ok 1233 - remove_pidfile_not_running: W/tmp/tests/notrunning.pid => 1 ok 1234 - remove_pidfile_not_running: prepa W/tmp/tests/running.pid Another imapsync process 1427 is running as says pidfile W/tmp/tests/running.pid ok 1235 - remove_pidfile_not_running: W/tmp/tests/running.pid => undef # Leaving tests_remove_pidfile_not_running() # Entering tests_match_a_pid_number() ok 1236 - match_a_pid_number: no args => undef ok 1237 - match_a_pid_number: "" => undef ok 1238 - match_a_pid_number: lalala => undef ok 1239 - match_a_pid_number: 1 => 1 ok 1240 - match_a_pid_number: 123 => 1 ok 1241 - match_a_pid_number: -123 => 1 ok 1242 - match_a_pid_number: "123" => 1 ok 1243 - match_a_pid_number: "-123" => 1 ok 1244 - match_a_pid_number: a123 => undef ok 1245 - match_a_pid_number: -a123 => undef ok 1246 - match_a_pid_number: 99999 => 1 ok 1247 - match_a_pid_number: -99999 => 1 ok 1248 - match_a_pid_number: 0 => undef ok 1249 - match_a_pid_number: 100000 => 1 ok 1250 - match_a_pid_number: 123456 => 1 ok 1251 - match_a_pid_number: "-0" => undef ok 1252 - match_a_pid_number: -100000 => 1 ok 1253 - match_a_pid_number: -123456 => 1 ok 1254 - match_a_pid_number: 2**22 => 1 ok 1255 - match_a_pid_number: 2**22 + 1 => undef ok 1256 - match_a_pid_number: 2**22 + 1 = 4194305 => undef # Leaving tests_match_a_pid_number() # Entering tests_prefix_seperator_invertion() ok 1257 - prefix_seperator_invertion: no args => undef ok 1258 - prefix_seperator_invertion: empty string => empty string ok 1259 - prefix_seperator_invertion: lalala => lalala ok 1260 - prefix_seperator_invertion: lal/ala => lal/ala ok 1261 - prefix_seperator_invertion: lal.ala => lal.ala ok 1262 - prefix_seperator_invertion: //// => //// ok 1263 - prefix_seperator_invertion: ..... => ..... ok 1264 - prefix_seperator_invertion: $mysync empty string => empty string ok 1265 - prefix_seperator_invertion: $mysync lalala => lalala ok 1266 - prefix_seperator_invertion: $mysync lal/ala => lal/ala ok 1267 - prefix_seperator_invertion: $mysync lal.ala => lal.ala ok 1268 - prefix_seperator_invertion: $mysync //// => //// ok 1269 - prefix_seperator_invertion: $mysync ..... => ..... ok 1270 - prefix_seperator_invertion: PPPQQQst empty string => QQQ ok 1271 - prefix_seperator_invertion: PPPQQQst lalala => QQQlalala ok 1272 - prefix_seperator_invertion: PPPQQQst lal/ala => QQQlal/ala ok 1273 - prefix_seperator_invertion: PPPQQQst lal.ala => QQQlal.ala ok 1274 - prefix_seperator_invertion: PPPQQQst //// => QQQ//// ok 1275 - prefix_seperator_invertion: PPPQQQst ..... => QQQ..... ok 1276 - prefix_seperator_invertion: PPPQQQst PPPPlalala => QQQPlalala ok 1277 - prefix_seperator_invertion: PPPQQQst PPP => QQQ ok 1278 - prefix_seperator_invertion: PPPQQQst sss => QQQttt ok 1279 - prefix_seperator_invertion: PPPQQQst s => QQQt ok 1280 - prefix_seperator_invertion: PPPQQQst PPPsAAAsBBB => QQQtAAAtBBB # Leaving tests_prefix_seperator_invertion() # Entering tests_is_integer() ok 1281 - is_integer: no args => undef ok 1282 - is_integer: 1 => yes ok 1283 - is_integer: 42 => yes ok 1284 - is_integer: "$NUMBER_42" => yes ok 1285 - is_integer: "42" => yes ok 1286 - is_integer: 104_857_600 => yes ok 1287 - is_integer: "$NUMBER_104_857_600" => yes ok 1288 - is_integer: 104857600 => yes ok 1289 - is_integer: blabla => no ok 1290 - is_integer: empty string => no # Leaving tests_is_integer() # Entering tests_integer_or_1() ok 1291 - integer_or_1: no args => 1 ok 1292 - integer_or_1: undef => 1 ok 1293 - integer_or_1: 10 => 10 ok 1294 - integer_or_1: empty string => 1 ok 1295 - integer_or_1: lalala => 1 # Leaving tests_integer_or_1() # Entering tests_is_number() ok 1296 - is_number: no args => undef ok 1297 - is_number: undef => undef ok 1298 - is_number: 1 => 1 ok 1299 - is_number: 1.1 => 1 ok 1300 - is_number: 0 => 1 ok 1301 - is_number: -1 => 1 ok 1302 - is_number: 1.1.1 => no ok 1303 - is_number: q{} => no ok 1304 - is_number: haha => no ok 1305 - is_number: 0haha => no ok 1306 - is_number: 2haha => no ok 1307 - is_number: haha2 => no # Leaving tests_is_number() # Entering tests_sig_install() ok 1308 - sig_install: no args => undef ok 1309 - sig_install: arg undef => undef ok 1310 - sig_install: empty hash => undef In sig_install with sub tototo and signal USR1 Installing signal USR1 to call sub tototo ok 1311 - sig_install: USR1 tototo In subsignal with USR1 and tototo In tototo with USR1 ok 1312 - sig_install: kill USR1 myself 1 ok 1313 - sig_install: tototo call nb 1 In sig_install with sub tototo and signal USR2 Installing signal USR2 to call sub tototo ok 1314 - sig_install: USR2 tototo In subsignal with USR2 and tototo In tototo with USR2 ok 1315 - sig_install: kill USR2 myself 1 ok 1316 - sig_install: tototo call nb 2 In subsignal with USR1 and tototo In tototo with USR1 ok 1317 - sig_install: kill USR1 myself 2 ok 1318 - sig_install: tototo call nb 3 ok 1319 - sig_install: kill USR1 myself 3 ok 1320 - sig_install: tototo call still nb 3 In sig_install with sub tototo and signal USR1 USR2 Installing signal USR1 to call sub tototo Installing signal USR2 to call sub tototo ok 1321 - sig_install: USR1 USR2 tototo In subsignal with USR1 and tototo In tototo with USR1 ok 1322 - sig_install: kill USR1 myself 4 ok 1323 - sig_install: tototo call now nb 4 In subsignal with USR2 and tototo In tototo with USR2 ok 1324 - sig_install: kill USR1 myself 2 ok 1325 - sig_install: tototo call now nb 5 # Leaving tests_sig_install() # Entering tests_template() ok 1326 - tests_template: no args => undef ok 1327 - tests_template: { } => undef ok 1328 - tests_template: a hash is a hash ok 1329 - tests_template: an array is an array # Leaving tests_template() # Entering tests_split_around_equal() ok 1330 - split_around_equal: no args => undef ok 1331 - split_around_equal: toto=titi => toto => titi Odd number of elements in anonymous hash at imapsync line 22093. ok 1332 - split_around_equal: tototiti => toto => undef ok 1333 - split_around_equal: tototiti => toto= => empty ok 1334 - split_around_equal: A=B C=D => A => B, C=>D ok 1335 - split_around_equal: A=B C=D => A => B, C=>D ok 1336 - split_around_equal: A=B=C => A => B=C ok 1337 - split_around_equal: A=B=C=D => A => B=C=D # Leaving tests_split_around_equal() # Entering tests_toggle_sleep() In toggle_sleep with ok 1338 - toggle_sleep: no args => undef In toggle_sleep with ok 1339 - toggle_sleep: undef => undef In toggle_sleep with ok 1340 - toggle_sleep: no maxsleep => undef In toggle_sleep with Resetting maxsleep to 0s ok 1341 - toggle_sleep: 3 => 0 In toggle_sleep with Resetting maxsleep to 2s ok 1342 - toggle_sleep: 0 => 2 In toggle_sleep with Resetting maxsleep to 0s ok 1343 - toggle_sleep: 2 => 0 In toggle_sleep with Resetting maxsleep to 2s ok 1344 - toggle_sleep: 0 => 2 In toggle_sleep with Resetting maxsleep to 0s ok 1345 - toggle_sleep: 2 => 0 In sig_install with sub CODE(0x2accc9ff30) and signal USR1 Installing signal USR1 to call sub CODE(0x2accc9ff30) ok 1346 - toggle_sleep: install USR1 toggle_sleep In subsignal with USR1 and CODE(0x2accc9ff30) In toggle_sleep with USR1 Resetting maxsleep to 0s ok 1347 - toggle_sleep: kill USR1 myself ok 1348 - toggle_sleep: toggle_sleep called => sleeps are 0s In subsignal with USR1 and CODE(0x2accc9ff30) In toggle_sleep with USR1 Resetting maxsleep to 2s ok 1349 - toggle_sleep: kill USR1 myself again ok 1350 - toggle_sleep: toggle_sleep called => sleeps are 2s In subsignal with USR1 and CODE(0x2accc9ff30) In toggle_sleep with USR1 Resetting maxsleep to 0s ok 1351 - toggle_sleep: kill USR1 myself ok 1352 - toggle_sleep: toggle_sleep called => sleeps are 0s In subsignal with USR1 and CODE(0x2accc9ff30) In toggle_sleep with USR1 Resetting maxsleep to 2s ok 1353 - toggle_sleep: kill USR1 myself again ok 1354 - toggle_sleep: toggle_sleep called => sleeps are 2s # Leaving tests_toggle_sleep() # Entering tests_labels() ok 1355 - labels: no parameters => undef ok 1356 - labels: undef => undef ok 1357 - require Test::MockObject; ok 1358 - labels: one parameter => undef ok 1359 - labels: $mysync UID_1 => \Seen Blabla # Leaving tests_labels() # Entering tests_synclabels() ok 1360 - synclabels: no parameters => undef ok 1361 - synclabels: undef => undef ok 1362 - synclabels: var undef => undef ok 1363 - require Test::MockObject; ok 1364 - synclabels: fresh $mysync => undef ok 1365 - synclabels: $mysync UID_1 alone => undef ok 1366 - synclabels: $mysync UID_1 UID_2 => 1 # Leaving tests_synclabels() # Entering tests_uidexpunge_or_expunge() ok 1367 - uidexpunge_or_expunge: no args => undef ok 1368 - uidexpunge_or_expunge: undef args => undef ok 1369 - uidexpunge_or_expunge: arg empty => undef ok 1370 - uidexpunge_or_expunge: undef Mail-IMAPClient instance => undef ok 1371 - require Test::MockObject; ok 1372 - uidexpunge_or_expunge: no message (1) to uidexpunge => undef ok 1373 - uidexpunge_or_expunge: no message (2) to uidexpunge => undef ok 1374 - uidexpunge_or_expunge: uidexpunge failure => expunge failure => undef ok 1375 - uidexpunge_or_expunge: uidexpunge failure => expunge ok => 1 ok 1376 - uidexpunge_or_expunge: messages to uidexpunge ok => 1 # Leaving tests_uidexpunge_or_expunge() # Entering tests_appendlimit_from_capability() Warn: no imap with call to appendlimit_from_capability ok 1377 - appendlimit_from_capability: no args => undef Warn: no imap with call to appendlimit_from_capability ok 1378 - appendlimit_from_capability: undef arg => undef ok 1379 - require Test::MockObject; ok 1380 - appendlimit_from_capability: APPENDLIMIT=123456 => 123456 ok 1381 - appendlimit_from_capability: not a number => undef # Leaving tests_appendlimit_from_capability() # Entering tests_maxsize_setting() ok 1382 - maxsize_setting: no args => undef ok 1383 - maxsize_setting: undef arg => undef Warn: no imap with call to appendlimit_from_capability ok 1384 - maxsize_setting: --maxsize 123456 alone => 123456 ok 1385 - require Test::MockObject; Host2: found APPENDLIMIT=654321 in CAPABILITY (use --appendlimit xxxx to override this automatic setting) Host2: Setting maxsize to appendlimit 654321 ok 1386 - maxsize_setting: APPENDLIMIT 654321 alone => 654321 ok 1387 - maxsize_setting: APPENDLIMIT 654321 alone => maxsize 654321 Host2: Getting appendlimit from --appendlimit 123456 Host2: Setting maxsize to 123456 (min of --maxsize 654321 and appendlimit 123456 ok 1388 - maxsize_setting: APPENDLIMIT 654321 + --appendlimit 123456 => 123456 ok 1389 - maxsize_setting: APPENDLIMIT 654321 + --appendlimit 123456 => maxsize 123456 Host2: found APPENDLIMIT=654321 in CAPABILITY (use --appendlimit xxxx to override this automatic setting) Host2: Setting maxsize to 123456 (min of --maxsize 123456 and appendlimit 654321 ok 1390 - maxsize_setting: APPENDLIMIT 654321 --maxsize 123456 => 123456 Host2: found APPENDLIMIT=123456 in CAPABILITY (use --appendlimit xxxx to override this automatic setting) Host2: Setting maxsize to 123456 (min of --maxsize 654321 and appendlimit 123456 ok 1391 - maxsize_setting: APPENDLIMIT 123456 --maxsize 654321 => 123456 # Leaving tests_maxsize_setting() # Entering tests_mock_capability() ok 1392 - require Test::MockObject; ok 1393 - mock_capability: (1) no args => a Test::MockObject ok 1394 - mock_capability: (2) no args => a Test::MockObject ok 1395 - mock_capability: (3) no args => capability undef ok 1396 - mock_capability: (1) one arg => MockObject ok 1397 - mock_capability: (2) one arg OO style => capability undef ok 1398 - mock_capability: (1) two args 123456 => capability 123456 ok 1399 - mock_capability: (2) two args 123456 => capability 123456 ok 1400 - mock_capability: (1) two args ABCD => capability ABCD ok 1401 - mock_capability: (2) two args ABCD => capability ABCD ok 1402 - mock_capability: (1) two args [ ABCD ] => capability [ ABCD ] ok 1403 - mock_capability: (2) two args [ ABCD ] => capability [ ABCD ] ok 1404 - mock_capability: (1) two args [ ABC, DEF ] => capability [ ABC, DEF ] ok 1405 - mock_capability: (2) two args [ ABC, DEF ] => capability capability [ ABC, DEF ] ok 1406 - mock_capability: (1) two args ABC, DEF => capability [ ABC, DEF ] ok 1407 - mock_capability: (2) two args ABC, DEF => capability capability [ ABC, DEF ] ok 1408 - mock_capability: (1) two args IMAP4rev1, APPENDLIMIT=123456 => capability [ IMAP4rev1, APPENDLIMIT=123456 ] ok 1409 - mock_capability: (2) two args IMAP4rev1, APPENDLIMIT=123456 => capability capability [ IMAP4rev1, APPENDLIMIT=123456 ] # Leaving tests_mock_capability() # Entering tests_appendlimit() ok 1410 - appendlimit: no args => undef Warn: no imap with call to appendlimit_from_capability ok 1411 - appendlimit: no imap2 => undef ok 1412 - require Test::MockObject; Host2: found APPENDLIMIT=123456 in CAPABILITY (use --appendlimit xxxx to override this automatic setting) ok 1413 - appendlimit: imap2 with APPENDLIMIT=123456 => 123456 # Leaving tests_appendlimit() # Entering tests_capability_of() ok 1414 - capability_of: no args => undef ok 1415 - capability_of: undef => undef ok 1416 - require Test::MockObject; ok 1417 - capability_of: two args unknown capability => undef ok 1418 - capability_of: two args APPENDLIMIT 123456 => 123456 yeah! # Leaving tests_capability_of() # Entering tests_search_in_array() ok 1419 - search_in_array: no array => undef ok 1420 - search_in_array: KA KA=VA => VA ok 1421 - search_in_array: KA KA=VA KB=VB => VA ok 1422 - search_in_array: KA=VA KB=VB => VB # Leaving tests_search_in_array() # Entering tests_operators_and_exclam_precedence() ok 1423 - tests_operators_and_exclam_precedence: ! 0 => 1 ok 1424 - tests_operators_and_exclam_precedence: ! 1 => "" ok 1425 - tests_operators_and_exclam_precedence: not( 0 ) => 1 ok 1426 - tests_operators_and_exclam_precedence: not( 1 ) => "" ok 1427 - tests_operators_and_exclam_precedence: ! 0 && 0 ) => 0 ok 1428 - tests_operators_and_exclam_precedence: ! 0 && 1 ) => 1 ok 1429 - tests_operators_and_exclam_precedence: ! 1 && 0 ) => "" ok 1430 - tests_operators_and_exclam_precedence: ! 1 && 1 ) => "" ok 1431 - tests_operators_and_exclam_precedence: ! 0 && 2 ) => 1 # Leaving tests_operators_and_exclam_precedence() # Entering tests_teelaunch() ok 1432 - tests_teelaunch: no args => undef ok 1433 - tests_teelaunch: arg empty {} => undef ok 1434 - tests_teelaunch: empty string => undef ok 1435 - 'tests_teelaunch: logfile W/tmp/tests/tests_teelaunch.txt' isa 'IO::Tee' Hi! ok 1436 - tests_teelaunch: write Hi! ok 1437 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch.txt is Hi!\n Hoo ok 1438 - tests_teelaunch: write Hoo ok 1439 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch.txt is Hi!\nHoo\n print() on closed filehandle $logfile_handle at /usr/share/perl5/vendor_perl/IO/Tee.pm line 132. Argh1 ok 1440 - tests_teelaunch: write Argh1 print() on closed filehandle $logfile_handle at /usr/share/perl5/vendor_perl/IO/Tee.pm line 132. Argh2 ok 1441 - tests_teelaunch: write Argh2 ok 1442 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch.txt is still Hi!\nHoo\n IO::Handle=GLOB(0x2ac8195620) IO::Handle=GLOB(0x2ac4bb2960) ok 1443 - tests_teelaunch: 2 handles IO::Handle=GLOB(0x2ac4bb2960) ok 1444 - tests_teelaunch: 1 handle Argh3 ok 1445 - tests_teelaunch: write Argh3 yeah ok 1446 - tests_teelaunch: 0 handle ok 1447 - tests_teelaunch: write Argh4 no ok 1448 - 'tests_teelaunch: W/tmp/tests/tests_teelaunch2.txt' isa 'IO::Tee' Hi! ok 1449 - tests_teelaunch: write Hi! ok 1450 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\n Hoo ok 1451 - tests_teelaunch: write Hoo ok 1452 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\nHoo\n ok 1453 - tests_teelaunch: teefinish return 1 Argh1 ok 1454 - tests_teelaunch: write Argh1 Argh2 ok 1455 - tests_teelaunch: write Argh2 ok 1456 - tests_teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is still Hi!\nHoo\n ok 1457 - tests_teelaunch: teefinish still return 1 # Leaving tests_teelaunch() # Entering tests_logfileprepa() ok 1458 - logfileprepa: no args => undef ok 1459 - logfileprepa: no logfile => undef ok 1460 - logfileprepa: W/tmp/tests/tests_logfileprepa.txt => 1 # Leaving tests_logfileprepa() # Entering tests_useheader_suggestion() ok 1461 - useheader_suggestion: no args => undef ok 1462 - useheader_suggestion: h1_nb_msg_noheader count null => no suggestion ok 1463 - useheader_suggestion: h1_nb_msg_noheader count 2 => suggestion of --addheader # Leaving tests_useheader_suggestion() # Entering tests_stats_across_folders() ok 1464 - nb_messages_in_2_not_in_1: no args => undef ok 1465 - nb_messages_in_2_not_in_1: no messages in 2 => 0 ok 1466 - nb_messages_in_2_not_in_1: a common message => 0 ok 1467 - nb_messages_in_2_not_in_1: one message in_2_not_in_1 => 1 ok 1468 - nb_messages_in_2_not_in_1: two messages in_2_not_in_1 => 2 # Leaving tests_stats_across_folders() # Entering tests_labels_add_subfolder2() ok 1469 - labels_add_subfolder2: no parameters => undef ok 1470 - labels_add_subfolder2: one parameter Blabla => Blabla ok 1471 - labels_add_subfolder2: one parameter Blan blue => Blan blue ok 1472 - labels_add_subfolder2: one parameter \Bla "Blan blan" Blabla => \Bla "Blan blan" Blabla ok 1473 - labels_add_subfolder2: Bla Subf => "Subf/Bla" ok 1474 - labels_add_subfolder2: \Bla Subf => \Bla ok 1475 - labels_add_subfolder2: Bla Kii Subf => "Subf/Bla" "Subf/Kii" ok 1476 - labels_add_subfolder2: \Bla Kii Subf => \Bla Subf/Kii ok 1477 - labels_add_subfolder2: "Blan blan" Subf => "Subf/Blan blan" ok 1478 - labels_add_subfolder2: \Loo "Blan blan" Kii + Subf => "Subf/Blan blan" Subf/Kii Subf/\Loo ok 1479 - labels_add_subfolder2: "\\Inbox" Subf => "Subf/\\Inbox" Subf/INBOX ok 1480 - labels_add_subfolder2: "\\Inbox" Subf INBOX => "Subf/\\Inbox" ok 1481 - labels_add_subfolder2: "\\Inbox" "\\Inbox" Subf => "Subf/\\Inbox" ok 1482 - labels_add_subfolder2: "\\Starred" Subf => "Subf/\\Starred" # Leaving tests_labels_add_subfolder2() # Entering tests_labels_remove_subfolder1() ok 1483 - labels_remove_subfolder1: no parameters => undef ok 1484 - labels_remove_subfolder1: one parameter Blabla => Blabla ok 1485 - labels_remove_subfolder1: one parameter Blan blue => Blan blue ok 1486 - labels_remove_subfolder1: one parameter \Bla "Blan blan" Blabla => \Bla "Blan blan" Blabla ok 1487 - labels_remove_subfolder1: Subf/Bla Subf => "Bla" ok 1488 - labels_remove_subfolder1: "\\Bla" Subf => "\\Bla" ok 1489 - labels_remove_subfolder1: Subf/Bla Subf/Kii, Subf => "Bla" "Kii" ok 1490 - labels_remove_subfolder1: "\\Bla" Subf/Kii Subf => "\\Bla" Kii ok 1491 - labels_remove_subfolder1: "Subf/Blan blan" Subf => "Blan blan" ok 1492 - labels_remove_subfolder1: "\\Loo" "Subf/Blan blan" Subf/Kii + Subf => "\\Loo" "Blan blan" Kii ok 1493 - labels_remove_subfolder1: Subf/INBOX + Subf => "\\Inbox" ok 1494 - labels_remove_subfolder1: "\\Loo" "Subf/Blan blan" Subf/Kii Subf/INBOX + Subf => "\\Loo" "Blan blan" Kii "\\Inbox" # Leaving tests_labels_remove_subfolder1() # Entering tests_resynclabels() ok 1495 - resynclabels: no parameters => undef ok 1496 - resynclabels: undef => undef ok 1497 - resynclabels: var undef => undef Host1 labels fixed: \Seen Baa Kii Host2 labels : \Seen Baa Kii Labels are already equal ok 1498 - resynclabels: $mysync UID_1 UID_2 labels are equal => 1 ok 1499 - require Test::MockObject; Host1 labels fixed: \Seen Baa Kii Host2 labels : \Seen Zuu ok 1500 - resynclabels: $mysync UID_1 UID_2 labels are not equal => store => 1 # Leaving tests_resynclabels() # Entering tests_labels_remove_special() ok 1501 - labels_remove_special: no parameters => undef ok 1502 - labels_remove_special: empty string => empty string ok 1503 - labels_remove_special:"\\Inbox" => empty string ok 1504 - labels_remove_special:"\\Inbox" "\\Starred" => empty string ok 1505 - labels_remove_special:Foo Bar => Bar Foo ok 1506 - labels_remove_special:Foo Bar "\\Inbox" => Bar Foo # Leaving tests_labels_remove_special() # Entering tests_uniq() ok 1507 - uniq: undef => 0 ok 1508 - uniq: one => one ok 1509 - uniq: one one => one ok 1510 - uniq: one one two one two => one two # Leaving tests_uniq() # Entering tests_remove_from_requested_folders() ok 1511 - remove_from_requested_folders: undef is undef ok 1512 - remove_from_requested_folders: no args ok 1513 - remove_from_requested_folders: remove nothing among F1 => nothing ok 1514 - remove_from_requested_folders: remove Fno among F1 => nothing ok 1515 - remove_from_requested_folders: remove F1 among F1 => F1 ok 1516 - remove_from_requested_folders: remove F1 among F1 => %requested_folder emptied ok 1517 - remove_from_requested_folders: remove nothing among F1 F2 => nothing ok 1518 - remove_from_requested_folders: remove Fno among F1 F2 => nothing ok 1519 - remove_from_requested_folders: remove F1 among F1 F2 => F1 ok 1520 - remove_from_requested_folders: remove F1 among F1 F2 => %requested_folder F2 ok 1521 - remove_from_requested_folders: remove F1 among F2 => nothing ok 1522 - remove_from_requested_folders: remove F1 F2 among F2 => F2 ok 1523 - remove_from_requested_folders: remove F1 among F1 F2 => %requested_folder F2 ok 1524 - remove_from_requested_folders: remove F1 F2 among F1 F2 F3 => F1 F2 ok 1525 - remove_from_requested_folders: remove F1 F2 among F1 F2 F3 => %requested_folder F3 # Leaving tests_remove_from_requested_folders() # Entering tests_errors_log() ok 1526 - errors_log: no args => undef ok 1527 - errors_log: empty => undef ok 1528 - errors_log: aieaie => aieaie ok 1529 - errors_log: nothing more => aieaie ok 1530 - errors_log: ouille => aieaie ouille ok 1531 - errors_log: nothing more => aieaie ouille # Leaving tests_errors_log() # Entering tests_add_subfolder1_to_folderrec() ok 1532 - add_subfolder1_to_folderrec: undef => undef ok 1533 - add_subfolder1_to_folderrec: no args => empty array ok 1534 - add_subfolder1_to_folderrec: empty => empty array ok 1535 - add_subfolder1_to_folderrec: empty => empty folderrec Acting like --folderrec "SUBI" ok 1536 - add_subfolder1_to_folderrec: SUBI => SUBI ok 1537 - add_subfolder1_to_folderrec: SUBI => folderrec SUBI Nor folder "SUBO" nor "INBOX/SUBO" exists on host1 ok 1538 - add_subfolder1_to_folderrec: SUBO no exists => empty array ok 1539 - add_subfolder1_to_folderrec: SUBO no exists => empty folderrec Acting like --folderrec "INBOX/SUBO" ok 1540 - add_subfolder1_to_folderrec: SUBO + INBOX/SUBO exists => INBOX/SUBO ok 1541 - add_subfolder1_to_folderrec: SUBO + INBOX/SUBO exists => INBOX/SUBO folderrec # Leaving tests_add_subfolder1_to_folderrec() # Entering tests_sanitize_subfolder() ok 1542 - sanitize_subfolder: no args => undef ok 1543 - sanitize_subfolder: empty => undef ok 1544 - sanitize_subfolder: blank => undef ok 1545 - sanitize_subfolder: blanks => undef ok 1546 - sanitize_subfolder: abcd => abcd ok 1547 - sanitize_subfolder: " ab cd " => "ab cd" ok 1548 - sanitize_subfolder: "a&~b\#\\c[]=d;" => "abcd" ok 1549 - sanitize_subfolder: aA.b-_ 8c/dD => aA.b-_ 8c/dD # Leaving tests_sanitize_subfolder() # Entering tests_remove_edging_blanks() ok 1550 - remove_edging_blanks: no args => undef ok 1551 - remove_edging_blanks: abcd => abcd ok 1552 - remove_edging_blanks: " ab cd " => "ab cd" # Leaving tests_remove_edging_blanks() # Entering tests_remove_edging_blanks() ok 1553 - sanitize: no args => undef ok 1554 - sanitize: => undef ok 1555 - sanitize: host1 " example.com " => "example.com" ok 1556 - sanitize: user1 " to to " => "to to" ok 1557 - sanitize: password1 " sex is good! " => "sex is good!" # Leaving tests_remove_edging_blanks() # Entering tests_remove_last_char_if_is() ok 1558 - remove_last_char_if_is: no args => undef ok 1559 - remove_last_char_if_is: empty => empty ok 1560 - remove_last_char_if_is: empty Z => empty ok 1561 - remove_last_char_if_is: Z Z => empty ok 1562 - remove_last_char_if_is: abcZ Z => abc ok 1563 - remove_last_char_if_is: abcY Z => abcY # Leaving tests_remove_last_char_if_is() # Entering tests_check_binary_embed_all_dyn_libs() Search non embeded dynamic libs with the command: lsof -p 1427 | grep ' REG ' | grep -v '/tmp/par-' | grep '.so' Found myself imapsync pid 1427 using locale dynamic libraries that seems out of myself: sh: line 1: lsof: command not found ok 1564 - check_binary_embed_all_dyn_libs: no args => 1 # Leaving tests_check_binary_embed_all_dyn_libs() # Entering tests_nthline() ok 1565 - nthline: getting empty string from inexisting W/tmp/tests/noexist.txt ok 1566 - nthline: 2nd getting empty string from inexisting W/tmp/tests/noexist.txt ok 1567 - nthline: mkpath W/tmp/tests/ ok 1568 - nthline: put L1\nL2\nL3\nL4\n in W/tmp/tests/nthline.txt ok 1569 - nthline: get L3 from W/tmp/tests/nthline.txt # Leaving tests_nthline() # Entering tests_secondline() ok 1570 - secondline: getting empty string from inexisting W/tmp/tests/noexist.txt ok 1571 - secondline: 2nd getting empty string from inexisting W/tmp/tests/noexist.txt ok 1572 - secondline: mkpath W/tmp/tests/ ok 1573 - secondline: put L1\nL2\nL3\nL4\n in W/tmp/tests/secondline.txt ok 1574 - secondline: get L2 from W/tmp/tests/secondline.txt ok 1575 - secondline: put L1\n in W/tmp/tests/secondline2.txt ok 1576 - secondline: get empty string from W/tmp/tests/secondline2.txt # Leaving tests_secondline() # Entering tests_tail() ok 1577 - tail: mkpath W/tmp/tests/ ok 1578 - tail: unlink W/tmp/tests/tail.pid ok 1579 - tail: unlink W/tmp/tests/tail.txt ok 1580 - tail: no args => undef ok 1581 - tail: no pidfile => undef ok 1582 - tail: no pidfilelocking => undef ok 1583 - tail: pidfile no exists => undef ok 1584 - tail: put pid 33333 and tail.txt in pidfile ok 1585 - tail: logfile to tail no exists => undef ok 1586 - tail: put L1\nL2\nL3\nL4\nL5\n in W/tmp/tests/tail.txt ok 1587 - tail: fake pid in pidfile + tail off => 1 Doing a tail -f on W/tmp/tests/tail.txt for processus pid 33333 until it is finished. L5 Tailed processus 33333 ended ok 1588 - tail: fake pid in pidfile + tail on=> 1 ok 1589 - tail: put my own PID in pidfile Will not do a tail -f for processus pid 1427 : it is myself. ok 1590 - tail: my own pid in pidfile => undef # Leaving tests_tail() # Entering tests_truncmess() ok 1591 - truncmess: no args => undef ok 1592 - truncmess: abc => abc ok 1593 - truncmess: abc 2 => ab ok 1594 - truncmess: abc 3 => abc ok 1595 - truncmess: abc 4 => abc ok 1596 - truncmess: "123456789\n", 5 => 12345 ok 1597 - truncmess: "123456789\n" x 100000, 50000 => "123456789\n" x 5000 # Leaving tests_truncmess() # Entering tests_eta() ok 1598 - eta: no args => "" ok 1599 - eta: undef => "" ok 1600 - eta: No foldersizes => "" ok 1601 - eta: no args => ETA: "Now" 0 s 0/0 msgs left ok 1602 - eta: 1, 1, 2 => ETA: "Now" 0 s 1/2 msgs left # Leaving tests_eta() # Entering tests_timesince() ok 1603 - tests_timesince: time - 1 => <= 1 + 1e-02 ok 1604 - tests_timesince: time => <= 1e-02 ok 1605 - tests_timesince: no args => <= time + 1e-02 # Leaving tests_timesince() # Entering tests_timenext() ok 1606 - tests_timenext: no args => undef ok 1607 - tests_timenext: undef => undef ok 1608 - tests_timenext: defined first time => ~ time ok 1609 - tests_timenext: second time => less than 2e-02 ok 1610 - tests_timenext: third time => less than 2e-02 # Leaving tests_timenext() # Entering tests_imapsync_context() ok 1611 - imapsync_context: CGI or Docker or DockerCGI or Standard # Leaving tests_imapsync_context() # Entering tests_abort() In abort ok 1612 - abort: no args => undef # Leaving tests_abort() # Entering tests_probe_imapssl() ok 1613 - tests_probe_imapssl: no args => undef Probing imap ssl on host unknown port 993, got failure. ok 1614 - tests_probe_imapssl: unknown => undef # hostname is: arch-nspawn-1648141 ok 1615 - tests_probe_imapssl: resolv imap.gmail.com => something Probing imap ssl on host imap.gmail.com port 993, got banner: * OK Gimap ready for requests from 119.8.44.69 616947a28c9db-663c77cf5b4mb281034844b6c ok 1616 - tests_probe_imapssl: imap.gmail.com => matches "* OK" Probing imap ssl on host test1.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. ok 1617 - tests_probe_imapssl: test1.lamiral.info => matches "* OK" Probing imap ssl on host imap.gmail.com port 993, got banner: * OK Gimap ready for requests from 209.141.35.129 d2e1a72fcca58-78121136563mb184859379b3a ok 1618 - tests_probe_imapssl: imap.gmail.com port 993 => matches "* OK" Probing imap ssl on host test1.lamiral.info port 993, got banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. ok 1619 - tests_probe_imapssl: test1.lamiral.info port 993 => matches "* OK" Probing imap ssl on host test1.lamiral.info port 143, got failure. ok 1620 - tests_probe_imapssl: test1.lamiral.info port 143 => failure # Leaving tests_probe_imapssl() # Entering tests_mailimapclient_connect() ok 1621 - tests_mailimapclient_connect: ipv4 new ok 1622 - tests_mailimapclient_connect: ipv4 ref is Mail::IMAPClient ok 1623 - tests_mailimapclient_connect: ipv4 connect with no server => failure ok 1624 - tests_mailimapclient_connect: ipv4 setting Server(test.lamiral.info) ok 1625 - tests_mailimapclient_connect: ipv4 setting Debug( 1 ) ok 1626 - tests_mailimapclient_connect: ipv4 setting Port( 143 ) ok 1627 - tests_mailimapclient_connect: ipv4 setting Timeout( 10 ) Connecting with IO::Socket::IP PeerAddr test.lamiral.info PeerPort 143 Proto tcp Timeout 10 Debug 1 Connected to test.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. ok 1628 - tests_mailimapclient_connect: ipv4 connect to test.lamiral.info Sending: 1 LOGOUT Sent 10 bytes Read: * BYE Logging out 1 OK Logout completed. ok 1629 - tests_mailimapclient_connect: ipv4 logout ok 1630 - tests_mailimapclient_connect: ipv4 free variable ok 1631 - tests_mailimapclient_connect: ipv4 + ssl: new ok 1632 - tests_mailimapclient_connect: ipv4 + ssl: setting Server(test.lamiral.info) ok 1633 - tests_mailimapclient_connect: ipv4 + ssl: setting Debug( 1 ) ok 1634 - tests_mailimapclient_connect: ipv4 + ssl: setting Ssl( SSL_VERIFY_NONE ) ok 1635 - tests_mailimapclient_connect: ipv4 + ssl: setting Port( 993 ) Connecting with IO::Socket::SSL PeerAddr test.lamiral.info PeerPort 993 Proto tcp Timeout 600 Debug 1 SSL_verify_mode 0 SSL_cipher_list DEFAULT:!DH Connected to test.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. ok 1636 - tests_mailimapclient_connect: ipv4 + ssl: connect to test.lamiral.info Sending: 1 LOGOUT Sent 10 bytes Read: * BYE Logging out ok 1637 - tests_mailimapclient_connect: ipv4 + ssl: logout in ssl does not cause failure ok 1638 - tests_mailimapclient_connect: ipv4 + ssl: free variable ok 1639 - tests_mailimapclient_connect: ipv6 + ssl: new ok 1640 - tests_mailimapclient_connect: ipv6 + ssl: setting Server test1ipv6.lamiral.info ok 1641 - tests_mailimapclient_connect: ipv6 setting Timeout( 10 ) ok 1642 - tests_mailimapclient_connect: ipv6 + ssl: setting Ssl( SSL_VERIFY_NONE ) ok 1643 - tests_mailimapclient_connect: ipv6 + ssl: setting Port( 993 ) ok 1644 - tests_mailimapclient_connect: ipv4 + ssl: setting Debug( 1 ) ok 1645 - resolv: test1ipv6.lamiral.info => 2a01:e0a:c59:f090:f5eb:1776:332:41d5 Connecting with IO::Socket::SSL PeerAddr test1ipv6.lamiral.info PeerPort 993 Proto tcp Timeout 10 Debug 1 SSL_verify_mode 0 SSL_cipher_list DEFAULT:!DH ERROR: Unable to connect to test1ipv6.lamiral.info: IO::Socket::IP configuration failed at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 377. Mail::IMAPClient::connect(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8373 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 not ok 1646 - tests_mailimapclient_connect: ipv6 + ssl: connect to test1ipv6.lamiral.info # Failed test 'tests_mailimapclient_connect: ipv6 + ssl: connect to test1ipv6.lamiral.info' # at imapsync line 8373. # '' # doesn't match '(?^:IO::Socket::SSL)' Sending: 1 LOGOUT ERROR: NO not connected at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1568. Mail::IMAPClient::_send_line(Mail::IMAPClient=HASH(0x2ac81a0638), "1 LOGOUT", 0) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1344 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 Trying command when NOT connected! at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 123. Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x2ac81a0638), "NO not connected") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1568 Mail::IMAPClient::_send_line(Mail::IMAPClient=HASH(0x2ac81a0638), "1 LOGOUT", 0) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1344 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: Error sending '1 LOGOUT': NO not connected at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1345. Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 Trying command when NOT connected! LastError was: NO not connected at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 123. Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x2ac81a0638), "Error sending '1 LOGOUT': NO not connected") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1345 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: Error sending '1 LOGOUT': NO not connected at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298. Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 Trying command when NOT connected! LastError was: Error sending '1 LOGOUT': NO not connected at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 123. Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x2ac81a0638), "Error sending '1 LOGOUT': NO not connected") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a0638), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007 Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2ac81a0638)) called at imapsync line 8375 main::tests_mailimapclient_connect() called at imapsync line 23822 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 not ok 1647 - tests_mailimapclient_connect: ipv6 + ssl: logout in ssl is ok on test1ipv6.lamiral.info # Failed test 'tests_mailimapclient_connect: ipv6 + ssl: logout in ssl is ok on test1ipv6.lamiral.info' # at imapsync line 8375. # '' # doesn't match '(?^:Mail::IMAPClient)' ok 1648 - tests_mailimapclient_connect: ipv6 + ssl: free variable # Leaving tests_mailimapclient_connect() # Entering checknoabletosearch() ok 1649 - checknoabletosearch: no args => undef # Leaving checknoabletosearch() # Entering tests_errorsdump() ok 1650 - errorsdump: no args => undef ok 1651 - errorsdump: empty list => undef ok 1652 - errorsdump: one empty string => "Err 1/1: " ok 1653 - errorsdump: aieaieaie => "Err 1/1: aieaieaie" ok 1654 - errorsdump: Aie Ouille => "Err 1/2: Aie Err 2/2: Ouille" # Leaving tests_errorsdump() # Entering tests_errorsanalyse() ok 1655 - errorsanalyse: no args => ERR_NOTHING_REPORTED ok 1656 - errorsanalyse: empty list => ERR_NOTHING_REPORTED ok 1657 - errorsanalyse: aie => ERR_UNCLASSIFIED ok 1658 - errorsanalyse: aie => ERR_UNCLASSIFIED ok 1659 - errorsanalyse: aie => ERR_UNCLASSIFIED ok 1660 - errorsanalyse: aie, ouille => ERR_UNCLASSIFIED ok 1661 - errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED ok 1662 - errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED ok 1663 - errorsanalyse: "" => ERR_NOTHING_REPORTED ok 1664 - errorsanalyse: ( "" ) => ERR_NOTHING_REPORTED ok 1665 - errorsanalyse: ( "", "" ) => ERR_NOTHING_REPORTED # Leaving tests_errorsanalyse() # Entering tests_most_common_error() ok 1666 - most_common_error: no args => ERR_NOTHING_REPORTED ok 1667 - most_common_error: empty hash ref => ERR_NOTHING_REPORTED ok 1668 - most_common_error: not a hash ref => ERR_NOTHING_REPORTED ok 1669 - most_common_error: { ERR_FOO => 1 } => ERR_FOO ok 1670 - most_common_error: { ERR_FOO => 1, ERR_BAR => 2 } => ERR_BAR ok 1671 - most_common_error: { ERR_FOO => 2, ERR_BAR => 1 } => ERR_FOO ok 1672 - most_common_error: { ERR_FOO => 2, ERR_BAR => 2 } => ERR_BAR ok 1673 - most_common_error: { A => 5, B => 5, C => 5 } => A ok 1674 - most_common_error: { A => 5, B => 6, C => 6 } => B ok 1675 - most_common_error: { A => 5, B => 5, C => 7 } => C ok 1676 - most_common_error: { A => 5, B => 5, C => 7 } => C # Leaving tests_most_common_error() # Entering tests_errorclassify() ok 1677 - errorclassify: no args => undef ok 1678 - errorclassify: aie => { ERR_UNCLASSIFIED => 1 } ok 1679 - errorclassify: aie ouille => { ERR_UNCLASSIFIED => 2 } ok 1680 - errorclassify: aie ouille "" => { ERR_UNCLASSIFIED => 2 } ok 1681 - errorclassify: aie ouille aie => { ERR_UNCLASSIFIED => 3 } ok 1682 - errorclassify: aie OVERQUOTA OVERQUOTA ok 1683 - errorclassify: "" => { ERR_NOTHING_REPORTED => 1 } ok 1684 - errorclassify: "", "" => { ERR_NOTHING_REPORTED => 1 } # Leaving tests_errorclassify() # Entering tests_error_type() ok 1685 - error_type: no args => ERR_NOTHING_REPORTED ok 1686 - error_type: empty string => ERR_NOTHING_REPORTED ok 1687 - error_type: ERR_UNCLASSIFIED => ERR_UNCLASSIFIED ok 1688 - error_type: aie => ERR_UNCLASSIFIED ok 1689 - error_type: ouille => ERR_UNCLASSIFIED ok 1690 - error_type: could not be fetched => ERR_Host1_FETCH ok 1691 - error_type: could not append message xxx: BAD maximum message size exceeded => ERR_APPEND_SIZE ok 1692 - error_type: Quota limit will be exceeded => ERR_OVERQUOTA ok 1693 - error_type: could not append => ERR_APPEND ok 1694 - error_type: Could not create folder => ERR_CREATE ok 1695 - error_type: Could not select: blabla => ERR_SELECT ok 1696 - error_type: Maximum bytes transferred reached, blabla => ERR_TRANSFER_EXCEEDED ok 1697 - error_type: can not open imap connection on host1 => ERR_CONNECTION_FAILURE_HOST1 ok 1698 - error_type: can not open imap connection on host2 => ERR_CONNECTION_FAILURE_HOST2 ok 1699 - error_type: could not append ... virus => ERR_APPEND_VIRUS ok 1700 - error_type: could not add flags => ERR_FLAGS ok 1701 - error_type: SEARCH: Unknown argument => ERR_SEARCH # Leaving tests_error_type() # Entering tests_sanitize_host() ok 1702 - sanitize_host: no args => undef ok 1703 - sanitize_host: empty => empty ok 1704 - sanitize_host: imap.example.org => imap.example.org ok 1705 - sanitize_host: imap.example.org 1 => imap.example.org ok 1706 - sanitize_host: imap.example.org 2 => imap.example.org ok 1707 - sanitize_host: imap.example.org 3 => imap.example.org ok 1708 - sanitize_host: imap.example.org 4 => imap.example.org ok 1709 - sanitize_host: imap.example.org/ => imap.example.org # Leaving tests_sanitize_host() # Entering tests_hmac_sha1_hex() ok 1710 - hmac_sha1_hex: no args => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d ok 1711 - hmac_sha1_hex: empty string => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d ok 1712 - hmac_sha1_hex: empty strings => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d ok 1713 - hmac_sha1_hex: empty strings + caca => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d ok 1714 - hmac_sha1_hex: Ö => f1a3f3dac3f137fd658027c11678b895f773ce55 ok 1715 - hmac_sha1_hex: encode_utf8 \x{00D6} => f1a3f3dac3f137fd658027c11678b895f773ce55 ok 1716 - hmac_sha1_hex: encode_utf8 Ö => fe8dc3b9ba3e8850bb4a7b070b2279e911003af2 ok 1717 - hmac_sha1_hex: qq{\x{00D6}} => bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a ok 1718 - hmac_sha1_hex: A => a6fda2a6acdd74630b20aac0c68716048ecd0333 ok 1719 - hmac_sha1_hex: encode_utf8 \x{0041} => a6fda2a6acdd74630b20aac0c68716048ecd0333 ok 1720 - hmac_sha1_hex: encode_utf8 A => a6fda2a6acdd74630b20aac0c68716048ecd0333 ok 1721 - hmac_sha1_hex: \x{0041} => a6fda2a6acdd74630b20aac0c68716048ecd0333 ok 1722 - hmac_sha1_hex: A B => 36c54f255b575a2db58921d116b37c8af94c08cd ok 1723 - hmac_sha1_hex: encode_utf8 \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd ok 1724 - hmac_sha1_hex: encode_utf8 A B => 36c54f255b575a2db58921d116b37c8af94c08cd ok 1725 - hmac_sha1_hex: \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd ok 1726 - hmac_sha1_hex: æ”¶ => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b ok 1727 - hmac_sha1_hex: encode_utf8 \x{6536} => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b ok 1728 - hmac_sha1_hex: encode_utf8 æ”¶ => e82217119628ad03e659cc89671d05ea4cee7238 ok 1729 - hmac_sha1_hex: \x{6536} => undef # Leaving tests_hmac_sha1_hex() # Entering tests_total_bytes_max_reached() ok 1730 - total_bytes_max_reached: no args => undef ok 1731 - total_bytes_max_reached: no exitwhenover => undef ok 1732 - total_bytes_max_reached: exitwhenover 300 but no total_bytes_transferred => undef ok 1733 - total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 200 => undef Maximum bytes transferred reached, 400 >= 300, ending sync ok 1734 - total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 400 => 1 # Leaving tests_total_bytes_max_reached() # Entering tests_header_construct() ok 1735 - header_construct: no args => undef ok 1736 - header_construct: key1 val1_key1 no useheader => undef ok 1737 - header_construct: key1 val1_key1 => KEY1: VAL1_KEY1 ok 1738 - header_construct: key1 val1_key1 val3_key1 val2_key1 => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1 ok 1739 - header_construct: key1 val1_key1 val3_key1 val2_key1 => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1 ok 1740 - header_construct: key1 val1_key1 val3_key1 val2_key1 useheader ALL => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1 ok 1741 - header_construct: key1 val1_key1 val3_key1 val2_key1 useheader ALL => undef ok 1742 - header_construct: ... useheader ALL skipheader key1 => KEY2: VAL1_KEY2KEY2: VAL2_KEY2KEY2: VAL3_KEY2 # Leaving tests_header_construct() # Entering tests_remove_doublequotes_if_any() ok 1743 - tests_remove_doublequotes_if_any: no args => undef ok 1744 - tests_remove_doublequotes_if_any: empty string => empty string ok 1745 - tests_remove_doublequotes_if_any: double-quotes => empty string ok 1746 - tests_remove_doublequotes_if_any: double-quotes => empty string ok 1747 - tests_remove_doublequotes_if_any: double-quotes => empty string ok 1748 - tests_remove_doublequotes_if_any: "toto" => toto ok 1749 - tests_remove_doublequotes_if_any: toto => toto ok 1750 - tests_remove_doublequotes_if_any: to"to => toto ok 1751 - tests_remove_doublequotes_if_any: toto" => toto ok 1752 - tests_remove_doublequotes_if_any: "toto => toto ok 1753 - tests_remove_doublequotes_if_any: "to"to => toto ok 1754 - tests_remove_doublequotes_if_any: to"to" => toto ok 1755 - tests_remove_doublequotes_if_any: to\"to => toto ok 1756 - tests_remove_doublequotes_if_any: toto\" => toto ok 1757 - tests_remove_doublequotes_if_any: \"toto => toto ok 1758 - tests_remove_doublequotes_if_any: \"to\"to => toto ok 1759 - tests_remove_doublequotes_if_any: to\"to" => toto # Leaving tests_remove_doublequotes_if_any() # Entering tests_login_imap_ssl_993() HostK: connecting and login on hostk [test1.lamiral.info] port [993] with user [test1] Connecting with IO::Socket::SSL PeerAddr test1.lamiral.info PeerPort 993 Proto tcp Timeout 600 Debug 1 SSL_verify_mode 0 SSL_cipher_list DEFAULT:!DH SSL_verifycn_scheme imap Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN Read: 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1760 - tests_login_imap_ssl_993: test1.lamiral.info test1 ssl ok 1761 - tests_login_imap_ssl_993: test1.lamiral.info test1 ssl IsAuthenticated ok 1762 - tests_login_imap_ssl_993: acc->{ imap } ok test1 ssl # Leaving tests_login_imap_ssl_993() # Entering tests_login_imap_starttls() HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH HostK: Socket successfully converted to SSL HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1763 - tests_login_imap_starttls: test1.lamiral.info test1 tls ok 1764 - tests_login_imap_starttls: test1.lamiral.info test1 tls IsAuthenticated ok 1765 - tests_login_imap_starttls: acc->{ imap } ok test1 tls HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH HostK failure: Can not go to tls encryption on hostk [test1.lamiral.info]: Unable to start TLS: SSL Version SSLv2 not supported ok 1766 - tests_login_imap_starttls: test1.lamiral.info test1 tls SSLv2 not supported ok 1767 - tests_login_imap_starttls: acc->{ imap } test1 tls error => undef Host2: connecting and login on host2 [noresol.lamiral.info] port [143] with user [test1] Host2 failure: can not open imap connection on host2 [noresol.lamiral.info] port [143] with user [test1]: Unable to connect to noresol.lamiral.info: Invalid argument ok 1768 - tests_login_imap_starttls: noresol.lamiral.info undef ok 1769 - tests_login_imap_starttls: Host2 noresol.lamiral.info => ERR_CONNECTION_FAILURE_HOST2 ok 1770 - tests_login_imap_starttls: acc->{ imap } noresol error => undef # Leaving tests_login_imap_starttls() # Entering tests_login_imap_notls_nossl() ok 1771 - tests_login_imap_notls_nossl: no args => undef HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1772 - tests_login_imap_notls_nossl: test1.lamiral.info test1 tls ok 1773 - tests_login_imap_notls_nossl: test1.lamiral.info test1 tls IsAuthenticated ok 1774 - tests_login_imap_notls_nossl: acc->{ imap } ok test1 tls Host2: connecting and login on host2 [noresol.lamiral.info] port [143] with user [test1] Host2 failure: can not open imap connection on host2 [noresol.lamiral.info] port [143] with user [test1]: Unable to connect to noresol.lamiral.info: Invalid argument ok 1775 - tests_login_imap_notls_nossl: noresol.lamiral.info undef ok 1776 - tests_login_imap_notls_nossl: Host2 noresol.lamiral.info => ERR_CONNECTION_FAILURE_HOST2 ok 1777 - tests_login_imap_notls_nossl: acc->{ imap } noresol error => undef Host2: connecting and login on host2 [test1.lamiral.info] port [143] with user [test1] Host2 IP address: 91.121.221.224 Local IP address: 172.25.22.77 Host2 banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Host2 capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Host2 info: authmech [LOGIN] user [test1] authuser [] IsUnconnected [] Host2 failure: Error login on [test1.lamiral.info] with user [test1] auth [LOGIN]: 2 NO [AUTHENTICATIONFAILED] Authentication failed. Host2: failed login on [test1.lamiral.info] with user [test1] auth [LOGIN] ok 1778 - tests_login_imap_notls_nossl: user2 bad passord => undef ok 1779 - tests_login_imap_notls_nossl: Host2 bad password => ERR_AUTHENTICATION_FAILURE_USER2 Host1: connecting and login on host1 [test1.lamiral.info] port [143] with user [test1] Host1 IP address: 91.121.221.224 Local IP address: 172.25.22.77 Host1 banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Host1 capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Host1 info: authmech [LOGIN] user [test1] authuser [] IsUnconnected [] Host1 failure: Error login on [test1.lamiral.info] with user [test1] auth [LOGIN]: 2 NO [AUTHENTICATIONFAILED] Authentication failed. Host1: failed login on [test1.lamiral.info] with user [test1] auth [LOGIN] ok 1780 - tests_login_imap_notls_nossl: user1 bad passord => undef ok 1781 - tests_login_imap_notls_nossl: Host1 bad password => ERR_AUTHENTICATION_FAILURE_USER1 # Leaving tests_login_imap_notls_nossl() # Entering tests_login_imap_oauth() Host2: connecting and login on host2 [imap.gmail.com] port [993] with user [test1] Host2 IP address: 74.125.203.108 Local IP address: 172.25.22.77 Host2 banner: * OK Gimap ready for requests from 209.141.35.129 616947a28c9db-663c7748863mb274991382b6c Host2 capability before authentication: IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER AUTH Host2: imap.gmail.com says it has NO CAPABILITY for AUTHENTICATE QQQ Executing script: caca2 open3: exec of caca2 failed: No such file or directory at imapsync line 19160. Taking string HASH(0x2ac81a61b8) as the value since it is not a file Executing script: caca2 open3: exec of caca2 failed: No such file or directory at imapsync line 19160. Taking string HASH(0x2ac81a61b8) as the value since it is not a file Host2 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Invalid SASL argument. 616947a28c9db-663c7748863mb274991382b6c Host2: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct] ok 1782 - tests_login_imap_oauth: user2 bad oauthdirect => undef ok 1783 - tests_login_imap_oauth: Host2 bad oauthdirect => ERR_AUTHENTICATION_FAILURE_USER2 Host1: connecting and login on host1 [imap.gmail.com] port [993] with user [test1] Host1 IP address: 74.125.203.108 Local IP address: 172.25.22.77 Host1 banner: * OK Gimap ready for requests from 209.141.35.129 616947a28c9db-663c76d2787mb287349267b6c Host1 capability before authentication: IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER AUTH Host1: imap.gmail.com says it has NO CAPABILITY for AUTHENTICATE QQQ Executing script: caca1 open3: exec of caca1 failed: No such file or directory at imapsync line 19160. Taking string HASH(0x2ac81a7ae0) as the value since it is not a file Executing script: caca1 open3: exec of caca1 failed: No such file or directory at imapsync line 19160. Taking string HASH(0x2ac81a7ae0) as the value since it is not a file Host1 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Invalid SASL argument. 616947a28c9db-663c76d2787mb287349267b6c Host1: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct] ok 1784 - tests_login_imap_oauth: user1 bad oauthdirect => undef ok 1785 - tests_login_imap_oauth: Host1 bad oauthdirect => ERR_AUTHENTICATION_FAILURE_USER1 Host1: connecting and login on host1 [imap.gmail.com] port [993] with user [test1] Host1 IP address: 74.125.203.108 Local IP address: 172.25.22.77 Host1 banner: * OK Gimap ready for requests from 209.141.35.129 616947a28c9db-663edc5c1fbmb189145738b6c Host1 capability before authentication: IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER AUTH Host1: imap.gmail.com says it has NO CAPABILITY for AUTHENTICATE QQQ Executing script: Taking string HASH(0x2ac81a7f18) as the value since it is not a file Executing script: Taking string HASH(0x2ac81a7f18) as the value since it is not a file Host1 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Invalid SASL argument. 616947a28c9db-663edc5c1fbmb189145738b6c Host1: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct] ok 1786 - tests_login_imap_oauth: user1 bad oauthdirect => undef ok 1787 - tests_login_imap_oauth: Host1 no oauthdirect value => ERR_AUTHENTICATION_FAILURE_USER1 ok 1788 # skip oauthdirect: no oauthdirect file ok 1789 # skip oauthdirect: no oauthdirect file ok 1790 # skip oauthdirect: no oauthdirect file ok 1791 # skip oauthdirect: no oauthdirect file ok 1792 # skip oauthdirect: no oauthdirect file ok 1793 # skip oauthdirect: no oauthdirect file ok 1794 # skip oauthdirect: no oauthdirect file ok 1795 # skip oauthdirect: no oauthdirect file ok 1796 # skip oauthdirect: no oauthdirect file ok 1797 # skip oauthdirect: no oauthdirect file ok 1798 # skip oauthdirect: no oauthdirect file ok 1799 # skip oauthdirect: no oauthdirect file ok 1800 # skip oauthdirect: no oauthdirect file ok 1801 # skip oauthdirect: no oauthdirect file ok 1802 # skip oauthdirect: no oauthdirect file ok 1803 # skip oauthdirect: no oauthdirect file ok 1804 # skip oauthdirect: no oauthdirect file ok 1805 # skip oauthdirect: no oauthdirect file ok 1806 # skip oauthdirect: no oauthdirect file ok 1807 # skip oauthdirect: no oauthdirect file ok 1808 # skip oauthdirect: no oauthdirect file ok 1809 # skip oauthaccesstoken: no access_token file ok 1810 # skip oauthaccesstoken: no access_token file ok 1811 # skip oauthaccesstoken: no access_token file ok 1812 # skip oauthaccesstoken: no access_token file ok 1813 # skip oauthaccesstoken: no access_token file ok 1814 # skip oauthaccesstoken: no access_token file ok 1815 # skip oauthaccesstoken: no access_token file ok 1816 # skip oauthaccesstoken: no access_token file ok 1817 # skip oauthaccesstoken: no access_token file ok 1818 # skip oauthaccesstoken: no access_token file ok 1819 # skip oauthaccesstoken: no access_token file ok 1820 # skip oauthaccesstoken: no access_token file ok 1821 # skip oauthaccesstoken: no access_token file ok 1822 # skip oauthaccesstoken: no access_token file ok 1823 # skip oauthaccesstoken: no access_token file ok 1824 # skip oauthaccesstoken: no access_token file ok 1825 # skip oauthaccesstoken: no access_token file ok 1826 # skip oauthaccesstoken: no access_token file ok 1827 # skip oauthaccesstoken: no access_token file ok 1828 # skip oauthaccesstoken: no access_token file # Leaving tests_login_imap_oauth() # Entering tests_skipmess_neg() ok 1829 - skipmess: i string yes ok 1830 - skipmess: i string no ok 1831 - skipmess: not i string no ok 1832 - skipmess: not i string yes ok 1833 - skipmess: 1 not From tartanpion@machin.truc ok 1834 - skipmess: 2 not From tartanpion@machin.truc ok 1835 - skipmess: 3 not From tartanpion@machin.truc ok 1836 - skipmess: 4 not From tartanpion@machin.truc # Leaving tests_skipmess_neg() # Entering tests_localtimez() # localtimez: Tuesday 30 September 2025-09-30 08:13:24 +0000 UTC ok 1837 - localtimez: 0 => match 1970-01-01 00:00:00 +0000 GMT or UTC ok 1838 - localtimez: undef => equals currrent # Leaving tests_localtimez() # Entering tests_file_to_array() ok 1839 - file_to_array: no args => undef ok 1840 - file_to_array: /noexist => undef ok 1841 - file_to_array: reading a directory => undef ok 1842 - file_to_array: mkpath W/tmp/tests/ ok 1843 - file_to_array: put L1\nL2\nL3\nL4\n in W/tmp/tests/file_to_array.txt ok 1844 - file_to_array: get back L1\n L2\n L3\n L4\n from W/tmp/tests/file_to_array.txt # Leaving tests_file_to_array() # Entering tests_cpu_time() ok 1845 - cpu_time: no args => a number 7.17 + 1.06 + 0.27 + 0.79 = 9.29 ~ 9.29 ok 1846 - cpu_time: {} => a number # Leaving tests_cpu_time() # Entering tests_cpu_percent() ok 1847 - cpu_percent: no args => 0.0 cpu_percent: 0.0 ok 1848 - cpu_percent: {} => 0.0 cpu_percent: 0.0 ok 1849 - cpu_percent: {} 0 => 0.0 Strange: cpu_time 3 > timediff 1 cpu_percent: 300.0 ok 1850 - cpu_percent: {} 3 => 300.0 cpu_percent: 30.0 ok 1851 - cpu_percent: {} 3 10 => 30.0 cpu_percent: 0.0 ok 1852 - cpu_percent: {} 0 10 => 0.0 # Leaving tests_cpu_percent() # Entering tests_cpu_percent_global() ok 1853 - tests_cpu_percent_global: no args => 0 cpu_percent_global: 0.0 ok 1854 - tests_cpu_percent_global: {} => 0 cpu_percent_global: 0.0 ok 1855 - tests_cpu_percent_global: {} 0 => 0 ok 1856 # skip cpu_percent_global on host != i005 ok 1857 # skip cpu_percent_global on host != petite # Leaving tests_cpu_percent_global() # Entering tests_flags_for_host2() ok 1858 - flags_for_host2: no args => undef ok 1859 - flags_for_host2: undef => undef ok 1860 - flags_for_host2: nothing => undef ok 1861 - flags_for_host2: no flags => empty string ok 1862 - flags_for_host2: \Recent => empty string ok 1863 - flags_for_host2: \Recent \Seen => \Seen ok 1864 - flags_for_host2: \Deleted \Recent \Seen => \Deleted \Seen ok 1865 - flags_for_host2: flagscase = 0 \DELETED \Seen => \DELETED \Seen ok 1866 - flags_for_host2: flagscase = 1 \DELETED \Seen => \Deleted \Seen ok 1867 - flags_for_host2: filterflags = 0 \Seen \Blabla among \Seen \Junk => \Seen \Blabla ok 1868 - flags_for_host2: filterflags = 1 \Seen \Blabla among \Seen \Junk => \Seen ok 1869 - flags_for_host2: filterflags = 1 \Seen \Blabla among "" => \Seen \Blabla # Leaving tests_flags_for_host2() # Entering tests_under_docker_context() ok 1870 - under_docker_context: no args => undef ok 1871 - under_docker_context: --dockercontext => 1 ok 1872 - under_docker_context: --nodockercontext => 0 ok 1873 - under_docker_context: not docker context => 0 # Leaving tests_under_docker_context() # Entering tests_exit_value() ok 1874 - exit_value: no args => EXIT_CATCH_ALL ok 1875 - exit_value: undef => EXIT_CATCH_ALL ok 1876 - exit_value: Blabla => EXIT_CATCH_ALL ok 1877 - exit_value: empty => EXIT_CATCH_ALL ok 1878 - exit_value: undef => EXIT_CATCH_ALL ok 1879 - exit_value: ERR_OVERQUOTA => EXIT_OVERQUOTA ok 1880 - exit_value: ERR_TRANSFER_EXCEEDED => EXIT_TRANSFER_EXCEEDED # Leaving tests_exit_value() # Entering tests_comment_of_error_type() ok 1881 - comment_of_error_type: no args => undef ok 1882 - comment_of_error_type: undef => undef ok 1883 - comment_of_error_type: "" => "" ok 1884 - comment_of_error_type: blabla => "" ok 1885 - comment_of_error_type: ERR_UNCLASSIFIED => "" ok 1886 - comment_of_error_type: ERR_OVERQUOTA => matches 100% full # Leaving tests_comment_of_error_type() # Entering tests_debugcontent() ok 1887 - debugcontent: no args => undef ok 1888 - debugcontent: undef => undef ok 1889 - debugcontent: undef, mm => undef ok 1890 - debugcontent: undef, mm => mm # Leaving tests_debugcontent() # Entering tests_compress_ssl() HostK: connecting and login on hostk [test1.lamiral.info] port [993] with user [test1] Connecting with IO::Socket::SSL PeerAddr test1.lamiral.info PeerPort 993 Proto tcp Timeout 600 Debug 1 SSL_verify_mode 0 SSL_verifycn_scheme imap SSL_cipher_list DEFAULT:!DH Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN Read: 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1891 - tests_compress_ssl: test1.lamiral.info test1 ssl ok 1892 - tests_compress_ssl: test1.lamiral.info test1 ssl IsAuthenticated HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 3 COMPRESS DEFLATE Sent 20 bytes Read: 3 OK Begin compression (0.001 + 0.000 secs). HostK: Compression is on now ok 1893 - tests_compress_ssl: test1.lamiral.info compression ok HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 2Qpö÷ r Vpquóq qåå Sent 22 bytes Read: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1388. Mail::IMAPClient::__ANON__("4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled "...) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1424 Mail::IMAPClient::_get_response(Mail::IMAPClient=HASH(0x2ac81aea68), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81aea68), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81aea68), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81aea68)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81adab0)) called at imapsync line 8692 main::tests_compress_ssl() called at imapsync line 23849 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298. Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81aea68), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81aea68)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81adab0)) called at imapsync line 8692 main::tests_compress_ssl() called at imapsync line 23849 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 HostK: Failed to turn compression on ok 1894 - tests_compress_ssl: test1.lamiral.info compression 2nd time call nok HostK: connecting and login on hostk [test1.lamiral.info] port [993] with user [test1] Connecting with IO::Socket::SSL PeerAddr test1.lamiral.info PeerPort 993 Proto tcp Timeout 600 Debug 1 SSL_cipher_list DEFAULT:!DH SSL_verifycn_scheme imap SSL_verify_mode 0 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN Read: 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1895 - tests_compress_ssl: test1.lamiral.info test1 ssl ok 1896 - tests_compress_ssl: test1.lamiral.info test1 ssl no compression IsAuthenticated HostK: Compression is off. Use --compressK to allow compression on hostk ok 1897 - tests_compress_ssl: test1.lamiral.info no compression ok HostK: Compression is off. Use --compressK to allow compression on hostk ok 1898 - tests_compress_ssl: test1.lamiral.info 2nd no compression ok # Leaving tests_compress_ssl() # Entering tests_compress_starttls() HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] Connecting with IO::Socket::IP PeerAddr test1.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Sending: 2 STARTTLS Sent 12 bytes Read: 2 OK Begin TLS negotiation now. HostK: Socket successfully converted to SSL Sending: 3 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN Read: 3 OK Pre-login capabilities listed, post-login capabilities have more. Sending: 4 LOGIN test1 [Redact: Count=4 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 4 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1899 - tests_compress_starttls: test1.lamiral.info test1 tls ok 1900 - tests_compress_starttls: test1.lamiral.info test1 tls IsAuthenticated HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 5 COMPRESS DEFLATE Sent 20 bytes Read: 5 OK Begin compression (0.001 + 0.000 secs). HostK: Compression is on now ok 1901 - tests_compress_starttls: test1.lamiral.info tls compression ok HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 2Spö÷ r Vpquóq qåå Sent 22 bytes Read: 6 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). ERROR: 6 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1388. Mail::IMAPClient::__ANON__("6 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled "...) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1424 Mail::IMAPClient::_get_response(Mail::IMAPClient=HASH(0x2ac819e668), 6, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac819e668), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac819e668), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac819e668)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81b0848)) called at imapsync line 8643 main::tests_compress_starttls() called at imapsync line 23850 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: 6 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298. Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac819e668), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac819e668)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81b0848)) called at imapsync line 8643 main::tests_compress_starttls() called at imapsync line 23850 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 HostK: Failed to turn compression on ok 1902 - tests_compress_starttls: test1.lamiral.info tls compression 2nd time call nok HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] Connecting with IO::Socket::IP PeerAddr test1.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Sending: 2 STARTTLS Sent 12 bytes Read: 2 OK Begin TLS negotiation now. HostK: Socket successfully converted to SSL Sending: 3 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ AUTH=PLAIN Read: 3 OK Pre-login capabilities listed, post-login capabilities have more. Sending: 4 LOGIN test1 [Redact: Count=4 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 4 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1903 - tests_compress_starttls: test1.lamiral.info test1 tls no compression ok 1904 - tests_compress_starttls: test1.lamiral.info test1 tls no compression IsAuthenticated HostK: Compression is off. Use --compressK to allow compression on hostk ok 1905 - tests_compress_starttls: test1.lamiral.info no compression ok HostK: Compression is off. Use --compressK to allow compression on hostk ok 1906 - tests_compress_starttls: test1.lamiral.info 2nd no compression ok # Leaving tests_compress_starttls() # Entering tests_compress() HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] Connecting with IO::Socket::IP PeerAddr test1.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1907 - tests_compress: test1.lamiral.info test1 ok 1908 - tests_compress: test1.lamiral.info test1 IsAuthenticated HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 3 COMPRESS DEFLATE Sent 20 bytes Read: 3 OK Begin compression (0.001 + 0.000 secs). HostK: Compression is on now ok 1909 - tests_compress: test1.lamiral.info ok HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 2Qpö÷ r Vpquóq qåå Sent 22 bytes Read: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1388. Mail::IMAPClient::__ANON__("4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled "...) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1424 Mail::IMAPClient::_get_response(Mail::IMAPClient=HASH(0x2ac81aaab0), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81aaab0), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81aaab0), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81aaab0)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81a9890)) called at imapsync line 8733 main::tests_compress() called at imapsync line 23851 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298. Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81aaab0), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81aaab0)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81a9890)) called at imapsync line 8733 main::tests_compress() called at imapsync line 23851 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 HostK: Failed to turn compression on ok 1910 - tests_compress: test1.lamiral.info 2nd nok HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] Connecting with IO::Socket::IP PeerAddr test1.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1911 - tests_compress: test1.lamiral.info test1 tls ok 1912 - tests_compress: test1.lamiral.info test1 tls IsAuthenticated HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 3 COMPRESS DEFLATE Sent 20 bytes Read: 3 OK Begin compression (0.001 + 0.000 secs). HostK: Compression is on now ok 1913 - tests_compress: test1.lamiral.info tls ok HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk Sending: 2Qpö÷ r Vpquóq qåå Sent 22 bytes Read: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1388. Mail::IMAPClient::__ANON__("4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled "...) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1424 Mail::IMAPClient::_get_response(Mail::IMAPClient=HASH(0x2ac81a9530), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350 Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2ac81a9530), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248 Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a9530), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81a9530)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81a9890)) called at imapsync line 8743 main::tests_compress() called at imapsync line 23851 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 ERROR: 4 NO [COMPRESSIONACTIVE] COMPRESSION=DEFLATE already enabled (0.001 + 0.000 secs). at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1298. Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2ac81a9530), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480 Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2ac81a9530)) called at imapsync line 8776 main::acc_compress_imap(HASH(0x2ac81a9890)) called at imapsync line 8743 main::tests_compress() called at imapsync line 23851 main::tests(HASH(0x2ac699c6d0)) called at imapsync line 21225 main::unittestssuite(HASH(0x2ac699c6d0)) called at imapsync line 1565 main::single_sync(HASH(0x2ac699c6d0), HASH(0x2ac4b62598), HASH(0x2ac699c868)) called at imapsync line 1385 HostK: Failed to turn compression on ok 1914 - tests_compress: test1.lamiral.info tls 2nd nok HostK: connecting and login on hostk [test1.lamiral.info] port [143] with user [test1] Connecting with IO::Socket::IP PeerAddr test1.lamiral.info PeerPort 143 Proto tcp Timeout 600 Debug 1 Connected to test1.lamiral.info Read: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. HostK IP address: 91.121.221.224 Local IP address: 172.25.22.77 HostK banner: * OK [CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN] Dovecot (Debian) ready. Sending: 1 CAPABILITY Sent 14 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN 1 OK Pre-login capabilities listed, post-login capabilities have more. HostK capability before authentication: IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE LITERAL+ STARTTLS AUTH=PLAIN AUTH Sending: 2 LOGIN test1 [Redact: Count=2 Showcredentials=OFF] Sent 23 bytes Read: * CAPABILITY IMAP4rev1 SASL-IR LOGIN-REFERRALS ID ENABLE IDLE SORT SORT=DISPLAY THREAD=REFERENCES THREAD=REFS THREAD=ORDEREDSUBJECT MULTIAPPEND URL-PARTIAL CATENATE UNSELECT CHILDREN NAMESPACE UIDPLUS LIST-EXTENDED I18NLEVEL=1 CONDSTORE QRESYNC ESEARCH ESORT SEARCHRES WITHIN CONTEXT=SEARCH LIST-STATUS BINARY MOVE SNIPPET=FUZZY PREVIEW=FUZZY STATUS=SIZE SAVEDATE LITERAL+ NOTIFY SPECIAL-USE COMPRESS=DEFLATE 2 OK Logged in HostK: success login on [test1.lamiral.info] with user [test1] auth [LOGIN] or [LOGIN] ok 1915 - tests_compress: test1.lamiral.info test1 ssl ok 1916 - tests_compress: test1.lamiral.info test1 ssl IsAuthenticated HostK: Compression is off. Use --compressK to allow compression on hostk ok 1917 - tests_compress: test1.lamiral.info off ok HostK: Compression is off. Use --compressK to allow compression on hostk ok 1918 - tests_compress: test1.lamiral.info 2nd off ok # Leaving tests_compress() # Entering tests_get_options_extra_from_file() ok 1919 - tests_get_options_extra_from_file: no args => undef ok 1920 - tests_get_options_extra_from_file: undef => undef ok 1921 - tests_get_options_extra_from_file: mkpath W/tmp/tests/options_extra/ ok 1922 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --debugimap1 ok 1923 - tests_get_options_extra_from_file: reading options_extra.txt is --debugimap1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1924 - tests_get_options_extra_from_file: --debugimap1 in options_extra.txt => nothing left, empty string return ok 1925 - tests_get_options_extra_from_file: --debugimap1 in options_extra.txt => ok, acc1->debugimap = 1 ok 1926 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --tls1 proutcaca Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1927 - tests_get_options_extra_from_file: --tls1 proutcaca in options_extra.txt => proutcaca left, proutcaca return ok 1928 - tests_get_options_extra_from_file: --tls1 proutcaca" => tls1 = 1 ok 1929 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --tls2 --proutcaca pipi Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1930 - tests_get_options_extra_from_file: --tls2 --proutcaca pipi in options_extra.txt => --proutcaca pipi return ok 1931 - tests_get_options_extra_from_file: --tls2 proutcaca" => tls2 = 1 # Leaving tests_get_options_extra_from_file() # Entering tests_get_options_from_string() ok 1932 - tests_get_options_from_string: no args => undef ok 1933 - tests_get_options_from_string: undef => undef Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1934 - tests_get_options_from_string: --debugimap1 => ok, nothing left, empty string return ok 1935 - tests_get_options_from_string: --debugimap1 => ok, acc1->debugimap = 1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1936 - tests_get_options_from_string: --debugimap1 caca => ok, caca left, caca return ok 1937 - tests_get_options_from_string: --debugimap1 => ok, acc1->debugimap = 1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1938 - tests_get_options_from_string: --debugimap1 popo roro => ok, popo roro left, popo roro return ok 1939 - tests_get_options_from_string: --debugimap2 popo roro => ok, acc2->debugimap = 1 ok 1940 - tests_get_options_from_string: acc1->debugimap = 1 still Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1941 - tests_get_options_from_string: --nodebugimap1 --debugflags --errorsmax 2 => ok, empty string return ok 1942 - tests_get_options_from_string: acc1->debugimap = 0 now ok 1943 - tests_get_options_from_string: debugflags = 1 now ok 1944 - tests_get_options_from_string: mysync->errorsmax = 2 now Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1945 - tests_get_options_from_string: --folder "IN BOX" --folder JOE => ok, empty string return ok 1946 - tests_get_options_from_string: "IN BOX" "JOE" Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1947 - tests_get_options_from_string: --debugflags --koko => --koko Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 1948 - tests_get_options_from_string: --folder "IN BOX" --folder JOE => ok, empty string return ok 1949 - tests_get_options_from_string: "IN BOX" "JOE" # Leaving tests_get_options_from_string() # Entering tests_email_report_message_id() ok 1950 - email_report_message_id: no args => ...._.._.._.._.._.._...__@imapsync.tk ok 1951 - email_report_message_id: undef => ...._.._.._.._.._.._...__@imapsync.tk ok 1952 - email_report_message_id: 1357902468.531 => 2013_01_11_\d\d_07_48_530__@imapsync.tk ok 1953 - email_report_message_id: 1357902468.531 sarah haras => 2013_01_11_\d\d_07_48_530_sarah_haras@imapsync.tk ok 1954 - email_report_message_id: 1357902468.531 sar@ah har@as => 2013_01_11_\d\d_07_48_530_sar_ah_har_as@imapsync.tk # Leaving tests_email_report_message_id() # Entering tests_date_year_month_day_hour_min_sec_ms() ok 1955 - year_month_day_hour_min_sec_ms: no args => 1970_01_01_00_00_00_000 GMT ok 1956 - year_month_day_hour_min_sec_ms: 0 => 1970_01_01_00_00_00_000 GMT ok 1957 - year_month_day_hour_min_sec_ms: 123456789.123 => 1973_11_29_21_33_09_122 GMT ok 1958 - year_month_day_hour_min_sec_ms: -1 => 1969_12_31_23_59_59_000 GMT ok 1959 - year_month_day_hour_min_sec_ms: -0.246 => 1969_12_31_23_59_59_754 GMT ok 1960 - year_month_day_hour_min_sec_ms: -123456789.135 => 1966_02_02_02_26_50_864 GMT # Leaving tests_year_month_day_hour_min_sec_ms() # Entering tests_fractional_of_floor() ok 1961 - fractional_of_floor: no args => 0 ok 1962 - fractional_of_floor: 0 => 0 ok 1963 - fractional_of_floor: 0 => 0 ok 1964 - fractional_of_floor: 1 => 0 ok 1965 - fractional_of_floor: 1 => 0 ok 1966 - fractional_of_floor: -1 => 0 ok 1967 - fractional_of_floor: -1 => 0 ok 1968 - fractional_of_floor: 1.234 => 0.234 ok 1969 - fractional_of_floor: 1.234 => 0.234 ok 1970 - fractional_of_floor: -1.234 => 0.766 ok 1971 - fractional_of_floor: -1.234 => 0.766 ok 1972 - fractional_of_floor: 10.234 => 0.234 ok 1973 - fractional_of_floor: -10.234 => 0.766 # Leaving tests_fractional_of_floor() # Entering tests_email_report_date() ok 1974 - date_rfc822: no args => now: Tue, 30 Sep 2025 08:13:38 +0000 ok 1975 - date_rfc822: 0 => Thu, 01 Jan 1970 00:00:00 +0000 ok 1976 - date_rfc822: 1671706800 => Thu, 22 Dec 2022 11:00:00 +0000 # Leaving tests_email_report_date() # Entering tests_email_report_from() ok 1977 - email_report_from: no args => help@imapsync.tk ok 1978 - email_report_from: undef => help@imapsync.tk ok 1979 - email_report_from: foo@example.com => foo@example.com # Leaving tests_email_report_from() # Entering tests_email_report_from() ok 1980 - email_report_to: no args => help@imapsync.tk ok 1981 - email_report_to: undef => help@imapsync.tk ok 1982 - email_report_to: foo@example.com => foo@example.com # Leaving tests_email_report_from() # Entering tests_email_report_body_base() ok 1983 - email_report_body_base: no args => empty string ok 1984 - email_report_body_base: undef => empty string # # # # Imapsync transfer from user1@example.com to user2@example.com # # #

Hello!

#

# Imapsync just ended the synchronization from the imap account user1@example.com to the imap account user2@example.com.
#

# Leaving tests_email_report_body_base() # Entering tests_email_report() ok 1985 - email_report: undef => empty string # Message-Id: 2025_09_30_08_13_38_868_user1_example_com_user2_example_com@imapsync.tk # Date: Tue, 30 Sep 2025 08:13:38 +0000 # From: help@imapsync.tk # To: user2@example.com # Subject: Imapsync transferred your account # Content-Type: text/html # # # # # # # Imapsync transfer from user1@example.com to user2@example.com # # #

Hello!

#

# Imapsync just ended the synchronization from the imap account user1@example.com to the imap account user2@example.com.
#

# c'est extra ! # # # Leaving tests_email_report() # Entering tests_setlogdir() ok 1986 - setlogdir: no args => LOG_imapsync ok 1987 - setlogdir: no args => LOG_imapsync ok 1988 - setlogdir: logdir empty string => empty string ok 1989 - setlogdir: logdir empty string unchanged ok 1990 - setlogdir: logdir vallogdir => vallogdir ok 1991 - setlogdir: logdir vallogdir unchanged ok 1992 - setlogdir: logdir vallogdir => vallogdir ok 1993 - setlogdir: logdir vallogdir unchanged # Leaving tests_setlogdir() # Entering tests_logfilesuffix() ok 1994 - tests_logfilesuffix: no args => _ ok 1995 - tests_logfilesuffix: undef => _ ok 1996 - tests_logfilesuffix: valuser1 valuser2 => valuser1_valuser2 ok 1997 - tests_logfilesuffix: valuser1 valuser2 _suppl => valuser1_valuser2_suppl # Leaving tests_logfilesuffix() # Entering tests_cgienvcontext() ok 1998 - cgienvcontext: no args => empty ok 1999 - cgienvcontext: undef => empty ok 2000 - cgienvcontext: SERVER_SOFTWARE=Chateau Lami ok 2001 - cgienvcontext: SERVER_SOFTWARE + REMOTE_HOST ok 2002 - cgienvcontext: SERVER_SOFTWARE + REMOTE_HOST + --var REMOTE_HOST ok 2003 - cgienvcontext: SERVER_SOFTWARE + --var REMOTE_HOST ok 2004 - cgienvcontext: --var REMOTE_HOST # Leaving tests_cgienvcontext() # Entering tests_usecache_and_skipcrossduplicates() ok 2005 - usecache_and_skipcrossduplicates: no args => undef ok 2006 - usecache_and_skipcrossduplicates: undef => undef ok 2007 - usecache_and_skipcrossduplicates: usecache=skipcrossduplicates=1 => wrong # Leaving tests_usecache_and_skipcrossduplicates() # Entering tests_loglogfile() ok 2008 - loglogfile: no args => undef ok 2009 - loglogfile: undef => undef ok 2010 - loglogfile: no logfile => undef ok 2011 - loglogfile: logfile=logfile.txt => # Leaving tests_loglogfile() # Entering tests_is_heavy_load_reached() ok 2012 - heavy_load_reached: no args => 0 or 1 ok 2013 - heavy_load_reached: { } => 0 or 1 ok 2014 - heavy_load_reached: exitonload=0 => 0 # Leaving tests_heavy_load_reached() # Entering tests_heavy_load_percent_threshold() # 99 (%) ok 2015 - heavy_load_percent_threshold: no args => integer ok 2016 - heavy_load_percent_threshold: { } => integer # Leaving tests_heavy_load_percent_threshold() # Entering tests_pctmem_available() ok 2017 - pctmem_available: no args => undef ok 2018 - pctmem_available: => 0 or 1 # Leaving tests_pctmem_available() # Entering tests_filterbuggyflags() ok 2019 - tests_filterbuggyflags: remove famous /X 1 ok 2020 - tests_filterbuggyflags: remove famous /X 2 ok 2021 - tests_filterbuggyflags: \ is \ ok 2022 - tests_filterbuggyflags: \ is \ # Leaving tests_filterbuggyflags() # Entering tests_heavy_load_reached_by_memory() ok 2023 - heavy_load_reached_by_memory: no args => 0 or 1 ok 2024 - heavy_load_reached_by_memory: { } => 0 or 1 # Leaving tests_heavy_load_reached_by_memory() # Entering tests_heavy_load_reached_by_cpu() # 3.39 1.70 0.99 5/1417 heavy_load_reached_by_cpu 0 ok 2025 - heavy_load_reached_by_cpu: no args => 0 or 1 ok 2026 - heavy_load_reached_by_cpu: { } => 0 or 1 # Leaving tests_heavy_load_reached_by_cpu() # Entering tests_load_per_cpu() # loadavg: 3.39 1.70 0.99 4/1416 cpu_number: 64 load_per_cpu 0 ok 2027 - tests_load_per_cpu: no args => number ok 2028 - tests_load_per_cpu: { } => number # Leaving tests_load_per_cpu() # Entering tests_memory_consumption_surface() ok 2029 - memory_consumption_surface: no args => undef ok 2030 - memory_consumption_surface: { } => undef ok 2031 - memory_consumption_surface: 1 MB 1 hour => 1 ok 2032 - memory_consumption_surface: 500 MB 30 min => 238 # Leaving tests_memory_consumption_surface() # Entering tests_add() ok 2033 - tests_add: no args => 0 ok 2034 - tests_add: undef => 0 ok 2035 - tests_add: 0 => 0 ok 2036 - tests_add: 0 0 => 0 ok 2037 - tests_add: 0 0 0 => 0 ok 2038 - tests_add: 1 => 1 ok 2039 - tests_add: 1 1 => 2 ok 2040 - tests_add: 1 1 1 => 3 ok 2041 - tests_add: 1 undef 1 => 2 ok 2042 - tests_add: -1 1 => 0 ok 2043 - tests_add: 1.1 1.1 => 2.2 ok 2044 - tests_add: 1 1 ... 1 100 times => 100 list ok 2045 - tests_add: 1 1 ... 1 100 times => 100 array # Leaving tests_add() # Entering tests_all_pids() # all_pids 1 2 13 15 16 1426 1427 1501 ok 2046 - tests_all_pids: no args => list of pids # Leaving tests_all_pids() # Entering tests_memory_consumption_of_all_pids() # memory_consumption_of_all_pids: 209977344 bytes aka 209.977 MB ok 2047 - tests_memory_consumption_of_all_pids no args # Leaving tests_memory_consumption_of_all_pids() # Entering tests_remove_qq() ok 2048 - tests_remove_qq: no args => undef ok 2049 - tests_remove_qq: empty => empty ok 2050 - tests_remove_qq: ABC => ABC ok 2051 - tests_remove_qq: "ABC" => ABC ok 2052 - tests_remove_qq: ""ABC" => "ABC ok 2053 - tests_remove_qq: "ABC"" => ABC" ok 2054 - tests_remove_qq: ""ABC"" => "ABC" # Leaving tests_remove_qq() # Entering tests_memory_consumption_all_pids_percent() # 0.16 (%) ok 2055 - tests_memory_consumption_all_pids_percent: no args => like 12.34 ok 2056 - tests_memory_consumption_all_pids_percent: > 0 ok 2057 - tests_memory_consumption_all_pids_percent: <= 100 # Leaving tests_memory_consumption_all_pids_percent() # Entering tests_ram_memory_info() # ram_memory_info:30.3/124.9 free GiB of RAM, 0.16% used by processes. # total_ram_memory_bytes_sys_meminfo:134090579968 ok 2058 - ram_memory_info: => some text # Leaving tests_ram_memory_info() # Entering tests_firstline_or_string() ok 2059 - tests_firstline_or_string: no args => undef Taking string as the value since it is not a file ok 2060 - tests_firstline_or_string: empty string => please, give a value Taking string W/tmp/tests/noexist.txt as the value since it is not a file ok 2061 - tests_firstline_or_string: get W/tmp/tests/noexist.txt string from inexisting W/tmp/tests/noexist.txt ok 2062 - tests_firstline_or_string: mkpath W/tmp/tests/ ok 2063 - tests_firstline_or_string: put blabla in W/tmp/tests/firstline.txt Reading first line of file W/tmp/tests/firstline.txt ok 2064 - tests_firstline_or_string: get blabla from W/tmp/tests/firstline.txt # Leaving tests_firstline_or_string() # Entering tests_oauth2_bearer_string() ok 2065 - tests_oauth2_bearer_string: no args => undef ok 2066 - tests_oauth2_bearer_string: empty string, no user => undef Taking string as the value since it is not a file ok 2067 - tests_oauth2_bearer_string: empty string, empty user => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ Executing script: noexists open3: exec of noexists failed: No such file or directory at imapsync line 19160. Taking string as the value since it is not a file ok 2068 - tests_oauth2_bearer_string: empty string, empty user, noexists command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ Executing script: true Taking string as the value since it is not a file ok 2069 - tests_oauth2_bearer_string: empty string, empty user, true command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ Executing script: false Taking string as the value since it is not a file ok 2070 - tests_oauth2_bearer_string: empty string, empty user, false command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ Executing script: ls /kkkk Output of ls /kkkk ls: cannot access '/kkkk': No such file or directory Taking string as the value since it is not a file ok 2071 - tests_oauth2_bearer_string: empty string, empty user, ls /kkkk command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ Executing script: echo Hi! Output of echo Hi! Hi! Taking string as the value since it is not a file ok 2072 - tests_oauth2_bearer_string: empty string, empty user, empty command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ # Leaving tests_oauth2_bearer_string() # Entering tests_diskspace_available() ok 2073 - tests_diskspace_available: no args => 1, could touch /var/tmp/imapsync_test_diskspace_available ok 2074 - tests_diskspace_available: removed /var/tmp/imapsync_test_diskspace_available ok 2075 - tests_diskspace_available: no args => 1, could touch /var/tmp/imapsync_test_diskspace_available2 ok 2076 - tests_diskspace_available: removed /var/tmp/imapsync_test_diskspace_available2 ok 2077 - tests_diskspace_available: /no/no/no/no => undef # Leaving tests_diskspace_available() # Entering tests_generate_a_random_string() ok 2078 - tests_generate_a_random_string: give me a random string ok 2079 - tests_generate_a_random_string: 64 characters long ok 2080 - tests_generate_a_random_string: give another one ok 2081 - tests_generate_a_random_string: 64 characters long # ljuvjcyuxbmwqbgrhnppxotgunorgkzdhowyrawvtnaoksrbitxqawzppkrsxbjg illsqtbdxhbwynupqtmhymqxdphgilvrrnukehztywgjlztbcaxmixizhoecwfyv ok 2082 - tests_generate_a_random_string: hope they are different ok 2083 - tests_generate_a_random_string: give me a 11 characters random string ok 2084 - tests_generate_a_random_string: 11 characters long # xgljbuwurwl # Leaving tests_generate_a_random_string() # Entering tests_filter_forbidden_characters() ok 2085 - tests_filter_forbidden_characters_cgi_context: no args -> undef ok 2086 - tests_filter_forbidden_characters_cgi_context: empty string -> empty string ok 2087 - tests_filter_forbidden_characters_cgi_context: a*|?:"<>'b -> a________b ok 2088 - tests_filter_forbidden_characters_cgi_context: "a b " -> "a_b_" ok 2089 - tests_filter_forbidden_characters_cgi_context: a\tb -> a_b ok 2090 - tests_filter_forbidden_characters_cgi_context: a\rb -> a_b ok 2091 - tests_filter_forbidden_characters_cgi_context: a\nb -> a_b ok 2092 - tests_filter_forbidden_characters_cgi_context: a\b -> a_b ok 2093 - tests_filter_forbidden_characters_cgi_context: a-b -> a-b ok 2094 - tests_filter_forbidden_characters_cgi_context: aé-è-à-ç-Öb -> a__-__-__-__-__b ok 2095 - tests_filter_forbidden_characters_cgi_context: abcd_ABCDwxyz-WXYZ012789 -> abcd_ABCDwxyz-WXYZ012789 # Leaving tests_filter_forbidden_characters() # Entering tests_trigger_justconnect1() ok 2096 - tests_trigger_justconnect1: no args => undef ok 2097 - tests_trigger_justconnect1: { } => undef ok 2098 - tests_trigger_justconnect1: --justconnect => 1 ok 2099 - tests_trigger_justconnect1: no more --justconnect => undef ok 2100 - tests_trigger_justconnect1: just --host1 => 1 ok 2101 - tests_trigger_justconnect1: --host1 --user1 => 1 # Leaving tests_trigger_justconnect1() # Entering tests_trigger_justconnect2() ok 2102 - tests_trigger_justconnect2: no args => undef ok 2103 - tests_trigger_justconnect2: { } => undef ok 2104 - tests_trigger_justconnect2: --justconnect => 1 ok 2105 - tests_trigger_justconnect2: no more --justconnect => undef ok 2106 - tests_trigger_justconnect2: just --host2 => 1 ok 2107 - tests_trigger_justconnect1: --host2 --user2 => 1 # Leaving tests_trigger_justconnect2() # Entering tests_tmpdir() ok 2108 - tests_tmpdir: no args => ./ ok 2109 - tests_tmpdir: {} + $HOME => $HOME/tmp ok 2110 - tests_tmpdir: {} + no $HOME => ./ ok 2111 - tests_tmpdir: {}->{tmpdir} + $HOME => {}->{tmpdir} # Leaving tests_tmpdir() # Entering tests_cgidir() ok 2112 - tests_cgidir: no args => undef ok 2113 # skip Tests avoided in Docker context or foreign host ok 2114 # skip Tests avoided in Docker context or foreign host ok 2115 # skip Tests avoided in Docker context or foreign host # Leaving tests_cgidir() # Entering tests_separate_host_port_folder() ok 2116 - tests_separate_host_port_folder: no args => undef ok 2117 - tests_separate_host_port_folder: empty string => empty array ok 2118 - tests_separate_host_port_folder: imap.foo.kk => imap.foo.kk ok 2119 - tests_separate_host_port_folder: imap.foo.kk/ => imap.foo.kk ok 2120 - tests_separate_host_port_folder: imap.foo.kk:114433 => imap.foo.kk 114433 ok 2121 - tests_separate_host_port_folder: imap.foo.kk:114433/ => imap.foo.kk 114433 ok 2122 - tests_separate_host_port_folder: imap.foo.kk/coco => imap.foo.kk undef coco ok 2123 - tests_separate_host_port_folder: imap.foo.kk/coco/cucu/ => imap.foo.kk undef coco/cucu/ ok 2124 - tests_separate_host_port_folder: imap.foo.kk:114433/coco => imap.foo.kk 114433 coco ok 2125 - tests_separate_host_port_folder: imap.foo.kk:114433/coco/cucu/ => imap.foo.kk 114433 coco/cucu/ ok 2126 - tests_separate_host_port_folder: imap.foo.kk/co co => imap.foo.kk undef co co ok 2127 - tests_separate_host_port_folder: imap.foo.kk/co co/cucu/ => imap.foo.kk undef co co/cucu/ ok 2128 - tests_separate_host_port_folder: imap.foo.kk:114433/co co => imap.foo.kk 114433 co co ok 2129 - tests_separate_host_port_folder: imap.foo.kk:114433/co co/cucu/ => imap.foo.kk 114433 co co/cucu/ ok 2130 - tests_separate_host_port_folder: imap.foo.kk/co co => imap.foo.kk undef co co ok 2131 - tests_separate_host_port_folder: imap.foo.kk/co co/cucu/ => imap.foo.kk undef co co/cucu/ ok 2132 - tests_separate_host_port_folder: imap.foo.kk:114433/co co => imap.foo.kk 114433 co co ok 2133 - tests_separate_host_port_folder: imap.foo.kk:114433/co co/cucu/ => imap.foo.kk 114433 co co/cucu/ # Leaving tests_separate_host_port_folder() # Entering tests_host1_port1_folderrec_from_host1() ok 2134 - tests_host1_port1_folderrec_from_host1: no args => undef ok 2135 - tests_host1_port1_folderrec_from_host1: { } => undef ok 2136 - tests_host1_port1_folderrec_from_host1: host1 empty => undef ok 2137 - tests_host1_port1_folderrec_from_host1: host1 empty => host1 empty ok 2138 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk => undef ok 2139 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk => host1 imap.foo.kk ok 2140 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk/ => undef ok 2141 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk/ => host1 imap.foo.kk Acting like --port1 1234 ok 2142 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => undef ok 2143 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => host1 imap.foo.kk ok 2144 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => port1 1234 Acting like --port1 4321 ok 2145 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => undef ok 2146 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => host1 imap.foo.qq ok 2147 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => port1 4321 Acting like --folderrec prout/hoho ok 2148 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.kk/prout/hoho => undef ok 2149 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.kk/prout/hoho => host1 imap.bar.kk ok 2150 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.kk/prout/hoho => folderrec prout/hoho Acting like --port1 2345 Acting like --folderrec prout.haha ok 2151 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => undef ok 2152 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => host1 imap.bar.qq ok 2153 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => port1 2345 ok 2154 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => folderrec prout.haha # Leaving tests_host1_port1_folderrec_from_host1() # Entering tests_get_options_extra_from_param() ok 2155 - tests_get_options_extra_from_param: no args => undef ok 2156 - tests_get_options_extra_from_param: undef => undef Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 2157 - tests_get_options_extra_from_param: --extra --debugimap1 => nothing left, empty string return ok 2158 - tests_get_options_extra_from_param: --debugimap1 in options_extra.txt => ok, acc1->debugimap = 1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 2159 - tests_get_options_extra_from_param: --extra "--tls1 proutcaca" => proutcaca left, proutcaca return ok 2160 - tests_get_options_extra_from_param: --extra "--tls1 proutcaca" => tls1 = 1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 2161 - tests_get_options_extra_from_param: --extra "--tls1 --proutcaca" => --proutcaca left, --proutcaca return ok 2162 - tests_get_options_extra_from_param: --extra "--tls1 --proutcaca" => tls1 = 1 Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 2163 - tests_get_options_extra_from_param: --extra "--oauthaccesstoken1 proutcaca" => nothing left, empty string return ok 2164 - tests_get_options_extra_from_param: --extra "--oauthaccesstoken1 proutcaca" => ->{ acc1 }->{ oauthaccesstoken } = proutcaca Duplicate specification "debugsleep=f" for option "debugsleep" Duplicate specification "syncduplicates!" for option "syncduplicates" Duplicate specification "skipcrossduplicates!" for option "skipcrossduplicates" Duplicate specification "debugcrossduplicates!" for option "debugcrossduplicates" ok 2165 - tests_get_options_extra_from_param: --folder "IN BOX" --folder JOE => ok, empty string return ok 2166 - tests_get_options_extra_from_param: "IN BOX" "JOE" # Leaving tests_get_options_extra_from_param() # Entering tests_setlog() ok 2167 - tests_setlog: no args => undef ok 2168 - tests_setlog: default => log is on Logging to a logfile by default. To turn off logging, use --nolog ok 2169 - tests_setlog: SERVER_SOFTWARE set + Docker => log is on Logging to a logfile in Docker+CGI context, by default. To turn off logging, use --nolog ok 2170 - tests_setlog: NET_SERVER_SOFTWARE set + Docker => log is on Logging to a logfile in Docker+CGI context, by default. To turn off logging, use --nolog ok 2171 - tests_setlog: Docker context, not CGI => log is off No log to a logfile in basic Docker context, by default. To turn on logging, use --log ok 2172 - tests_setlog: CGI context => log is on Logging to a logfile by default. To turn off logging, use --nolog # Leaving tests_setlog() # Entering tests_delete_folders_in_2_not_in_1() Entering delete_folders_in_2_not_in_1() ok 2173 - tests_delete_folders_in_2_not_in_1: undef Entering delete_folders_in_2_not_in_1() ok 2174 - tests_delete_folders_in_2_not_in_1: undef 2 Entering delete_folders_in_2_not_in_1() ok 2175 - tests_delete_folders_in_2_not_in_1: undef imap ok 2176 - require Test::MockObject; Entering delete_folders_in_2_not_in_1() ok 2177 - tests_delete_folders_in_2_not_in_1: Unconnected imap Entering delete_folders_in_2_not_in_1() ok 2178 - tests_delete_folders_in_2_not_in_1: --delete2folders OFF Entering delete_folders_in_2_not_in_1() Deleted DELME1 Deleted DELME2 Leaving delete_folders_in_2_not_in_1() ok 2179 - tests_delete_folders_in_2_not_in_1: DELME1 DELME2 --delete2folders ON Entering delete_folders_in_2_not_in_1() Host2: Not deleting INBOX, since it is RFC mandatory to exist. Deleted DELME1 Deleted DELME2 Host2: Not deleting Inbox, since it is RFC mandatory to exist. Leaving delete_folders_in_2_not_in_1() ok 2180 - tests_delete_folders_in_2_not_in_1: skip INBOX Inbox Entering delete_folders_in_2_not_in_1() Deleted DELME1 Not deleting NOTDELME2 because of --delete2foldersbutnot m{NOTDELME2} Leaving delete_folders_in_2_not_in_1() ok 2181 - tests_delete_folders_in_2_not_in_1: DELME1 --delete2foldersbutnot NOTDELME2 Entering delete_folders_in_2_not_in_1() Deleted DELME1 Not deleting NOTME because of --delete2foldersonly m{DELME} Deleted DELME2 Deleted YESDELMETOO Leaving delete_folders_in_2_not_in_1() ok 2182 - tests_delete_folders_in_2_not_in_1: --delete2foldersonly DELME # Leaving tests_delete_folders_in_2_not_in_1() # Entering tests_subfolder2_with_delete2folders() ok 2183 - tests_subfolder2_with_delete2folders: no args => undef ok 2184 - tests_subfolder2_with_delete2folders: { } => undef ok 2185 - tests_subfolder2_with_delete2folders: only --delete2foldersonly /QQQ/ => undef ok 2186 - tests_subfolder2_with_delete2folders: --delete2foldersonly /QQQ/ --subfolder2 SUB => undef Detected --subfolder2 SUB --delete2folders Detected also a --delete2foldersonly /QQQ/ so you are on your own about this value. ok 2187 - tests_subfolder2_with_delete2folders: --delete2foldersonly /QQQ/ --subfolder2 SUB --delete2folders => /QQQ/ Detected --subfolder2 SUB --delete2folders Adding --delete2foldersonly m{SUB} ok 2188 - tests_subfolder2_with_delete2folders: --subfolder2 --delete2folders => m{SUB} ok 2189 - tests_subfolder2_with_delete2folders: --subfolder2 --delete2folders => --delete2foldersonly m{SUB} # Leaving tests_subfolder2_with_delete2folders() # Entering tests_infos() # OSNAME=linux # hostname=arch-nspawn-1648141 # cwd=/build/imapsync/src/imapsync-2.314 # PROGRAM_NAME=imapsync # permissions=0755 # PROCESS_ID=1427 # REAL_USER_ID=1000 # EFFECTIVE_USER_ID=1000 # context: Standard # memory_consumption_of_myself: 183750656 bytes aka 183.751 MB # cpu_number: 64 # $Id: imapsync,v 2.314 2025/09/23 16:55:17 gilles Exp gilles $ # Leaving tests_infos() 1..2189 # Leaving tests() Summary of tests: failed 2 tests, run 2189 tests, expected to run 2189 tests. List of failed tests: nb 1646 - tests_mailimapclient_connect: ipv6 + ssl: connect to test1ipv6.lamiral.info nb 1647 - tests_mailimapclient_connect: ipv6 + ssl: logout in ssl is ok on test1ipv6.lamiral.info # Looks like your test exited with 254 just after 2189. ==> ERROR: A failure occurred in check().  Aborting... ==> ERROR: Build failed, check /var/lib/archbuild/extra-riscv64/felix-6/build [?25h[?25h[?25hreceiving incremental file list imapsync-2.314-1-riscv64-build.log imapsync-2.314-1-riscv64-check.log imapsync-2.314-1-riscv64-prepare.log sent 81 bytes received 44,553 bytes 89,268.00 bytes/sec total size is 234,332 speedup is 5.25