/path/fol_d1/fold2
ok 546 - cache_folder: -> //
ok 547 - cache_folder: *|?:"<> -> //_______
# Leaving tests_cache_folder()
# Entering tests_time_remaining()
ok 548 - time_remaining: no args -> 0
ok 549 - time_remaining: 0, 0, 0, 0 -> 0
ok 550 - time_remaining: 1, 1, 2, 1 -> 1
ok 551 - time_remaining: 9, 9, 10, 9 -> 1
ok 552 - time_remaining: 1, 1, 10, 1 -> 9
ok 553 - time_remaining: 5, 5, 10, 5 -> 5
ok 554 - time_remaining: 5, 5, 10, 0 -> ( 5 / 1 ) * ( 10 - 5) = 25
ok 555 - time_remaining: 5, 5, 10, 1 -> ( 5 / 1 ) * ( 10 - 5) = 25
# Leaving tests_time_remaining()
# Entering tests_decompose_regex()
ok 556 - decompose_regex 1
ok 557 - decompose_regex empty string
ok 558 - decompose_regex s/.*/lala/
# Leaving tests_decompose_regex()
# Entering tests_backtick()
ok 559 - backtick: no args
ok 560 - backtick: empty command
ok 561 # skip test for MSWin32
ok 562 # skip test for MSWin32
ok 563 # skip test for MSWin32
ok 564 # skip test for MSWin32
ok 565 # skip test for MSWin32
open3: exec of aaaarrrg failed: No such file or directory at imapsync line 18951.
ok 566 - backtick: aaaarrrg command not found
ok 567 - backtick: echo Hello World!
ok 568 - backtick: echo Hello; echo World! line 1
ok 569 - backtick: echo Hello; echo World! line 2
ok 570 - backtick: echo Hello World! scalar
ok 571 - backtick: echo Hello; echo World! scalar 2 lines
ok 572 - backtick: false returns no output
# Leaving tests_backtick()
# Entering tests_bytes_display_string_bin()
ok 573 - bytes_display_string_bin: no args => NA
ok 574 - bytes_display_string_bin: undef => NA
ok 575 - bytes_display_string_bin: blabla => NA
ok 576 - bytes_display_string_bin: 0 => 0.000 KiB
ok 577 - bytes_display_string_bin: 1 => 0.001 KiB
ok 578 - bytes_display_string_bin: 10 => 0.010 KiB
ok 579 - bytes_display_string_bin: 999 => 0.976 KiB
# 0.976 KiB
ok 580 - bytes_display_string_bin: 1023 => 0.999 KiB
# 0.999 KiB
ok 581 - bytes_display_string_bin: 1024 => 1.000 KiB
# 1.000 KiB
ok 582 - bytes_display_string_bin: 1025 => 1.001 KiB
ok 583 - bytes_display_string_bin: 10_239 => 9.999 KiB
# 9.999 KiB
ok 584 - bytes_display_string_bin: 10_240 => 10.000 KiB
# 10.000 KiB
ok 585 - bytes_display_string_bin: 1_023_999 => 999.999 KiB
# 999.999 KiB
ok 586 - bytes_display_string_bin: 1_024_000 => 0.977 MiB
# 0.977 MiB
ok 587 - bytes_display_string_bin: 1_047_527 => 0.999 MiB
# 0.999 MiB
ok 588 - bytes_display_string_bin: 1_048_051 => 0.999 MiB
# 0.999 MiB
ok 589 - bytes_display_string_bin: 1_048_052 => 1.000 MiB
# 1.000 MiB
ok 590 - bytes_display_string_bin: 1_048_575 => 1.000 MiB
ok 591 - bytes_display_string_bin: 1_048_576 => 1.000 MiB
ok 592 - bytes_display_string_bin: 1_073_741_823 => 1.000 GiB
ok 593 - bytes_display_string_bin: 1_073_741_824 => 1.000 GiB
ok 594 - bytes_display_string_bin: 1_099_511_627_775 => 1.000 TiB
ok 595 - bytes_display_string_bin: 1_099_511_627_776 => 1.000 TiB
ok 596 - bytes_display_string_bin: 1_125_899_906_842_623 => 1.000 PiB
ok 597 - bytes_display_string_bin: 1_125_899_906_842_624 => 1.000 PiB
ok 598 - bytes_display_string_bin: 1_152_921_504_606_846_975 => 1024.000 PiB
ok 599 - bytes_display_string_bin: 1_152_921_504_606_846_976 => 1024.000 PiB
ok 600 - 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 601 - bytes_display_string_dec: no args => NA
ok 602 - bytes_display_string_dec: undef => NA
ok 603 - bytes_display_string_dec: blabla => NA
ok 604 - bytes_display_string_dec: 0 => 0 bytes
ok 605 - bytes_display_string_dec: 1 => 1 bytes
ok 606 - bytes_display_string_dec: 10 => 10 bytes
ok 607 - bytes_display_string_dec: 999 => 999 bytes
ok 608 - bytes_display_string_dec: 1000 => 1.000 KB
ok 609 - bytes_display_string_dec: 1000 => 1.1001 KB
ok 610 - bytes_display_string_dec: 999_999 => 999.999 KB
ok 611 - bytes_display_string_dec: 1_000_000 => 1.000 MB
ok 612 - bytes_display_string_dec: 1_000_500 => 1.000 MB
ok 613 - bytes_display_string_dec: 1_000_501 => 1.001 MB
ok 614 - bytes_display_string_dec: 999_999_000 => 999.999 MB
ok 615 - bytes_display_string_dec: 999_999_499 => 999.999 MB
ok 616 - bytes_display_string_dec: 999_999_500 => 1.000 GB
ok 617 - bytes_display_string_dec: 1_000_000_000 => 1.000 GB
ok 618 - bytes_display_string_dec: 1_000_500_000 => 1.000 GB
ok 619 - bytes_display_string_dec: 1_000_501_000 => 1.001 GB
ok 620 - bytes_display_string_dec: 999_999_000_000 => 999.999 GB
ok 621 - bytes_display_string_dec: 999_999_499_999 => 999.999 GB
ok 622 - bytes_display_string_dec: 999_999_500_000 => 1.000 TB
ok 623 - bytes_display_string_dec: 1_000_000_000_000 => 1.000 TB
ok 624 - bytes_display_string_dec: 1_000_500_000_000 => 1.000 TB
ok 625 - bytes_display_string_dec: 1_000_500_000_000 => 1.000 TB
ok 626 - bytes_display_string_dec: 999_999_000_000_000 => 999.999 TB
ok 627 - bytes_display_string_dec: 999_999_499_999_999 => 999.999 TB
ok 628 - bytes_display_string_dec: 999_999_500_000_000 => 1.000 PB
ok 629 - bytes_display_string_dec: 3_000_000_000 => 3.000 GB
# Leaving tests_bytes_display_string_dec()
# Entering tests_header_line_normalize()
ok 630 - header_line_normalize: empty args
ok 631 - header_line_normalize: hhh vvv
ok 632 - header_line_normalize: remove first blancs
ok 633 - header_line_normalize: remove succesive blanks
ok 634 - header_line_normalize: remove last blanks
ok 635 - header_line_normalize: tabs
ok 636 - header_line_normalize: 8bit
# Leaving tests_header_line_normalize()
# Entering tests_fix_Inbox_INBOX_mapping()
ok 637 - fix_Inbox_INBOX_mapping: INBOX INBOX
ok 638 - fix_Inbox_INBOX_mapping: Inbox Inbox
ok 639 - fix_Inbox_INBOX_mapping: INBOX Inbox
ok 640 - fix_Inbox_INBOX_mapping: Inbox INBOX
ok 641 - fix_Inbox_INBOX_mapping: INBOX rrrrrr
ok 642 - fix_Inbox_INBOX_mapping: rrrrr Inbox
# Leaving tests_fix_Inbox_INBOX_mapping()
# Entering tests_max_line_length()
ok 643 - max_line_length: 0 == null string
ok 644 - max_line_length: 1 == \n
ok 645 - max_line_length: 1 == \n\n
ok 646 - max_line_length: 1 == 500 \n
ok 647 - max_line_length: 1 == a
ok 648 - max_line_length: 2 == a\na
ok 649 - max_line_length: 2 == a\na\n
ok 650 - max_line_length: 3 == a\nab\n
ok 651 - max_line_length: 3 == 1_000 a\nab\n
ok 652 - max_line_length: 3 == a\nab\nabc
ok 653 - max_line_length: 4 == a\nab\nabc\n
ok 654 - max_line_length: 5 == a\nabcd\nabc\n
ok 655 - 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 656 - subject: null
ok 657 - Subject:
ok 658 - Subject:\r\n
ok 659 - Subject: toto le hero
ok 660 - Subject:toto le hero
ok 661 - Subject: toto le hero\r\n
ok 662 - subject: toto le hero 2
ok 663 - subject: toto le hero 3
ok 664 - subject: cuicui
ok 665 - subject: null but body could
ok 666 - Subject:
# Leaving tests_subject()
# Entering tests_msgs_from_maxmin()
ok 667 - msgs_from_maxmin: no maxage nor minage => empty result
ok 668 - msgs_from_maxmin: maxage++
ok 669 - msgs_from_maxmin: -maxage++minage-
ok 670 - msgs_from_maxmin: ++maxage-minage++
ok 671 - msgs_from_maxmin: ++minage-
# Leaving tests_msgs_from_maxmin()
# Entering tests_tmpdir_has_colon_bug()
ok 672 - tmpdir_has_colon_bug:
ok 673 - tmpdir_has_colon_bug: /tmp
ok 674 - tmpdir_has_colon_bug: C:
ok 675 - tmpdir_has_colon_bug: C:\temp
# Leaving tests_tmpdir_has_colon_bug()
# Entering tests_sleep_max_messages()
ok 676 - sleep_max_messages: maxmessagespersecond = undef
ok 677 - sleep_max_messages: maxmessagespersecond = 0
ok 678 - sleep_max_messages: maxmessagespersecond = -1
ok 679 - sleep_max_messages: maxmessagespersecond = 2 max reached
ok 680 - sleep_max_messages: maxmessagespersecond = 2 max over
ok 681 - sleep_max_messages: maxmessagespersecond = 2 max not reached
# Leaving tests_sleep_max_messages()
# Entering tests_sleep_max_bytes()
ok 682 - sleep_max_bytes: maxbytespersecond == undef => sleep 0
ok 683 - sleep_max_bytes: maxbytespersecond = 0 => sleep 0
ok 684 - sleep_max_bytes: maxbytespersecond = -1 => sleep 0
ok 685 - sleep_max_bytes: maxbytespersecond = 2k max reached sharp => sleep 0
ok 686 - sleep_max_bytes: maxbytespersecond = 2k max over => sleep a little
ok 687 - sleep_max_bytes: maxbytespersecond = 2k max not reached => sleep 0
ok 688 - sleep_max_bytes: maxbytespersecond = 2k max not reached => sleep 0
ok 689 - sleep_max_bytes: maxbytespersecond = 1k max not reached => sleep 0
# Leaving tests_sleep_max_bytes()
# Entering tests_logfile()
ok 690 - logfile: no args => 1970_01_01_00_00_00_000.txt
ok 691 - logfile: 0 => 1970_01_01_00_00_00_000.txt
ok 692 - logfile: 0 => 1970_01_01_00_01_01_000.txt
ok 693 - logfile: 0 => 1970_01_01_00_01_01_234.txt
ok 694 - logfile: 1_282_658_400 => 2010_08_24_14_00_00_000.txt
ok 695 - logfile: 1_282_658_461 => 2010_08_24_14_01_01_000.txt
ok 696 - logfile: 1_282_658_461 poupinette => 2010_08_24_14_01_01_000_poupinette.txt
ok 697 - logfile: 1_282_658_461 remove blanks => 2010_08_24_14_01_01_000_removeblanks.txt
ok 698 - logfile: 1_282_658_461.2347 poup => 2010_08_24_14_01_01_234_poup.txt
ok 699 - 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 700 - setlogfile: logdir vallogdir, vallogfile.txt => vallogdir/vallogfile.txt
ok 701 - setlogfile: default is like 1970_01_01_00_00_02_000__.txt
ok 702 - setlogfile: default abort is like 1970_01_01_00_00_02_000_user1_user2_abort.txt
ok 703 - setlogfile: default with _remote is like 1970_01_01_00_00_02_000_user1_user2_remote.txt
ok 704 - setlogfile: default abort with _remote is like 1970_01_01_00_00_02_000_user1_user2_remote_abort.txt
ok 705 - setlogfile: default is like 1970_01_01_00_00_02_000_user1_user2.txt
ok 706 - setlogfile: logdir undef, 1970_01_01_00_00_02_000_user1_user2.txt
ok 707 - setlogfile: logdir empty, 1970_01_01_00_00_02_000_user1_user2.txt
ok 708 - setlogfile: logdir vallogdir, vallogdir/1970_01_01_00_00_02_000_user1_user2.txt
ok 709 - 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 710 - jux_utf8_old: void => []
ok 711 - jux_utf8_old: INBOX => [INBOX]
ok 712 - jux_utf8_old: => [&ZTZO9nux-] = [收件箱]
ok 713 - jux_utf8_old: &ANY- => [&ANY-] = [Ö]
ok 714 - jux_utf8_old: => [+BD8EQAQ1BDQEOwQ+BDM-] = [предлог]
ok 715 - jux_utf8_old: => [&BB8EQAQ+BDUEOgRC-] = [Проект]
# Leaving tests_jux_utf8_old()
# Entering tests_jux_utf8()
ok 716 - jux_utf8: Encode::find_encoding: UTF-16BE
ok 717 - jux_utf8: void => []
ok 718 - jux_utf8: INBOX => [INBOX]
ok 719 - jux_utf8: &ANY- => [&ANY-] = [Ö]
ok 720 - jux_utf8: => [+BD8EQAQ1BDQEOwQ+BDM-] = [+BD8EQAQ1BDQEOwQ+BDM-]
Wide character in print at /usr/share/perl5/core_perl/Test2/Formatter/TAP.pm line 156.
ok 721 - jux_utf8: => [&BB8EQAQ+BDUEOgRC-] = [Проект]
ok 722 - jux_utf8: [R&AOk-ponses 1200+1201+1202] = [Réponses 1200+1201+1202]
ok 723 - jux_utf8: [R&AOk-ponses 1200+1201+1202] = [Réponses 1200+1201+1202]
ok 724 - jux_utf8: [INBOX.&AOkA4ADnAPk-&-*] = [INBOX.éàçù&*]
Wide character in print at /usr/share/perl5/core_perl/Test2/Formatter/TAP.pm line 156.
ok 725 - jux_utf8: => [&ZTZO9nux-] = [收件箱]
ok 726 - jux_utf8: !Old Emails => [!Old Emails]
ok 727 - jux_utf8: 2006 Budget & Fcst => [2006 Budget & Fcst]
# Leaving tests_jux_utf8()
# Entering tests_pipemess()
ok 728 # skip Not on MSWin32
ok 729 # skip Not on MSWin32
ok 730 # skip Not on MSWin32
ok 731 - tests_pipemess: no change by cat
ok 732 - tests_pipemess: no change by cat,cat
ok 733 - tests_pipemess: numberize by cat -n
ok 734 - tests_pipemess: numberize by cat -n
ok 735 - tests_pipemess: sort
Failure: --pipemess command "cacaprout" ended with "0" characters exit value "127" and STDERR "sh: line 1: cacaprout: command not found"
ok 736 - tests_pipemess: command not found
Failure: --pipemess command "true" ended with "0" characters exit value "0" and STDERR ""
ok 737 - tests_pipemess: true but no output
Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR ""
ok 738 - tests_pipemess: false and no output
ok 739 - tests_pipemess: ok by ( cat|cat )
ok 740 - tests_pipemess: list context, no change by cat, string
ok 741 - tests_pipemess: list context, no change by cat, no error
Failure: --pipemess command "true" ended with "0" characters exit value "0" and STDERR ""
ok 742 - tests_pipemess: list context, true but no output, string
ok 743 - tests_pipemess: list context, true but no output, error
Failure: --pipemess command "false" ended with "0" characters exit value "1" and STDERR ""
ok 744 - tests_pipemess: list context, false and no output, string
ok 745 - tests_pipemess: list context, false and no output, error
ok 746 - tests_pipemess: list context, "echo -n blablabla", string
ok 747 - 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 748 - tests_pipemess: list context, "no output STDERR blablabla", string
ok 749 - 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 750 - tests_pipemess: list context, "no output STDERR blablabla then false", string
ok 751 - 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 752 - tests_pipemess: list context, "false then STDERR blablabla", string
ok 753 - 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 754 - tests_pipemess: list context, "STDOUT rrrrr STDERR error_blablabla", string
ok 755 - 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 756 - tests_pipemess: list context, cacaprout not found, string
ok 757 - tests_pipemess: list context, cacaprout not found, error
# Leaving tests_pipemess()
# Entering tests_jux_utf8_list()
ok 758 - jux_utf8_list: void
ok 759 - jux_utf8_list: empty string
ok 760 - jux_utf8_list: INBOX
ok 761 - jux_utf8_list: [&ANY-] = [Ö]
# Leaving tests_jux_utf8_list()
# Entering tests_guess_prefix()
ok 762 - guess_prefix: no args => empty string
ok 763 - guess_prefix: INBOX alone
ok 764 - guess_prefix: Inbox alone
ok 765 - guess_prefix: INBOX alone
ok 766 - guess_prefix: INBOX INBOX/Junk
ok 767 - guess_prefix: INBOX INBOX.Junk
ok 768 - guess_prefix: Inbox Inbox/Junk
ok 769 - guess_prefix: Inbox Inbox.Junk
ok 770 - guess_prefix: INBOX INBOX/Junk INBOX/rrr
ok 771 - guess_prefix: INBOX INBOX/Junk INBOX/rrr zzz
ok 772 - guess_prefix: INBOX Junk
ok 773 - guess_prefix: INBOX Junk
# Leaving tests_guess_prefix()
# Entering tests_guess_separator()
ok 774 - guess_separator: no args
ok 775 - guess_separator: abcd
ok 776 - guess_separator: a/b/c.d
ok 777 - guess_separator: a.b/c.d
ok 778 - guess_separator: a\\b\\c.c\\d/e/f
ok 779 - guess_separator: a\b\c.c\d/e/f
ok 780 - guess_separator: a\b
ok 781 - guess_separator: a\b\c
# Leaving tests_guess_separator()
# Entering tests_format_for_imap_arg()
ok 782 - format_for_imap_arg empty hash ref
ok 783 - format_for_imap_arg { name => toto }
ok 784 - format_for_imap_arg 2 x key val
# Leaving tests_format_for_imap_arg()
# Entering tests_imapsync_id()
ok 785 - tests_imapsync_id override
# Leaving tests_imapsync_id()
# Entering tests_date_from_rcs()
ok 786 - date_from_rcs from RCS date
# Leaving tests_date_from_rcs()
# Entering tests_quota_extract_storage_limit_in_bytes()
ok 787 - quota_extract_storage_limit_in_bytes (STORAGE 1 104857600) => 104857600 * 1024
ok 788 - 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 789 - quota_extract_storage_current_in_bytes: 1 => 1024
ok 790 - 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 791 - guess_special: Sent => \Sent
ok 792 - guess_special: Blabla => q{}
ok 793 - guess_special: INBOX.Sent => \Sent
ok 794 - guess_special: IN BOX.Sent => \Sent
# Leaving tests_guess_special()
# Entering tests_do_valid_directory()
ok 795 - do_valid_directory: . good
Creating directory ./W/tmp/tests/valid/sub (current directory is /build/imapsync/src/imapsync-2.290)
ok 796 - do_valid_directory: ./W/tmp/tests/valid/sub good
# OSNAME=linux EFFECTIVE_USER_ID=1009
# The "Error / is not writable" is on purpose
Error: directory / is not writable for user builduser, permissions are 0755 and owner is root ( uid 0 )
ok 797 - do_valid_directory: / bad
# The "Error permission denied" on /noway is on purpose
Creating directory /noway (current directory is /build/imapsync/src/imapsync-2.290)
mkdir /noway: Permission denied at imapsync line 10009.
ok 798 - do_valid_directory: /noway bad
# Leaving tests_do_valid_directory()
# Entering tests_delete1emptyfolders()
ok 799 - delete1emptyfolders: undef
ok 800 - delete1emptyfolders: undef 2
ok 801 - delete1emptyfolders: undef imap
ok 802 - require Test::MockObject;
ok 803 - delete1emptyfolders: Unconnected imap
# Entering tests_delete1emptyfolders_unit()
ok 804 - tests_delete1emptyfolders: --delete1emptyfolders OFF, init check
ok 805 - tests_delete1emptyfolders: --delete1emptyfolders OFF, after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 806 - 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 807 - tests_delete1emptyfolders: --delete1emptyfolders ON, after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 808 - 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 809 - tests_delete1emptyfolders: EXAMINE fails, after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 810 - tests_delete1emptyfolders: examine ok but History badly mocked so count messages fails, init check
Host1 deleting empty folders
Host1 ended deleting empty folders
ok 811 - tests_delete1emptyfolders: examine ok but History badly mocked so count messages fails, after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 812 - 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 813 - tests_delete1emptyfolders: History EXAMINE ok, several messages, after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 814 - 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 815 - tests_delete1emptyfolders: 0 EXISTS but 2 by messages(), after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 816 - 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 817 - tests_delete1emptyfolders: 1 EXISTS but 0 by messages(), after check
# Leaving tests_delete1emptyfolders_unit()
# Entering tests_delete1emptyfolders_unit()
ok 818 - tests_delete1emptyfolders: 0 EXISTS 0 by messages() delete folders, keep INBOX, init check
Host1 deleting empty folders
Host1: Not deleting INBOX
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 819 - 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 820 - message_for_host2: no args
ok 821 - message_for_host2: undef args
ok 822 - require Test::MockObject;
ok 823 - message_for_host2: msg 1 == "blablabla", length
ok 824 - message_for_host2: msg 1 == "blablabla", value
ok 825 - message_for_host2: --pipemess 'cat', length
ok 826 - 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 827 - message_for_host2: --pipemess 'false', length
ok 828 - 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 829 - message_for_host2: --pipemess 'true', length
ok 830 - message_for_host2: --pipemess 'true', value
# Leaving tests_message_for_host2()
# Entering tests_length_ref()
ok 831 - length_ref: value not defined
ok 832 - length_ref: param not a ref
ok 833 - length_ref: lala length == 4
ok 834 - length_ref: lili length == 4
# Leaving tests_length_ref()
# Entering tests_firstline()
ok 835 - tests_firstline: get empty string from inexisting W/tmp/tests/noexist.txt
ok 836 - tests_firstline: mkpath W/tmp/tests/
ok 837 - tests_firstline: put blabla in W/tmp/tests/firstline.txt
ok 838 - tests_firstline: get blabla from W/tmp/tests/firstline.txt
ok 839 - tests_firstline: put empty string in W/tmp/tests/firstline2.txt
ok 840 - tests_firstline: get empty string from W/tmp/tests/firstline2.txt
ok 841 - tests_firstline: put CR in W/tmp/tests/firstline3.txt
ok 842 - tests_firstline: get empty string from W/tmp/tests/firstline3.txt
ok 843 - tests_firstline: put blabla\nTiti\n in W/tmp/tests/firstline4.txt
ok 844 - tests_firstline: get blabla from W/tmp/tests/firstline4.txt
# Leaving tests_firstline()
# Entering tests_diff_or_NA()
ok 845 - diff_or_NA: no parameters => NA
ok 846 - diff_or_NA: undef => NA
ok 847 - diff_or_NA: undef undef => NA
ok 848 - diff_or_NA: undef 1 => NA
ok 849 - diff_or_NA: 1 undef => NA
ok 850 - diff_or_NA: blabla 1 => NA
ok 851 - diff_or_NA: 1 blabla => NA
ok 852 - diff_or_NA: 1 1 => 0
ok 853 - diff_or_NA: 1 0 => 1
ok 854 - diff_or_NA: 0 1 => -1
ok 855 - diff_or_NA: 1.0 1 => 0
ok 856 - diff_or_NA: 1.0 0 => 1
ok 857 - diff_or_NA: 0 1.0 => -1
# Leaving tests_diff_or_NA()
# Entering tests_match_number()
ok 858 - match_number: no parameters => 0
ok 859 - match_number: undef => 0
ok 860 - match_number: blabla => 0
ok 861 - match_number: 0 => 1
ok 862 - match_number: 1 => 1
ok 863 - match_number: 1.0 => 1
ok 864 - match_number: 0.0 => 1
# Leaving tests_match_number()
# Entering tests_all_defined()
ok 865 - all_defined: no param => 0
ok 866 - all_defined: void list => 0
ok 867 - all_defined: undef => 0
ok 868 - all_defined: undef => 0
ok 869 - all_defined: 1 undef => 0
ok 870 - all_defined: undef 1 => 0
ok 871 - all_defined: 1 1 => 1
ok 872 - all_defined: (1 1) => 1
# Leaving tests_all_defined()
# Entering tests_special_from_folders_hash()
ok 873 - require Test::MockObject;
ok 874 - special_from_folders_hash: no args
ok 875 - special_from_folders_hash: undef args
Host?: To have automagic rfc6154 folder mapping, upgrade Mail::IMAPClient >= 3.34
ok 876 - special_from_folders_hash: $imap void
Host?: special Sent = \Sent
ok 877 - special_from_folders_hash: $imap \Sent
# Leaving tests_special_from_folders_hash()
# Entering tests_notmatch()
ok 878 - notmatch: no args => undef
ok 879 - notmatch: one args => undef
ok 880 - notmatch: lalala !~ /lalala/ => 1
ok 881 - notmatch: /lalala/ !~ /lalala/ => 0
ok 882 - notmatch: lalala !~ /ooo/ => 1
ok 883 - notmatch: lalala !~ lalala => 0
ok 884 - notmatch: lalala !~ ^lalala => 0
ok 885 - notmatch: lalala !~ lalala$ => 0
ok 886 - notmatch: lalala !~ ^lalala$ => 0
ok 887 - notmatch: _lalala_ !~ lalala => 0
ok 888 - notmatch: lalala !~ .* => 0
ok 889 - notmatch: lalala !~ . => 0
ok 890 - notmatch: does not match regex => 1
ok 891 - notmatch: does not match regex => 1
ok 892 - notmatch: matches regex => 0
ok 893 - notmatch: does not match regex => 1
# Leaving tests_notmatch()
# Entering tests_match()
ok 894 - match: no args => undef
ok 895 - match: one args => undef
ok 896 - match: lalala =~ lalala => lalala
ok 897 - match: lalala =~ ^lalala => lalala
ok 898 - match: lalala =~ lalala$ => lalala
ok 899 - match: lalala =~ ^lalala$ => lalala
ok 900 - match: _lalala_ =~ lalala => _lalala_
ok 901 - match: lalala =~ .* => lalala
ok 902 - match: lalala =~ . => lalala
ok 903 - match: /lalala/ =~ /lalala/ => /lalala/
ok 904 - match: foo =~ s/foo/bar/g => 0
ok 905 - match: s/foo/bar/g =~ s/foo/bar/g => s/foo/bar/g
ok 906 - match: lalala =~ ooo => 0
ok 907 - match: lalala =~ lal_ala => 0
ok 908 - match: lalala =~ \. => 0
ok 909 - match: lalalaX =~ ^lalala$ => 0
ok 910 - match: lalala =~ /lalala/ => 0
ok 911 - match: LALALA =~ (?i:lalala) => 1
Fatal regex (?{`ls /`})
ok 912 - match: LALALA =~ (?{`ls /`}) => undef
Fatal regex (?{print "CACA"})
ok 913 - match: LALALA =~ (?{print "CACA"}) => undef
Fatal regex (??{print "CACA"})
ok 914 - match: CACA =~ (??{print "CACA"}) => undef
# Leaving tests_match()
# Entering tests_get_options()
Found 1 extra arguments : [--noexist]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 915 - get_options: --noexist => undef
ok 916 - get_options: --noexist => undef
Found 2 extra arguments : [--lalala --noexist]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 917 - get_options: --lalala --noexist --version => undef
ok 918 - get_options: --version => 1
ok 919 - get_options: --noexist => undef
ok 920 - get_options: --delete2 => 1
ok 921 - get_options: --delete2 => var delete2 = 1
ok 922 - get_options: --delete 2 => var undef
ok 923 - get_options: --delete 2 => var still undef ; good!
Found 1 extra arguments : [--delete 2]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 924 - get_options: --delete 2 => undef
ok 925 - get_options: --version => 1
ok 926 - get_options: --help => 1
Found 1 extra arguments : [--noexist]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 927 - get_options: --debug --noexist --version => undef
ok 928 - get_options: --version => 1
Found 1 extra arguments : [kaka]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 929 - get_options: kaka => undef
Found 2 extra arguments : [kaka1 kaka2]
It usually means a quoting issue in the command line or some misspelled or unknown options.
ok 930 - get_options: extra1 --version extra2 => undef
ok 931 - get_options: --host1 HOST_01 => 2
ok 932 - get_options: --host1 HOST_01 => host1 = HOST_01
# Leaving tests_get_options()
# Entering tests_get_options_cgi_context()
ok 933 - get_options cgi context: no CGI module => undef
ok 934 - get_options cgi context: no CGI param => undef
ok 935 - get_options cgi context: QUERY_STRING => 22
ok 936 - get_options cgi context: --version => on
ok 937 - get_options cgi context: $mysync->{debugenv} => undef
ok 938 - get_options cgi context: QUERY_STRING => 36
ok 939 - get_options cgi context: $mysync->{user1} => test1
ok 940 - get_options cgi context: $mysync->{ folder } => fd1
ok 941 - get_options cgi context: $mysync->{ folder } => fd1, fd2
ok 942 - get_options cgi context: f1f2h => s1=d1 s2=d2 s3=d3
ok 943 - get_options cgi context: --nodry => $mysync->{dry} => undef
ok 944 - get_options cgi context: --host1=example.com => $mysync->{host1} => example.com
Argument "" isn't numeric in addition (+) at imapsync line 22075.
ok 945 - get_options cgi context: --simulong= => $mysync->{simulong} => undef
ok 946 - get_options cgi context: --simulong => $mysync->{simulong} => undef
ok 947 - get_options cgi context: --simulong=4 => $mysync->{simulong} => 4
ok 948 - get_options cgi context: --simulong=4 => $mysync->{ folder } => undef
ok 949 - get_options cgi context: --testslive=on => testslive => on
ok 950 - get_options cgi context: --log=0 => log => 0
# Leaving tests_get_options_cgi_context()
# Entering tests_hashsynclocal()
ok 951 - hashsynclocal: no hashfile name
ok 952 - hashsynclocal: empty hashfile name
ok 953 - hashsynclocal: no exists hashfile dir
ok 954 - hashsynclocal: permission denied
ok 955 - hashsynclocal: mkpath W/tmp/tests/
ok 956
ok 957 - hashsynclocal: verify there is no W/tmp/tests/imapsync_hash
Writing random hashkey in W/tmp/tests/imapsync_hash, once for all times
ok 958 - hashsynclocal: creating/reading W/tmp/tests/imapsync_hash
ok 959 - hashsynclocal: reading W/tmp/tests/imapsync_hash second time => same
# Leaving tests_hashsynclocal()
# Entering tests_hashsync()
ok 960 - hashsync: no args
ok 961 - hashsync: empty args
ok 962 - hashsync: host1 zzz =>
ok 963 - hashsync: host1 zzz =>
ok 964 - hashsync: + host2 zzz =>
ok 965 - hashsync: + hashkey A =>
ok 966 - hashsync: undef $mysync
ok 967 - hashsync: password1: abcd
ok 968 - hashsync: 1/0 not fatal
ok 969 - hashsync: password1: Ö with eval
ok 970 - hashsync: password1: Ö without eval
ok 971 - hashsync: password1: \x{00D6}
1 00D6:Ö
2 00D6:Ö
3 00D6:Ö
4 00D6:Ö
5 6536:收
6 6536:收
Wide character in print at imapsync line 5967.
7 6536:收
8 6536:收
ok 972 - hashsync: password1: 收
ok 973 - hashsync: password1: \x{6536} with eval
ok 974 - hashsync: password1: abcd again
# Leaving tests_hashsync()
# Entering tests_output()
ok 975 - output: no args => undef
ok 976 - output: one arg => ""
ok 977 - output: rrrr => rrrr
ok 978 - output: aaaa => rrrraaaa
ok 979 - output: \n => rrrraaaa\n
ok 980 - output: A B C => rrrraaaaABC\n
# Leaving tests_output()
# Entering tests_output_reset_with()
ok 981 - output_reset_with: no args => undef
ok 982 - output_reset_with: one arg => ""
ok 983 - output_reset_with: rrrr => rrrr
ok 984 - output_reset_with: aaaa => aaaa
ok 985 - output_reset_with: \n => \n
# Leaving tests_output_reset_with()
# Entering tests_output_start()
ok 986 - output_start: no args => undef
ok 987 - output_start: one arg => ""
ok 988 - output_start: rrrr => rrrr
ok 989 - output_start: aaaa => aaaarrrr
ok 990 - output_start: \n => \naaaarrrr
ok 991 - output_start: A B C => ABC\naaaarrrr
# Leaving tests_output_start()
# Entering tests_check_last_release()
# This imapsync is up to date. ( local 2.290 >= official 1.1 )( Use --noreleasecheck to avoid this release check. )
ok 992 - check_last_release: up to date
ok 993 - check_last_release: up to date, include number
# This imapsync is not up to date. ( local 2.290 < official 999.999 )( Use --noreleasecheck to avoid this release check. )
ok 994 - check_last_release: not up to date
ok 995 - check_last_release: not up to date, include number
ok 996 - check_last_release: unknown
ok 997 - check_last_release: timeout
ok 998 - check_last_release: lalala
# This imapsync is up to date. ( local 2.290 >= official 2.290 )( Use --noreleasecheck to avoid this release check. )
# Leaving tests_check_last_release()
# Entering tests_loadavg()
ok 999 # skip Tests for darwin
ok 1000 # skip Tests for darwin
ok 1001 # skip Tests for darwin
ok 1002 - loadavg: /noexist => undef
ok 1003 - loadavg: no args
ok 1004 - loadavg 0.39 0.30 0.37 1/602 6073 => [0.39, 0.30, 0.37, 1/602]
ok 1005 # skip Tests for Windows
# Leaving tests_loadavg()
# Entering tests_cpu_number()
ok 1006 - tests_cpu_number: is_integer
ok 1007 - tests_cpu_number: 1 or more
ok 1008 - tests_cpu_number: 1 => 1
ok 1009 - tests_cpu_number: -1 => 1
ok 1010 - tests_cpu_number: lalala => 1
ok 1011 - tests_cpu_number: 42 => 42
# cpu_number = 4
# hostname = arch-nspawn-2323147
ok 1012 # skip cpu_number on host != i005 (FreeBSD)
ok 1013 # skip cpu_number on host != petite (Linux)
ok 1014 # skip cpu_number on host != polarhome macosx (Darwin MacOS X 10.7.5 Lion)
ok 1015 # skip cpu_number on host != pcHPDV7-HP (Windows 7, 64bits)
ok 1016 # skip cpu_number on host != CUILLERE (Windows XP, 32bits)
# Leaving tests_cpu_number()
# Entering tests_load_and_delay()
ok 1017 - load_and_delay: no args => undef
ok 1018 - load_and_delay: not 3 args => undef
ok 1019 - load_and_delay: division per 0 => undef
ok 1020 - load_and_delay: max=1, one core, loads is 0 => ok
ok 1021 - load_and_delay: max=1, one core, loads are all 0 => ok
ok 1022 - load_and_delay: six arguments => ok
ok 1023 - load_and_delay: max=1, two core, loads are all 1 => ok
ok 1024 - load_and_delay: max=1, two core, load1m is 1 => ok
ok 1025 - load_and_delay: max=1, one core, load1m=0 load5m=0 load15m=0 => 0
ok 1026 - load_and_delay: max=1, one core, load1m=0 load5m=0 load15m=2 => 0
ok 1027 - load_and_delay: max=1, one core, load1m=0 load5m=2 load15m=0 => 0
ok 1028 - load_and_delay: max=1, one core, load1m=0 load5m=2 load15m=2 => 0
ok 1029 - load_and_delay: max=1, one core, load1m=0 load5m=3 load15m=3 => 0
ok 1030 - load_and_delay: max=1, one core, load1m=0 load5m=3 load15m=3 => 0
ok 1031 - load_and_delay: max=1, one core, load1m=.2 load5m=0 load15m=0 => 0
ok 1032 - load_and_delay: max=1, one core, load1m=.2 load5m=0 load15m=.2 => 0
ok 1033 - load_and_delay: max=1, one core, load1m=2 load5m=2 load15m=0 => 0
ok 1034 - load_and_delay: max=1, one core, load1m=.2 load5m=.2 load15m=.2 => 0
ok 1035 - load_and_delay: max=1, one core, load1m=3 load5m=0 load15m=0 => 0
ok 1036 - load_and_delay: max=1, one core, load1m=3 load5m=.9 load15m=.9 => 0
ok 1037 - load_and_delay: max=1, one core, load1m=3 load5m=3 load15m=.9 => 5
ok 1038 - load_and_delay: max=1, one core, load1m=3 load5m=3 load15m=3 => 15
ok 1039 - load_and_delay: max=1, one core, load1m=.9 load5m=.9 load15m=.9 => 0
ok 1040 - load_and_delay: max=3, one core, loads are all 1 => ok
ok 1041 - load_and_delay: max=3, two core, loads are all 2 => ok
ok 1042 - load_and_delay: max=3, two core, load1m is 2 => ok
ok 1043 - load_and_delay: max=3, one core, load1m=0 load5m=0 load15m=0 => 0
ok 1044 - load_and_delay: max=3, one core, load1m=0 load5m=0 load15m=2 => 0
ok 1045 - load_and_delay: max=3, one core, load1m=0 load5m=2 load15m=0 => 0
ok 1046 - load_and_delay: max=3, one core, load1m=0 load5m=2 load15m=2 => 0
ok 1047 - load_and_delay: max=3, one core, load1m=0 load5m=3 load15m=3 => 0
ok 1048 - load_and_delay: max=3, one core, load1m=0 load5m=3 load15m=3 => 0
ok 1049 - load_and_delay: max=3, one core, load1m=2 load5m=0 load15m=0 => 0
ok 1050 - load_and_delay: max=3, one core, load1m=2 load5m=0 load15m=2 => 0
ok 1051 - load_and_delay: max=3, one core, load1m=2 load5m=2 load15m=0 => 0
ok 1052 - load_and_delay: max=3, one core, load1m=2 load5m=2 load15m=2 => 0
ok 1053 - load_and_delay: max=3, one core, load1m=3 load5m=0 load15m=0 => 0
ok 1054 - load_and_delay: max=3, one core, load1m=3 load5m=2.9 load15m=2.9 => 0
ok 1055 - load_and_delay: max=3, one core, load1m=3 load5m=3 load15m=2.9 => 0
ok 1056 - load_and_delay: max=3, one core, load1m=3 load5m=3 load15m=3 => 0
ok 1057 - load_and_delay: max=3, one core, load1m=2.9 load5m=2.9 load15m=2.9 => 0
ok 1058 - load_and_delay: max=6, one core, load1m=6 load5m=0 load15m=0 => 1
ok 1059 - load_and_delay: max=6, one core, load1m=6 load5m=5.9 load15m=5.9 => 1
ok 1060 - load_and_delay: max=6, one core, load1m=6 load5m=6 load15m=5.9 => 5
ok 1061 - load_and_delay: max=6, one core, load1m=6 load5m=6 load15m=6 => 15
ok 1062 - 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 1063 - sslcheck: no sslcheck => undef
ok 1064 - sslcheck: no host => 0
ok 1065 - 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 1066 - sslcheck: test1.lamiral.info => 1
ok 1067 - sslcheck: test1.lamiral.info => ssl1 1
ok 1068 - 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 1069 - 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 1070 - sslcheck: test1.lamiral.info + test2.lamiral.info + tls1 => 1
# Leaving tests_sslcheck()
# Entering tests_not_long_imapsync_version_public()
ok 1071 - not_long_imapsync_version_public: public release is a number
# Leaving tests_not_long_imapsync_version_public()
# Entering tests_reconnect_if_needed()
ok 1072 - reconnect_if_needed: no args => undef
ok 1073 - reconnect_if_needed: undef arg => undef
ok 1074 - 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 1075 - reconnect_if_needed: test.lamiral.info => 1
ok 1076 - reconnect_if_needed: test.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1
# Leaving tests_reconnect_if_needed()
# Entering tests_reconnect_12_if_needed()
ok 1077 - reconnect_12_if_needed: test1&test2 .lamiral.info => 1
ok 1078 - reconnect_12_if_needed: test1.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1
ok 1079 - reconnect_12_if_needed: test2.lamiral.info IMAPSYNC_RECONNECT_COUNT => 1
# Leaving tests_reconnect_12_if_needed()
# Entering tests_sleep_if_needed()
ok 1080 - sleep_if_needed: no args => undef
ok 1081 - sleep_if_needed: arg undef => undef
ok 1082 - sleep_if_needed: maxbytespersecond only => no sleep => 0
ok 1083 - sleep_if_needed: begin_transfer_time now => no sleep => 0
ok 1084 - sleep_if_needed: total_bytes_transferred == 0 => no sleep => 0
sleeping 0.20 s
ok 1085 - sleep_if_needed: total_bytes_transferred == 2200 since 2s => sleep 0.2s
ok 1086 - sleep_if_needed: total_bytes_transferred == 2200 since 2+2 == 4s => no sleep
sleeping 0.10 s
ok 1087 - sleep_if_needed: total_bytes_transferred == 4000 since 2s but maxsleep 0.1s => sleep 0.1s
ok 1088 - sleep_if_needed: maxbytesafter == total_bytes_transferred => no sleep => 0
# Leaving tests_sleep_if_needed()
# Entering tests_string_to_file()
ok 1089 - string_to_file: no args => undef
ok 1090 - string_to_file: one arg => undef
string_to_file: failure writing to . with error: Is a directory
ok 1091 - string_to_file: writing a directory => undef
ok 1092 - string_to_file: mkpath W/tmp/tests/
ok 1093 - string_to_file: W/tmp/tests/canbewritten with lalala
ok 1094 - string_to_file: W/tmp/tests/empty with empty string
string_to_file: directory of /cantouch is not writable
ok 1095 - string_to_file: /cantouch denied => undef
# Leaving tests_string_to_file()
# Entering tests_file_to_string()
ok 1096 - file_to_string: no args => undef
ok 1097 - file_to_string: /noexist => undef
ok 1098 - file_to_string: reading a directory => undef
ok 1099 - file_to_string: reading myself
ok 1100 - file_to_string: mkpath W/tmp/tests/
ok 1101 - file_to_string: string_to_file filling W/tmp/tests/canbewritten with lilili
ok 1102 - file_to_string: reading W/tmp/tests/canbewritten is lilili
ok 1103 - file_to_string: string_to_file filling W/tmp/tests/empty with empty string
ok 1104 - file_to_string: reading W/tmp/tests/empty is empty
# Leaving tests_file_to_string()
# Entering tests_under_cgi_context()
ok 1105 - under_cgi_context: SERVER_SOFTWARE unset => not in cgi context
ok 1106 - under_cgi_context: SERVER_SOFTWARE set => in cgi context
ok 1107 - under_cgi_context: SERVER_SOFTWARE unset => not in cgi context
ok 1108 - under_cgi_context: SERVER_SOFTWARE set => in cgi context
# Leaving tests_under_cgi_context()
# Entering tests_umask()
ok 1109 - umask: umask is umask
ok 1110 - umask: umask is umask again + save it: 18
ok 1111 - umask: umask 0000
ok 1112 - umask: umask is now 0000
ok 1113 - umask: umask 0777 call, previous 0000
ok 1114 - umask: umask is now 0777
ok 1115 - umask: umask 18 restore inital value, previous 0777
ok 1116 - umask: umask 18 restore inital value, previous defined
ok 1117 - umask: umask is umask restored
# Leaving tests_umask()
# Entering tests_umask_str()
ok 1118 - umask_str: no parameters => idopotent
ok 1119 - umask_str: no parameters => idopotent + save
ok 1120 - umask_str: q{ } => 0000
ok 1121 - umask_str: q{} => 0000
ok 1122 - umask_str: 0000 => 0000
ok 1123 - umask_str: 0 => 0000
ok 1124 - umask_str: 0200 => 0200
ok 1125 - umask_str: 0400 => 0400
ok 1126 - umask_str: 0600 => 0600
ok 1127 - umask_str: 0100 => 0100
ok 1128 - umask_str: 0001 => 0001
ok 1129 - umask_str: 0777 => 0777
ok 1130 - umask_str: 00777 => 0777
ok 1131 - umask_str: 777 => 0777
ok 1132 - umask_str: UMASK_PARANO 0077 => 0077
ok 1133 - umask_str: restore with str
ok 1134 - umask_str: umask is restored, controlled by direct umask
ok 1135 - umask_str: umask is restored by direct umask
ok 1136 - umask_str: umask initial controlled by direct umask
# Leaving tests_umask_str()
# Entering tests_set_umask()
ok 1137 - set_umask: set to 0077
# Leaving tests_set_umask()
# Entering tests_createhashfileifneeded()
ok 1138 - createhashfileifneeded: no parameters => undef
# Leaving tests_createhashfileifneeded()
# Entering tests_slash_to_underscore()
ok 1139 - slash_to_underscore: no parameters => undef
ok 1140 - slash_to_underscore: / => _
ok 1141 - slash_to_underscore: /abc/def/ => _abc_def_
# Leaving tests_slash_to_underscore()
# Entering tests_testunit()
testsunit warning: no argument given
ok 1142 - testsunit: no parameters => undef
testsunit warning: argument is empty
ok 1143 - testsunit: an undef parameter => undef
testsunit warning: argument is empty
ok 1144 - testsunit: an empty parameter => undef
testsunit warning: function idonotexist does not exist
ok 1145 - testsunit: a do not exist function as parameter => undef
# Entering tests_true()
ok 1146 - true: 1 is 1
ok 1147 - true: A is A
# Leaving tests_true()
ok 1148 - testsunit: tests_true => undef
# Leaving tests_testunit()
# Entering tests_count_zeros()
ok 1149 - count_0s: no parameters => 0
ok 1150 - count_0s: 0 => 1
ok 1151 - count_0s: 1 => 0
ok 1152 - count_0s: 1, 0, 1 => 1
ok 1153 - count_0s: 1, 0, 1, 0 => 2
# Leaving tests_count_zeros()
# Entering tests_report_failures()
ok 1154 - report_failures: no parameters => undef
ok 1155 - report_failures: "first" failed => nb 1 - first
ok 1156 - report_failures: "first" success =>
ok 1157 - report_failures: "second" failed => nb 2 - second
ok 1158 - report_failures: both failed => nb 1 - first nb 2 - second
# Leaving tests_report_failures()
# Entering tests_min()
ok 1159 - min 0 => 0
ok 1160 - min 1 => 1
ok 1161 - min -1 => -1
ok 1162 - min no arg => undef
ok 1163 - min 1 100 => 1
ok 1164 - min 100 1 => 1
ok 1165 - min 100 42 1 => 1
ok 1166 - min 100 42 1 => 1
ok 1167 - min 100 42 1 => 1
ok 1168 - min 100 haha 1 => 1
ok 1169 - min -1 1 => -1
ok 1170 - min undef 1 => 1
ok 1171 - min undef 0 => 0
ok 1172 - min undef 1 => 1
ok 1173 - min undef, 2, 0, 1 => 0
ok 1174 - min haha => haha
ok 1175 - min aa bb => aa
ok 1176 - min bb aa bb => aa
ok 1177 - min bb aa bb => aa
# Leaving tests_min()
# Entering tests_usage()
ok 1178 - usage: contains Name:
Name:
imapsync - Email IMAP tool for syncing, copying, migrating, and archiving
email mailboxes between two imap servers, one way, and without duplicates.
Version:
This documentation refers to Imapsync $Revision: 2.290 $
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 into the IMAP servers. These six
values are a hostname, a username, and a password, two times.
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 recursively.
--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. Default is to calculate them.
--nofoldersizesatend: Do not calculate the size of each folder at the
end of the sync. Default is to calculate 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, used to be /tmp on Unix
(before imapsync 2.250) but /tmp is not safe.
https://github.com/imapsync/imapsync/issues/399
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-34204
--pidfile str : The file where imapsync pid is written,
it can be dirname/filename 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 exceed 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 present labels as folders in imap. Imapsync can accelerate the sync
by syncing X-GM-LABELS, it will avoid to transfer 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.
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 messages are deleted with an
EXPUNGE IMAP command. If expunging after each message
slows down too much the sync 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 as 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 one.
--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 imap account "test1" on "test1.lamiral.info"
to imap account "test2" on "test2.lamiral.info"
with test1 password "secret1"
and test2 password "secret2"
imapsync \
--host1 test1.lamiral.info --user1 test1 --password1 secret1 \
--host2 test2.lamiral.info --user2 test2 --password2 secret2
Here is imapsync 2.290 on host arch-nspawn-2323147, a linux system with 3.0/15.6 free GiB of RAM, 1.29% used by processes.
with Perl 5.38.2 and Mail::IMAPClient 3.43
$Id: imapsync,v 2.290 2024/08/20 10:37:23 gilles Exp gilles $
This imapsync is up to date. ( local 2.290 >= official 2.290 )( Use --noreleasecheck to avoid this release check. )
Homepage: https://imapsync.lamiral.info/
ok 1179 - usage: contains Version:
ok 1180 - usage: contains Usage:
ok 1181 - usage: contains imapsync
ok 1182 - usage: no args => undef
# Leaving tests_usage()
# Entering tests_version_from_rcs()
ok 1183 - version_from_rcs: no args => undef
ok 1184 - version_from_rcs: imapsync,v 1.831 2017/08/27 => 1.831
ok 1185 - version_from_rcs: 1.831 => UNKNOWN
# Leaving tests_version_from_rcs()
# Entering tests_backslash_caret()
ok 1186 - backslash_caret: lalala => lalala
ok 1187 - backslash_caret: lalala => lalala 2nd
ok 1188 - backslash_caret: \ => ^
ok 1189 - backslash_caret: \ => ^
ok 1190 - backslash_caret: \lalala => \lalala
ok 1191 - backslash_caret: \lal\ala => \lal\ala
ok 1192 - backslash_caret: \lalala => \lalala 2nd
ok 1193 - backslash_caret: lalala\\n => lalala^\n
ok 1194 - backslash_caret: lalala\\nlalala\\n => lalala^\nlalala^\n
ok 1195 - backslash_caret: lal\ala\\nlalala\\n => lal\ala^\nlalala^\n
# Leaving tests_backslash_caret()
# Entering tests_write_pidfile()
ok 1196 - write_pidfile: no args => 1
PID file is unset ( to set it, use --pidfile filepath ; to avoid it use --pidfile "" )
ok 1197 - write_pidfile: no pidfile => 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 1198 - 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 1199 - write_pidfile: no permission for /no/no/no.pid + lock => undef
ok 1200 - write_pidfile: mkpath W/tmp/tests/
ok 1201 - 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 1564 in W/tmp/tests/test.pid
ok 1202 - write_pidfile: W/tmp/tests/test.pid + no lock => 1
ok 1203 - write_pidfile: W/tmp/tests/test.pid contains 1564
ok 1204 - 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 1205 - 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 1564 in W/tmp/tests/test.pid
Writing also my logfile name in W/tmp/tests/test.pid : rrrr.txt
ok 1206 - write_pidfile: W/tmp/tests/test.pid + no lock + logfile => 1
ok 1207 - write_pidfile: + no lock + logfile W/tmp/tests/test.pid contains 1564
ok 1208 - write_pidfile: + no lock + logfile W/tmp/tests/test.pid contains rrrr.txt
# Leaving tests_write_pidfile()
# Entering tests_remove_pidfile_not_running()
ok 1209 - remove_pidfile_not_running: mkpath W/tmp/tests/
No variable pid_filename
ok 1210 - remove_pidfile_not_running: no args => undef
File ./W is not a file
ok 1211 - remove_pidfile_not_running: a dir => undef
File noexists does not exist
ok 1212 - remove_pidfile_not_running: noexists => undef
ok 1213 - 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 1214 - remove_pidfile_not_running: W/tmp/tests/empty.pid => undef
ok 1215 - 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 1216 - remove_pidfile_not_running: W/tmp/tests/lalala.pid => undef
ok 1217 - 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 1218 - remove_pidfile_not_running: W/tmp/tests/notrunning.pid => 1
ok 1219 - remove_pidfile_not_running: prepa W/tmp/tests/running.pid
Another imapsync process 1564 is running as says pidfile W/tmp/tests/running.pid
ok 1220 - remove_pidfile_not_running: W/tmp/tests/running.pid => undef
# Leaving tests_remove_pidfile_not_running()
# Entering tests_match_a_pid_number()
ok 1221 - match_a_pid_number: no args => undef
ok 1222 - match_a_pid_number: "" => undef
ok 1223 - match_a_pid_number: lalala => undef
ok 1224 - match_a_pid_number: 1 => 1
ok 1225 - match_a_pid_number: 123 => 1
ok 1226 - match_a_pid_number: -123 => 1
ok 1227 - match_a_pid_number: "123" => 1
ok 1228 - match_a_pid_number: "-123" => 1
ok 1229 - match_a_pid_number: a123 => undef
ok 1230 - match_a_pid_number: -a123 => undef
ok 1231 - match_a_pid_number: 99999 => 1
ok 1232 - match_a_pid_number: -99999 => 1
ok 1233 - match_a_pid_number: 0 => undef
ok 1234 - match_a_pid_number: 100000 => 1
ok 1235 - match_a_pid_number: 123456 => 1
ok 1236 - match_a_pid_number: "-0" => undef
ok 1237 - match_a_pid_number: -100000 => 1
ok 1238 - match_a_pid_number: -123456 => 1
ok 1239 - match_a_pid_number: 2**22 => 1
ok 1240 - match_a_pid_number: 2**22 + 1 => undef
ok 1241 - match_a_pid_number: 2**22 + 1 = 4194305 => undef
# Leaving tests_match_a_pid_number()
# Entering tests_prefix_seperator_invertion()
ok 1242 - prefix_seperator_invertion: no args => undef
ok 1243 - prefix_seperator_invertion: empty string => empty string
ok 1244 - prefix_seperator_invertion: lalala => lalala
ok 1245 - prefix_seperator_invertion: lal/ala => lal/ala
ok 1246 - prefix_seperator_invertion: lal.ala => lal.ala
ok 1247 - prefix_seperator_invertion: //// => ////
ok 1248 - prefix_seperator_invertion: ..... => .....
ok 1249 - prefix_seperator_invertion: $mysync empty string => empty string
ok 1250 - prefix_seperator_invertion: $mysync lalala => lalala
ok 1251 - prefix_seperator_invertion: $mysync lal/ala => lal/ala
ok 1252 - prefix_seperator_invertion: $mysync lal.ala => lal.ala
ok 1253 - prefix_seperator_invertion: $mysync //// => ////
ok 1254 - prefix_seperator_invertion: $mysync ..... => .....
ok 1255 - prefix_seperator_invertion: PPPQQQst empty string => QQQ
ok 1256 - prefix_seperator_invertion: PPPQQQst lalala => QQQlalala
ok 1257 - prefix_seperator_invertion: PPPQQQst lal/ala => QQQlal/ala
ok 1258 - prefix_seperator_invertion: PPPQQQst lal.ala => QQQlal.ala
ok 1259 - prefix_seperator_invertion: PPPQQQst //// => QQQ////
ok 1260 - prefix_seperator_invertion: PPPQQQst ..... => QQQ.....
ok 1261 - prefix_seperator_invertion: PPPQQQst PPPPlalala => QQQPlalala
ok 1262 - prefix_seperator_invertion: PPPQQQst PPP => QQQ
ok 1263 - prefix_seperator_invertion: PPPQQQst sss => QQQttt
ok 1264 - prefix_seperator_invertion: PPPQQQst s => QQQt
ok 1265 - prefix_seperator_invertion: PPPQQQst PPPsAAAsBBB => QQQtAAAtBBB
# Leaving tests_prefix_seperator_invertion()
# Entering tests_is_integer()
ok 1266 - is_integer: no args => undef
ok 1267 - is_integer: 1 => yes
ok 1268 - is_integer: 42 => yes
ok 1269 - is_integer: "$NUMBER_42" => yes
ok 1270 - is_integer: "42" => yes
ok 1271 - is_integer: 104_857_600 => yes
ok 1272 - is_integer: "$NUMBER_104_857_600" => yes
ok 1273 - is_integer: 104857600 => yes
ok 1274 - is_integer: blabla => no
ok 1275 - is_integer: empty string => no
# Leaving tests_is_integer()
# Entering tests_integer_or_1()
ok 1276 - integer_or_1: no args => 1
ok 1277 - integer_or_1: undef => 1
ok 1278 - integer_or_1: 10 => 10
ok 1279 - integer_or_1: empty string => 1
ok 1280 - integer_or_1: lalala => 1
# Leaving tests_integer_or_1()
# Entering tests_is_number()
ok 1281 - is_number: no args => undef
ok 1282 - is_number: undef => undef
ok 1283 - is_number: 1 => 1
ok 1284 - is_number: 1.1 => 1
ok 1285 - is_number: 0 => 1
ok 1286 - is_number: -1 => 1
ok 1287 - is_number: 1.1.1 => no
ok 1288 - is_number: q{} => no
ok 1289 - is_number: haha => no
ok 1290 - is_number: 0haha => no
ok 1291 - is_number: 2haha => no
ok 1292 - is_number: haha2 => no
# Leaving tests_is_number()
# Entering tests_sig_install()
ok 1293 - sig_install: no args => undef
ok 1294 - sig_install: arg undef => undef
ok 1295 - sig_install: empty hash => undef
In sig_install with sub tototo and signal USR1
Installing signal USR1 to call sub tototo
ok 1296 - sig_install: USR1 tototo
In subsignal with USR1 and tototo
In tototo with USR1
ok 1297 - sig_install: kill USR1 myself 1
ok 1298 - sig_install: tototo call nb 1
In sig_install with sub tototo and signal USR2
Installing signal USR2 to call sub tototo
ok 1299 - sig_install: USR2 tototo
In subsignal with USR2 and tototo
In tototo with USR2
ok 1300 - sig_install: kill USR2 myself 1
ok 1301 - sig_install: tototo call nb 2
In subsignal with USR1 and tototo
In tototo with USR1
ok 1302 - sig_install: kill USR1 myself 2
ok 1303 - sig_install: tototo call nb 3
ok 1304 - sig_install: kill USR1 myself 3
ok 1305 - 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 1306 - sig_install: USR1 USR2 tototo
In subsignal with USR1 and tototo
In tototo with USR1
ok 1307 - sig_install: kill USR1 myself 4
ok 1308 - sig_install: tototo call now nb 4
In subsignal with USR2 and tototo
In tototo with USR2
ok 1309 - sig_install: kill USR1 myself 2
ok 1310 - sig_install: tototo call now nb 5
# Leaving tests_sig_install()
# Entering tests_template()
ok 1311 - tests_template: no args => undef
ok 1312 - tests_template: { } => undef
ok 1313 - tests_template: a hash is a hash
ok 1314 - tests_template: an array is an array
# Leaving tests_template()
# Entering tests_split_around_equal()
ok 1315 - split_around_equal: no args => undef
ok 1316 - split_around_equal: toto=titi => toto => titi
Odd number of elements in anonymous hash at imapsync line 21717.
ok 1317 - split_around_equal: tototiti => toto => undef
ok 1318 - split_around_equal: tototiti => toto= => empty
ok 1319 - split_around_equal: A=B C=D => A => B, C=>D
ok 1320 - split_around_equal: A=B C=D => A => B, C=>D
ok 1321 - split_around_equal: A=B=C => A => B=C
ok 1322 - 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 1323 - toggle_sleep: no args => undef
In toggle_sleep with
ok 1324 - toggle_sleep: undef => undef
In toggle_sleep with
ok 1325 - toggle_sleep: no maxsleep => undef
In toggle_sleep with
Resetting maxsleep to 0s
ok 1326 - toggle_sleep: 3 => 0
In toggle_sleep with
Resetting maxsleep to 2s
ok 1327 - toggle_sleep: 0 => 2
In toggle_sleep with
Resetting maxsleep to 0s
ok 1328 - toggle_sleep: 2 => 0
In toggle_sleep with
Resetting maxsleep to 2s
ok 1329 - toggle_sleep: 0 => 2
In toggle_sleep with
Resetting maxsleep to 0s
ok 1330 - toggle_sleep: 2 => 0
In sig_install with sub CODE(0x2cb2ebd340) and signal USR1
Installing signal USR1 to call sub CODE(0x2cb2ebd340)
ok 1331 - toggle_sleep: install USR1 toggle_sleep
In subsignal with USR1 and CODE(0x2cb2ebd340)
In toggle_sleep with USR1
Resetting maxsleep to 0s
ok 1332 - toggle_sleep: kill USR1 myself
ok 1333 - toggle_sleep: toggle_sleep called => sleeps are 0s
In subsignal with USR1 and CODE(0x2cb2ebd340)
In toggle_sleep with USR1
Resetting maxsleep to 2s
ok 1334 - toggle_sleep: kill USR1 myself again
ok 1335 - toggle_sleep: toggle_sleep called => sleeps are 2s
In subsignal with USR1 and CODE(0x2cb2ebd340)
In toggle_sleep with USR1
Resetting maxsleep to 0s
ok 1336 - toggle_sleep: kill USR1 myself
ok 1337 - toggle_sleep: toggle_sleep called => sleeps are 0s
In subsignal with USR1 and CODE(0x2cb2ebd340)
In toggle_sleep with USR1
Resetting maxsleep to 2s
ok 1338 - toggle_sleep: kill USR1 myself again
ok 1339 - toggle_sleep: toggle_sleep called => sleeps are 2s
# Leaving tests_toggle_sleep()
# Entering tests_labels()
ok 1340 - labels: no parameters => undef
ok 1341 - labels: undef => undef
ok 1342 - require Test::MockObject;
ok 1343 - labels: one parameter => undef
ok 1344 - labels: $mysync UID_1 => \Seen Blabla
# Leaving tests_labels()
# Entering tests_synclabels()
ok 1345 - synclabels: no parameters => undef
ok 1346 - synclabels: undef => undef
ok 1347 - synclabels: var undef => undef
ok 1348 - require Test::MockObject;
ok 1349 - synclabels: fresh $mysync => undef
ok 1350 - synclabels: $mysync UID_1 alone => undef
ok 1351 - synclabels: $mysync UID_1 UID_2 => 1
# Leaving tests_synclabels()
# Entering tests_uidexpunge_or_expunge()
ok 1352 - uidexpunge_or_expunge: no args => undef
ok 1353 - uidexpunge_or_expunge: undef args => undef
ok 1354 - uidexpunge_or_expunge: arg empty => undef
ok 1355 - uidexpunge_or_expunge: undef Mail-IMAPClient instance => undef
ok 1356 - require Test::MockObject;
ok 1357 - uidexpunge_or_expunge: no message (1) to uidexpunge => undef
ok 1358 - uidexpunge_or_expunge: no message (2) to uidexpunge => undef
ok 1359 - uidexpunge_or_expunge: uidexpunge failure => expunge failure => undef
ok 1360 - uidexpunge_or_expunge: uidexpunge failure => expunge ok => 1
ok 1361 - 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 1362 - appendlimit_from_capability: no args => undef
Warn: no imap with call to appendlimit_from_capability
ok 1363 - appendlimit_from_capability: undef arg => undef
ok 1364 - require Test::MockObject;
ok 1365 - appendlimit_from_capability: APPENDLIMIT=123456 => 123456
ok 1366 - appendlimit_from_capability: not a number => undef
# Leaving tests_appendlimit_from_capability()
# Entering tests_maxsize_setting()
ok 1367 - maxsize_setting: no args => undef
ok 1368 - maxsize_setting: undef arg => undef
Warn: no imap with call to appendlimit_from_capability
ok 1369 - maxsize_setting: --maxsize 123456 alone => 123456
ok 1370 - require Test::MockObject;
Host2: found APPENDLIMIT=654321 in CAPABILITY (use --appendlimit xxxx to override this automatic setting)
Host2: Setting maxsize to appendlimit 654321
ok 1371 - maxsize_setting: APPENDLIMIT 654321 alone => 654321
ok 1372 - 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 1373 - maxsize_setting: APPENDLIMIT 654321 + --appendlimit 123456 => 123456
ok 1374 - 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 1375 - 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 1376 - maxsize_setting: APPENDLIMIT 123456 --maxsize 654321 => 123456
# Leaving tests_maxsize_setting()
# Entering tests_mock_capability()
ok 1377 - require Test::MockObject;
ok 1378 - mock_capability: (1) no args => a Test::MockObject
ok 1379 - mock_capability: (2) no args => a Test::MockObject
ok 1380 - mock_capability: (3) no args => capability undef
ok 1381 - mock_capability: (1) one arg => MockObject
ok 1382 - mock_capability: (2) one arg OO style => capability undef
ok 1383 - mock_capability: (1) two args 123456 => capability 123456
ok 1384 - mock_capability: (2) two args 123456 => capability 123456
ok 1385 - mock_capability: (1) two args ABCD => capability ABCD
ok 1386 - mock_capability: (2) two args ABCD => capability ABCD
ok 1387 - mock_capability: (1) two args [ ABCD ] => capability [ ABCD ]
ok 1388 - mock_capability: (2) two args [ ABCD ] => capability [ ABCD ]
ok 1389 - mock_capability: (1) two args [ ABC, DEF ] => capability [ ABC, DEF ]
ok 1390 - mock_capability: (2) two args [ ABC, DEF ] => capability capability [ ABC, DEF ]
ok 1391 - mock_capability: (1) two args ABC, DEF => capability [ ABC, DEF ]
ok 1392 - mock_capability: (2) two args ABC, DEF => capability capability [ ABC, DEF ]
ok 1393 - mock_capability: (1) two args IMAP4rev1, APPENDLIMIT=123456 => capability [ IMAP4rev1, APPENDLIMIT=123456 ]
ok 1394 - mock_capability: (2) two args IMAP4rev1, APPENDLIMIT=123456 => capability capability [ IMAP4rev1, APPENDLIMIT=123456 ]
# Leaving tests_mock_capability()
# Entering tests_appendlimit()
ok 1395 - appendlimit: no args => undef
Warn: no imap with call to appendlimit_from_capability
ok 1396 - appendlimit: no imap2 => undef
ok 1397 - require Test::MockObject;
Host2: found APPENDLIMIT=123456 in CAPABILITY (use --appendlimit xxxx to override this automatic setting)
ok 1398 - appendlimit: imap2 with APPENDLIMIT=123456 => 123456
# Leaving tests_appendlimit()
# Entering tests_capability_of()
ok 1399 - capability_of: no args => undef
ok 1400 - capability_of: undef => undef
ok 1401 - require Test::MockObject;
ok 1402 - capability_of: two args unknown capability => undef
ok 1403 - capability_of: two args APPENDLIMIT 123456 => 123456 yeah!
# Leaving tests_capability_of()
# Entering tests_search_in_array()
ok 1404 - search_in_array: no array => undef
ok 1405 - search_in_array: KA KA=VA => VA
ok 1406 - search_in_array: KA KA=VA KB=VB => VA
ok 1407 - search_in_array: KA=VA KB=VB => VB
# Leaving tests_search_in_array()
# Entering tests_operators_and_exclam_precedence()
ok 1408 - tests_operators_and_exclam_precedence: ! 0 => 1
ok 1409 - tests_operators_and_exclam_precedence: ! 1 => ""
ok 1410 - tests_operators_and_exclam_precedence: not( 0 ) => 1
ok 1411 - tests_operators_and_exclam_precedence: not( 1 ) => ""
ok 1412 - tests_operators_and_exclam_precedence: ! 0 && 0 ) => 0
ok 1413 - tests_operators_and_exclam_precedence: ! 0 && 1 ) => 1
ok 1414 - tests_operators_and_exclam_precedence: ! 1 && 0 ) => ""
ok 1415 - tests_operators_and_exclam_precedence: ! 1 && 1 ) => ""
ok 1416 - tests_operators_and_exclam_precedence: ! 0 && 2 ) => 1
# Leaving tests_operators_and_exclam_precedence()
# Entering tests_teelaunch()
ok 1417 - teelaunch: no args => undef
ok 1418 - teelaunch: arg empty {} => undef
ok 1419 - teelaunch: empty string => undef
ok 1420 - 'teelaunch: logfile W/tmp/tests/tests_teelaunch.txt' isa 'IO::Tee'
Hi!
ok 1421 - teelaunch: write Hi!
ok 1422 - teelaunch: reading W/tmp/tests/tests_teelaunch.txt is Hi!\n
Hoo
ok 1423 - teelaunch: write Hoo
ok 1424 - 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 1425 - teelaunch: write Argh1
print() on closed filehandle $logfile_handle at /usr/share/perl5/vendor_perl/IO/Tee.pm line 132.
Argh2
ok 1426 - teelaunch: write Argh2
ok 1427 - teelaunch: reading W/tmp/tests/tests_teelaunch.txt is still Hi!\nHoo\n
IO::Handle=GLOB(0x2cae3b6e18) IO::Handle=GLOB(0x2caae7b188)
ok 1428 - teelaunch: 2 handles
IO::Handle=GLOB(0x2caae7b188)
ok 1429 - teelaunch: 1 handle
Argh3
ok 1430 - teelaunch: write Argh3 yeah
ok 1431 - teelaunch: 0 handle
ok 1432 - teelaunch: write Argh4 no
ok 1433 - 'teelaunch: W/tmp/tests/tests_teelaunch2.txt' isa 'IO::Tee'
Hi!
ok 1434 - teelaunch: write Hi!
ok 1435 - teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\n
Hoo
ok 1436 - teelaunch: write Hoo
ok 1437 - teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is Hi!\nHoo\n
ok 1438 - teefinish: return 1
Argh1
ok 1439 - teelaunch: write Argh1
Argh2
ok 1440 - teelaunch: write Argh2
ok 1441 - teelaunch: reading W/tmp/tests/tests_teelaunch2.txt is still Hi!\nHoo\n
ok 1442 - teefinish: still return 1
# Leaving tests_teelaunch()
# Entering tests_logfileprepa()
ok 1443 - logfileprepa: no args => undef
ok 1444 - logfileprepa: W/tmp/tests/tests_logfileprepa.txt => 1
# Leaving tests_logfileprepa()
# Entering tests_useheader_suggestion()
ok 1445 - useheader_suggestion: no args => undef
ok 1446 - useheader_suggestion: h1_nb_msg_noheader count null => no suggestion
ok 1447 - useheader_suggestion: h1_nb_msg_noheader count 2 => suggestion of --addheader
# Leaving tests_useheader_suggestion()
# Entering tests_stats_across_folders()
ok 1448 - nb_messages_in_2_not_in_1: no args => undef
ok 1449 - nb_messages_in_2_not_in_1: no messages in 2 => 0
ok 1450 - nb_messages_in_2_not_in_1: a common message => 0
ok 1451 - nb_messages_in_2_not_in_1: one message in_2_not_in_1 => 1
ok 1452 - 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 1453 - labels_add_subfolder2: no parameters => undef
ok 1454 - labels_add_subfolder2: one parameter Blabla => Blabla
ok 1455 - labels_add_subfolder2: one parameter Blan blue => Blan blue
ok 1456 - labels_add_subfolder2: one parameter \Bla "Blan blan" Blabla => \Bla "Blan blan" Blabla
labels before subfolder2: Bla
ok 1457 - labels_add_subfolder2: Bla Subf => "Subf/Bla"
labels before subfolder2: \\Bla
ok 1458 - labels_add_subfolder2: \Bla Subf => \Bla
labels before subfolder2: Bla Kii
ok 1459 - labels_add_subfolder2: Bla Kii Subf => "Subf/Bla" "Subf/Kii"
labels before subfolder2: \\Bla Kii
ok 1460 - labels_add_subfolder2: \Bla Kii Subf => \Bla Subf/Kii
labels before subfolder2: "Blan blan"
ok 1461 - labels_add_subfolder2: "Blan blan" Subf => "Subf/Blan blan"
labels before subfolder2: \\Loo "Blan blan" Kii
ok 1462 - labels_add_subfolder2: \Loo "Blan blan" Kii + Subf => "Subf/Blan blan" Subf/Kii Subf/\Loo
labels before subfolder2: "\\Inbox"
ok 1463 - labels_add_subfolder2: "\\Inbox" Subf => "Subf/\\Inbox" Subf/INBOX
labels before subfolder2: "\\Inbox"
ok 1464 - labels_add_subfolder2: "\\Inbox" Subf INBOX => "Subf/\\Inbox"
labels before subfolder2: "\\Inbox"
ok 1465 - labels_add_subfolder2: "\\Inbox" "\\Inbox" Subf => "Subf/\\Inbox"
labels before subfolder2: "\\Starred"
ok 1466 - labels_add_subfolder2: "\\Starred" Subf => "Subf/\\Starred"
# Leaving tests_labels_add_subfolder2()
# Entering tests_labels_remove_subfolder1()
ok 1467 - labels_remove_subfolder1: no parameters => undef
ok 1468 - labels_remove_subfolder1: one parameter Blabla => Blabla
ok 1469 - labels_remove_subfolder1: one parameter Blan blue => Blan blue
ok 1470 - labels_remove_subfolder1: one parameter \Bla "Blan blan" Blabla => \Bla "Blan blan" Blabla
ok 1471 - labels_remove_subfolder1: Subf/Bla Subf => "Bla"
ok 1472 - labels_remove_subfolder1: "\\Bla" Subf => "\\Bla"
ok 1473 - labels_remove_subfolder1: Subf/Bla Subf/Kii, Subf => "Bla" "Kii"
ok 1474 - labels_remove_subfolder1: "\\Bla" Subf/Kii Subf => "\\Bla" Kii
ok 1475 - labels_remove_subfolder1: "Subf/Blan blan" Subf => "Blan blan"
ok 1476 - labels_remove_subfolder1: "\\Loo" "Subf/Blan blan" Subf/Kii + Subf => "\\Loo" "Blan blan" Kii
ok 1477 - labels_remove_subfolder1: Subf/INBOX + Subf => "\\Inbox"
ok 1478 - 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 1479 - resynclabels: no parameters => undef
ok 1480 - resynclabels: undef => undef
ok 1481 - resynclabels: var undef => undef
Host1 labels fixed: \Seen Baa Kii
Host2 labels : \Seen Baa Kii
Labels are already equal
ok 1482 - resynclabels: $mysync UID_1 UID_2 labels are equal => 1
ok 1483 - require Test::MockObject;
Host1 labels fixed: \Seen Baa Kii
Host2 labels : \Seen Zuu
ok 1484 - resynclabels: $mysync UID_1 UID_2 labels are not equal => store => 1
# Leaving tests_resynclabels()
# Entering tests_labels_remove_special()
ok 1485 - labels_remove_special: no parameters => undef
labels before remove_non_folded:
ok 1486 - labels_remove_special: empty string => empty string
labels before remove_non_folded: "\\Inbox"
ok 1487 - labels_remove_special:"\\Inbox" => empty string
labels before remove_non_folded: "\\Inbox" "\\Starred"
ok 1488 - labels_remove_special:"\\Inbox" "\\Starred" => empty string
labels before remove_non_folded: Foo Bar
ok 1489 - labels_remove_special:Foo Bar => Bar Foo
labels before remove_non_folded: Foo Bar "\\Inbox"
ok 1490 - labels_remove_special:Foo Bar "\\Inbox" => Bar Foo
# Leaving tests_labels_remove_special()
# Entering tests_uniq()
ok 1491 - uniq: undef => 0
ok 1492 - uniq: one => one
ok 1493 - uniq: one one => one
ok 1494 - uniq: one one two one two => one two
# Leaving tests_uniq()
# Entering tests_remove_from_requested_folders()
ok 1495 - remove_from_requested_folders: undef is undef
ok 1496 - remove_from_requested_folders: no args
ok 1497 - remove_from_requested_folders: remove nothing among F1 => nothing
ok 1498 - remove_from_requested_folders: remove Fno among F1 => nothing
ok 1499 - remove_from_requested_folders: remove F1 among F1 => F1
ok 1500 - remove_from_requested_folders: remove F1 among F1 => %requested_folder emptied
ok 1501 - remove_from_requested_folders: remove nothing among F1 F2 => nothing
ok 1502 - remove_from_requested_folders: remove Fno among F1 F2 => nothing
ok 1503 - remove_from_requested_folders: remove F1 among F1 F2 => F1
ok 1504 - remove_from_requested_folders: remove F1 among F1 F2 => %requested_folder F2
ok 1505 - remove_from_requested_folders: remove F1 among F2 => nothing
ok 1506 - remove_from_requested_folders: remove F1 F2 among F2 => F2
ok 1507 - remove_from_requested_folders: remove F1 among F1 F2 => %requested_folder F2
ok 1508 - remove_from_requested_folders: remove F1 F2 among F1 F2 F3 => F1 F2
ok 1509 - 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 1510 - errors_log: no args => undef
ok 1511 - errors_log: empty => undef
ok 1512 - errors_log: aieaie => aieaie
ok 1513 - errors_log: nothing more => aieaie
ok 1514 - errors_log: ouille => aieaie ouille
ok 1515 - errors_log: nothing more => aieaie ouille
# Leaving tests_errors_log()
# Entering tests_add_subfolder1_to_folderrec()
ok 1516 - add_subfolder1_to_folderrec: undef => undef
ok 1517 - add_subfolder1_to_folderrec: no args => empty array
ok 1518 - add_subfolder1_to_folderrec: empty => empty array
ok 1519 - add_subfolder1_to_folderrec: empty => empty folderrec
Acting like --folderrec "SUBI"
ok 1520 - add_subfolder1_to_folderrec: SUBI => SUBI
ok 1521 - add_subfolder1_to_folderrec: SUBI => folderrec SUBI
Nor folder "SUBO" nor "INBOX/SUBO" exists on host1
ok 1522 - add_subfolder1_to_folderrec: SUBO no exists => empty array
ok 1523 - add_subfolder1_to_folderrec: SUBO no exists => empty folderrec
Acting like --folderrec "INBOX/SUBO"
ok 1524 - add_subfolder1_to_folderrec: SUBO + INBOX/SUBO exists => INBOX/SUBO
ok 1525 - add_subfolder1_to_folderrec: SUBO + INBOX/SUBO exists => INBOX/SUBO folderrec
# Leaving tests_add_subfolder1_to_folderrec()
# Entering tests_sanitize_subfolder()
ok 1526 - sanitize_subfolder: no args => undef
ok 1527 - sanitize_subfolder: empty => undef
ok 1528 - sanitize_subfolder: blank => undef
ok 1529 - sanitize_subfolder: blanks => undef
ok 1530 - sanitize_subfolder: abcd => abcd
ok 1531 - sanitize_subfolder: " ab cd " => "ab cd"
ok 1532 - sanitize_subfolder: "a&~b\#\\c[]=d;" => "abcd"
ok 1533 - sanitize_subfolder: aA.b-_ 8c/dD => aA.b-_ 8c/dD
# Leaving tests_sanitize_subfolder()
# Entering tests_remove_edging_blanks()
ok 1534 - remove_edging_blanks: no args => undef
ok 1535 - remove_edging_blanks: abcd => abcd
ok 1536 - remove_edging_blanks: " ab cd " => "ab cd"
# Leaving tests_remove_edging_blanks()
# Entering tests_remove_edging_blanks()
ok 1537 - sanitize: no args => undef
ok 1538 - sanitize: => undef
ok 1539 - sanitize: host1 " example.com " => "example.com"
ok 1540 - sanitize: user1 " to to " => "to to"
ok 1541 - sanitize: password1 " sex is good! " => "sex is good!"
# Leaving tests_remove_edging_blanks()
# Entering tests_remove_last_char_if_is()
ok 1542 - remove_last_char_if_is: no args => undef
ok 1543 - remove_last_char_if_is: empty => empty
ok 1544 - remove_last_char_if_is: empty Z => empty
ok 1545 - remove_last_char_if_is: Z Z => empty
ok 1546 - remove_last_char_if_is: abcZ Z => abc
ok 1547 - 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 1564 | grep ' REG ' | grep -v '/tmp/par-' | grep '.so'
Found myself imapsync pid 1564 using locale dynamic libraries that seems out of myself:
sh: line 1: lsof: command not found
ok 1548 - check_binary_embed_all_dyn_libs: no args => 1
# Leaving tests_check_binary_embed_all_dyn_libs()
# Entering tests_nthline()
ok 1549 - nthline: getting empty string from inexisting W/tmp/tests/noexist.txt
ok 1550 - nthline: 2nd getting empty string from inexisting W/tmp/tests/noexist.txt
ok 1551 - nthline: mkpath W/tmp/tests/
ok 1552 - nthline: put L1\nL2\nL3\nL4\n in W/tmp/tests/nthline.txt
ok 1553 - nthline: get L3 from W/tmp/tests/nthline.txt
# Leaving tests_nthline()
# Entering tests_secondline()
ok 1554 - secondline: getting empty string from inexisting W/tmp/tests/noexist.txt
ok 1555 - secondline: 2nd getting empty string from inexisting W/tmp/tests/noexist.txt
ok 1556 - secondline: mkpath W/tmp/tests/
ok 1557 - secondline: put L1\nL2\nL3\nL4\n in W/tmp/tests/secondline.txt
ok 1558 - secondline: get L2 from W/tmp/tests/secondline.txt
# Leaving tests_secondline()
# Entering tests_tail()
ok 1559 - tail: mkpath W/tmp/tests/
ok 1560 - tail: unlink W/tmp/tests/tail.pid
ok 1561 - tail: unlink W/tmp/tests/tail.txt
ok 1562 - tail: no args => undef
ok 1563 - tail: no pidfile => undef
ok 1564 - tail: no pidfilelocking => undef
ok 1565 - tail: pidfile no exists => undef
ok 1566 - tail: put pid 33333 and tail.txt in pidfile
ok 1567 - tail: logfile to tail no exists => undef
ok 1568 - tail: put L1\nL2\nL3\nL4\nL5\n in W/tmp/tests/tail.txt
ok 1569 - 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 1570 - tail: fake pid in pidfile + tail on=> 1
ok 1571 - tail: put my own PID in pidfile
Will not do a tail -f for processus pid 1564 : it is myself.
ok 1572 - tail: my own pid in pidfile => undef
# Leaving tests_tail()
# Entering tests_truncmess()
ok 1573 - truncmess: no args => undef
ok 1574 - truncmess: abc => abc
ok 1575 - truncmess: abc 2 => ab
ok 1576 - truncmess: abc 3 => abc
ok 1577 - truncmess: abc 4 => abc
ok 1578 - truncmess: "123456789\n", 5 => 12345
ok 1579 - truncmess: "123456789\n" x 100000, 50000 => "123456789\n" x 5000
# Leaving tests_truncmess()
# Entering tests_eta()
ok 1580 - eta: no args => ""
ok 1581 - eta: undef => ""
ok 1582 - eta: No foldersizes => ""
ok 1583 - eta: no args => ETA: "Now" 0 s 0/0 msgs left
ok 1584 - eta: 1, 1, 2 => ETA: "Now" 0 s 1/2 msgs left
# Leaving tests_eta()
# Entering tests_timesince()
ok 1585 - tests_timesince: time - 1 => <= 1 + 1e-02
ok 1586 - tests_timesince: time => <= 1e-02
ok 1587 - tests_timesince: no args => <= time + 1e-02
# Leaving tests_timesince()
# Entering tests_timenext()
ok 1588 - tests_timenext: no args => undef
ok 1589 - tests_timenext: undef => undef
ok 1590 - tests_timenext: defined first time => ~ time
ok 1591 - tests_timenext: second time => less than 2e-02
ok 1592 - tests_timenext: third time => less than 2e-02
# Leaving tests_timenext()
# Entering tests_imapsync_context()
ok 1593 - imapsync_context: CGI or Docker or DockerCGI or Standard
# Leaving tests_imapsync_context()
# Entering tests_abort()
In abort
ok 1594 - abort: no args => undef
# Leaving tests_abort()
# Entering tests_probe_imapssl()
ok 1595 - tests_probe_imapssl: no args => undef
Probing imap ssl on host unknown port 993, got failure.
ok 1596 - tests_probe_imapssl: unknown => undef
# hostname is: arch-nspawn-2323147
ok 1597 - 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 ii5mb43227299iob
ok 1598 - 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 1599 - 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 119.8.44.69 gn25mb43746411iob
ok 1600 - 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 1601 - tests_probe_imapssl: test1.lamiral.info port 993 => matches "* OK"
Probing imap ssl on host test1.lamiral.info port 143, got failure.
ok 1602 - tests_probe_imapssl: test1.lamiral.info port 143 => failure
# Leaving tests_probe_imapssl()
# Entering tests_mailimapclient_connect()
ok 1603 - tests_mailimapclient_connect: ipv4 new
ok 1604 - tests_mailimapclient_connect: ipv4 ref is Mail::IMAPClient
ok 1605 - tests_mailimapclient_connect: ipv4 connect with no server => failure
ok 1606 - tests_mailimapclient_connect: ipv4 setting Server(test.lamiral.info)
ok 1607 - tests_mailimapclient_connect: ipv4 setting Debug( 1 )
ok 1608 - tests_mailimapclient_connect: ipv4 setting Port( 143 )
ok 1609 - 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 1610 - tests_mailimapclient_connect: ipv4 connect to test.lamiral.info
Sending: 1 LOGOUT
Sent 10 bytes
Read: * BYE Logging out
1 OK Logout completed.
ok 1611 - tests_mailimapclient_connect: ipv4 logout
ok 1612 - tests_mailimapclient_connect: ipv4 free variable
ok 1613 - tests_mailimapclient_connect: ipv4 + ssl: new
ok 1614 - tests_mailimapclient_connect: ipv4 + ssl: setting Server(test.lamiral.info)
ok 1615 - tests_mailimapclient_connect: ipv4 + ssl: setting Debug( 1 )
ok 1616 - tests_mailimapclient_connect: ipv4 + ssl: setting Ssl( SSL_VERIFY_NONE )
ok 1617 - 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 1618 - tests_mailimapclient_connect: ipv4 + ssl: connect to test.lamiral.info
Sending: 1 LOGOUT
Sent 10 bytes
Read: * BYE Logging out
ok 1619 - tests_mailimapclient_connect: ipv4 + ssl: logout in ssl does not cause failure
ok 1620 - tests_mailimapclient_connect: ipv4 + ssl: free variable
ok 1621 - tests_mailimapclient_connect: ipv6 + ssl: new
ok 1622 - tests_mailimapclient_connect: ipv6 + ssl: setting Server test1ipv6.lamiral.info
ok 1623 - tests_mailimapclient_connect: ipv6 setting Timeout( 10 )
ok 1624 - tests_mailimapclient_connect: ipv6 + ssl: setting Ssl( SSL_VERIFY_NONE )
ok 1625 - tests_mailimapclient_connect: ipv6 + ssl: setting Port( 993 )
ok 1626 - tests_mailimapclient_connect: ipv4 + ssl: setting Debug( 1 )
Cannot getaddrinfo of test1ipv6.lamiral.info: No address associated with hostname
not ok 1627 - resolv: test1ipv6.lamiral.info => 2a01:e0a:c59:f090:f5eb:1776:332:41d5
# Failed test 'resolv: test1ipv6.lamiral.info => 2a01:e0a:c59:f090:f5eb:1776:332:41d5'
# at imapsync line 8401.
# got: '2001:41d0:2:84e0::1'
# expected: undef
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(0x2cae3bfd58)) called at imapsync line 8402
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
not ok 1628 - 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 8402.
# ''
# 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(0x2cae3bfd58), "1 LOGOUT", 0) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1344
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
Trying command when NOT connected! at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 123.
Mail::IMAPClient::LastError(Mail::IMAPClient=HASH(0x2cae3bfd58), "NO not connected") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1568
Mail::IMAPClient::_send_line(Mail::IMAPClient=HASH(0x2cae3bfd58), "1 LOGOUT", 0) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1344
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3bfd58), "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(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3bfd58), "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(0x2cae3bfd58), "LOGOUT", "BYE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 2007
Mail::IMAPClient::logout(Mail::IMAPClient=HASH(0x2cae3bfd58)) called at imapsync line 8404
main::tests_mailimapclient_connect() called at imapsync line 23348
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
not ok 1629 - 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 8404.
# ''
# doesn't match '(?^:Mail::IMAPClient)'
ok 1630 - tests_mailimapclient_connect: ipv6 + ssl: free variable
# Leaving tests_mailimapclient_connect()
# Entering checknoabletosearch()
ok 1631 - checknoabletosearch: no args => undef
# Leaving checknoabletosearch()
# Entering tests_errorsdump()
ok 1632 - errorsdump: no args => undef
ok 1633 - errorsdump: empty list => undef
ok 1634 - errorsdump: one empty string => "Err 1/1: "
ok 1635 - errorsdump: aieaieaie => "Err 1/1: aieaieaie"
ok 1636 - errorsdump: Aie Ouille => "Err 1/2: Aie Err 2/2: Ouille"
# Leaving tests_errorsdump()
# Entering tests_errorsanalyse()
ok 1637 - errorsanalyse: no args => ERR_NOTHING_REPORTED
ok 1638 - errorsanalyse: empty list => ERR_NOTHING_REPORTED
ok 1639 - errorsanalyse: aie => ERR_UNCLASSIFIED
ok 1640 - errorsanalyse: aie => ERR_UNCLASSIFIED
ok 1641 - errorsanalyse: aie => ERR_UNCLASSIFIED
ok 1642 - errorsanalyse: aie, ouille => ERR_UNCLASSIFIED
ok 1643 - errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED
ok 1644 - errorsanalyse: aie, ouille, "" => ERR_UNCLASSIFIED
ok 1645 - errorsanalyse: "" => ERR_NOTHING_REPORTED
ok 1646 - errorsanalyse: ( "" ) => ERR_NOTHING_REPORTED
ok 1647 - errorsanalyse: ( "", "" ) => ERR_NOTHING_REPORTED
# Leaving tests_errorsanalyse()
# Entering tests_most_common_error()
ok 1648 - most_common_error: no args => ERR_NOTHING_REPORTED
ok 1649 - most_common_error: empty hash ref => ERR_NOTHING_REPORTED
ok 1650 - most_common_error: not a hash ref => ERR_NOTHING_REPORTED
ok 1651 - most_common_error: { ERR_FOO => 1 } => ERR_FOO
ok 1652 - most_common_error: { ERR_FOO => 1, ERR_BAR => 2 } => ERR_BAR
ok 1653 - most_common_error: { ERR_FOO => 2, ERR_BAR => 1 } => ERR_FOO
ok 1654 - most_common_error: { ERR_FOO => 2, ERR_BAR => 2 } => ERR_BAR
ok 1655 - most_common_error: { A => 5, B => 5, C => 5 } => A
ok 1656 - most_common_error: { A => 5, B => 6, C => 6 } => B
ok 1657 - most_common_error: { A => 5, B => 5, C => 7 } => C
ok 1658 - most_common_error: { A => 5, B => 5, C => 7 } => C
# Leaving tests_most_common_error()
# Entering tests_errorclassify()
ok 1659 - errorclassify: no args => undef
ok 1660 - errorclassify: aie => { ERR_UNCLASSIFIED => 1 }
ok 1661 - errorclassify: aie ouille => { ERR_UNCLASSIFIED => 2 }
ok 1662 - errorclassify: aie ouille "" => { ERR_UNCLASSIFIED => 2 }
ok 1663 - errorclassify: aie ouille aie => { ERR_UNCLASSIFIED => 3 }
ok 1664 - errorclassify: aie OVERQUOTA OVERQUOTA
ok 1665 - errorclassify: "" => { ERR_NOTHING_REPORTED => 1 }
ok 1666 - errorclassify: "", "" => { ERR_NOTHING_REPORTED => 1 }
# Leaving tests_errorclassify()
# Entering tests_error_type()
ok 1667 - error_type: no args => ERR_NOTHING_REPORTED
ok 1668 - error_type: empty string => ERR_NOTHING_REPORTED
ok 1669 - error_type: ERR_UNCLASSIFIED => ERR_UNCLASSIFIED
ok 1670 - error_type: aie => ERR_UNCLASSIFIED
ok 1671 - error_type: ouille => ERR_UNCLASSIFIED
ok 1672 - error_type: could not be fetched => ERR_Host1_FETCH
ok 1673 - error_type: could not append message xxx: BAD maximum message size exceeded => ERR_APPEND_SIZE
ok 1674 - error_type: Quota limit will be exceeded => ERR_OVERQUOTA
ok 1675 - error_type: could not append => ERR_APPEND
ok 1676 - error_type: Could not create folder => ERR_CREATE
ok 1677 - error_type: Could not select: blabla => ERR_SELECT
ok 1678 - error_type: Maximum bytes transferred reached, blabla => ERR_TRANSFER_EXCEEDED
ok 1679 - error_type: can not open imap connection on host1 => ERR_CONNECTION_FAILURE_HOST1
ok 1680 - error_type: can not open imap connection on host2 => ERR_CONNECTION_FAILURE_HOST2
ok 1681 - error_type: could not append ... virus => ERR_APPEND_VIRUS
ok 1682 - error_type: could not add flags => ERR_FLAGS
ok 1683 - error_type: SEARCH: Unknown argument => ERR_SEARCH
# Leaving tests_error_type()
# Entering tests_sanitize_host()
ok 1684 - sanitize_host: no args => undef
ok 1685 - sanitize_host: empty => empty
ok 1686 - sanitize_host: imap.example.org => imap.example.org
ok 1687 - sanitize_host: imap.example.org 1 => imap.example.org
ok 1688 - sanitize_host: imap.example.org 2 => imap.example.org
ok 1689 - sanitize_host: imap.example.org 3 => imap.example.org
ok 1690 - sanitize_host: imap.example.org 4 => imap.example.org
ok 1691 - sanitize_host: imap.example.org/ => imap.example.org
# Leaving tests_sanitize_host()
# Entering tests_hmac_sha1_hex()
ok 1692 - hmac_sha1_hex: no args => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d
ok 1693 - hmac_sha1_hex: empty string => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d
ok 1694 - hmac_sha1_hex: empty strings => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d
ok 1695 - hmac_sha1_hex: empty strings + caca => fbdb1d1b18aa6c08324b7d64b71fb76370690e1d
ok 1696 - hmac_sha1_hex: Ö => f1a3f3dac3f137fd658027c11678b895f773ce55
ok 1697 - hmac_sha1_hex: encode_utf8 \x{00D6} => f1a3f3dac3f137fd658027c11678b895f773ce55
ok 1698 - hmac_sha1_hex: encode_utf8 Ö => fe8dc3b9ba3e8850bb4a7b070b2279e911003af2
ok 1699 - hmac_sha1_hex: qq{\x{00D6}} => bb5bfb461e79ecd3dbc6ade2aabb52d22fa8be1a
ok 1700 - hmac_sha1_hex: A => a6fda2a6acdd74630b20aac0c68716048ecd0333
ok 1701 - hmac_sha1_hex: encode_utf8 \x{0041} => a6fda2a6acdd74630b20aac0c68716048ecd0333
ok 1702 - hmac_sha1_hex: encode_utf8 A => a6fda2a6acdd74630b20aac0c68716048ecd0333
ok 1703 - hmac_sha1_hex: \x{0041} => a6fda2a6acdd74630b20aac0c68716048ecd0333
ok 1704 - hmac_sha1_hex: A B => 36c54f255b575a2db58921d116b37c8af94c08cd
ok 1705 - hmac_sha1_hex: encode_utf8 \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd
ok 1706 - hmac_sha1_hex: encode_utf8 A B => 36c54f255b575a2db58921d116b37c8af94c08cd
ok 1707 - hmac_sha1_hex: \x{0041} B => 36c54f255b575a2db58921d116b37c8af94c08cd
ok 1708 - hmac_sha1_hex: 收 => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b
ok 1709 - hmac_sha1_hex: encode_utf8 \x{6536} => 4199f02773d1cd5599b1a8f2d024bdceb8b48e0b
ok 1710 - hmac_sha1_hex: encode_utf8 收 => e82217119628ad03e659cc89671d05ea4cee7238
ok 1711 - hmac_sha1_hex: \x{6536} => undef
# Leaving tests_hmac_sha1_hex()
# Entering tests_total_bytes_max_reached()
ok 1712 - total_bytes_max_reached: no args => undef
ok 1713 - total_bytes_max_reached: no exitwhenover => undef
ok 1714 - total_bytes_max_reached: exitwhenover 300 but no total_bytes_transferred => undef
ok 1715 - total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 200 => undef
Maximum bytes transferred reached, 400 >= 300, ending sync
ok 1716 - total_bytes_max_reached: exitwhenover 300 but total_bytes_transferred 400 => 1
# Leaving tests_total_bytes_max_reached()
# Entering tests_header_construct()
ok 1717 - header_construct: no args => undef
ok 1718 - header_construct: key1 val1_key1 no useheader => undef
ok 1719 - header_construct: key1 val1_key1 => KEY1: VAL1_KEY1
ok 1720 - header_construct: key1 val1_key1 val3_key1 val2_key1 => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1
ok 1721 - header_construct: key1 val1_key1 val3_key1 val2_key1 => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1
ok 1722 - header_construct: key1 val1_key1 val3_key1 val2_key1 useheader ALL => KEY1: VAL1_KEY1KEY1: VAL2_KEY1KEY1: VAL3_KEY1
ok 1723 - header_construct: key1 val1_key1 val3_key1 val2_key1 useheader ALL => undef
ok 1724 - header_construct: ... useheader ALL skipheader key1 => KEY2: VAL1_KEY2KEY2: VAL2_KEY2KEY2: VAL3_KEY2
# Leaving tests_header_construct()
# Entering tests_remove_doublequotes_if_any()
ok 1725 - tests_remove_doublequotes_if_any: no args => undef
ok 1726 - tests_remove_doublequotes_if_any: empty string => empty string
ok 1727 - tests_remove_doublequotes_if_any: double-quotes => empty string
ok 1728 - tests_remove_doublequotes_if_any: double-quotes => empty string
ok 1729 - tests_remove_doublequotes_if_any: double-quotes => empty string
ok 1730 - tests_remove_doublequotes_if_any: "toto" => toto
ok 1731 - tests_remove_doublequotes_if_any: toto => toto
ok 1732 - tests_remove_doublequotes_if_any: to"to => toto
ok 1733 - tests_remove_doublequotes_if_any: toto" => toto
ok 1734 - tests_remove_doublequotes_if_any: "toto => toto
ok 1735 - tests_remove_doublequotes_if_any: "to"to => toto
ok 1736 - tests_remove_doublequotes_if_any: to"to" => toto
ok 1737 - tests_remove_doublequotes_if_any: to\"to => toto
ok 1738 - tests_remove_doublequotes_if_any: toto\" => toto
ok 1739 - tests_remove_doublequotes_if_any: \"toto => toto
ok 1740 - tests_remove_doublequotes_if_any: \"to\"to => toto
ok 1741 - 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_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.24.5.22
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 1742 - tests_login_imap_ssl_993: test1.lamiral.info test1 ssl
ok 1743 - tests_login_imap_ssl_993: test1.lamiral.info test1 ssl IsAuthenticated
ok 1744 - 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.24.5.22
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 1745 - tests_login_imap_starttls: test1.lamiral.info test1 tls
ok 1746 - tests_login_imap_starttls: test1.lamiral.info test1 tls IsAuthenticated
ok 1747 - 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.24.5.22
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 1748 - tests_login_imap_starttls: test1.lamiral.info test1 tls SSLv2 not supported
ok 1749 - 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 1750 - tests_login_imap_starttls: noresol.lamiral.info undef
ok 1751 - tests_login_imap_starttls: Host2 noresol.lamiral.info => ERR_CONNECTION_FAILURE_HOST2
ok 1752 - tests_login_imap_starttls: acc->{ imap } noresol error => undef
# Leaving tests_login_imap_starttls()
# Entering tests_login_imap_notls_nossl()
ok 1753 - 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.24.5.22
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 1754 - tests_login_imap_notls_nossl: test1.lamiral.info test1 tls
ok 1755 - tests_login_imap_notls_nossl: test1.lamiral.info test1 tls IsAuthenticated
ok 1756 - 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 1757 - tests_login_imap_notls_nossl: noresol.lamiral.info undef
ok 1758 - tests_login_imap_notls_nossl: Host2 noresol.lamiral.info => ERR_CONNECTION_FAILURE_HOST2
ok 1759 - 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.24.5.22
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 1760 - tests_login_imap_notls_nossl: user2 bad passord => undef
ok 1761 - 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.24.5.22
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 1762 - tests_login_imap_notls_nossl: user1 bad passord => undef
ok 1763 - 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: 108.177.125.109 Local IP address: 172.24.5.22
Host2 banner: * OK Gimap ready for requests from 119.8.44.69 fm8mb43346454iob
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
Host2 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Invalid SASL argument. fm8mb43346454iob
Host2: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]
ok 1764 - tests_login_imap_oauth: user2 bad oauthdirect => undef
ok 1765 - 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: 64.233.189.108 Local IP address: 172.24.5.22
Host1 banner: * OK Gimap ready for requests from 119.8.44.69 z5mb29765007ivc
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
Host1 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Invalid SASL argument. z5mb29765007ivc
Host1: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]
ok 1766 - tests_login_imap_oauth: user1 bad oauthdirect => undef
ok 1767 - 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: 64.233.189.108 Local IP address: 172.24.5.22
Host1 banner: * OK Gimap ready for requests from 119.8.44.69 x21mb43644634iow
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
Host1 failure: Error login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]: 2 BAD Too many arguments provided x21mb43644634iow
Host1: failed login on [imap.gmail.com] with user [test1] auth [XOAUTH2 direct]
ok 1768 - tests_login_imap_oauth: user1 bad oauthdirect => undef
ok 1769 - tests_login_imap_oauth: Host1 no oauthdirect value => ERR_AUTHENTICATION_FAILURE_USER1
ok 1770 # skip oauthdirect: no oauthdirect file
ok 1771 # skip oauthdirect: no oauthdirect file
ok 1772 # skip oauthdirect: no oauthdirect file
ok 1773 # skip oauthdirect: no oauthdirect file
ok 1774 # skip oauthdirect: no oauthdirect file
ok 1775 # skip oauthdirect: no oauthdirect file
ok 1776 # skip oauthdirect: no oauthdirect file
ok 1777 # skip oauthdirect: no oauthdirect file
ok 1778 # skip oauthdirect: no oauthdirect file
ok 1779 # skip oauthdirect: no oauthdirect file
ok 1780 # skip oauthdirect: no oauthdirect file
ok 1781 # skip oauthdirect: no oauthdirect file
ok 1782 # skip oauthdirect: no oauthdirect file
ok 1783 # skip oauthdirect: no oauthdirect file
ok 1784 # skip oauthdirect: no oauthdirect file
ok 1785 # skip oauthdirect: no oauthdirect file
ok 1786 # skip oauthdirect: no oauthdirect file
ok 1787 # skip oauthdirect: no oauthdirect file
ok 1788 # skip oauthdirect: no oauthdirect file
ok 1789 # skip oauthdirect: no oauthdirect file
ok 1790 # skip oauthdirect: no oauthdirect file
ok 1791 # skip oauthaccesstoken: no access_token file
ok 1792 # skip oauthaccesstoken: no access_token file
ok 1793 # skip oauthaccesstoken: no access_token file
ok 1794 # skip oauthaccesstoken: no access_token file
ok 1795 # skip oauthaccesstoken: no access_token file
ok 1796 # skip oauthaccesstoken: no access_token file
ok 1797 # skip oauthaccesstoken: no access_token file
ok 1798 # skip oauthaccesstoken: no access_token file
ok 1799 # skip oauthaccesstoken: no access_token file
ok 1800 # skip oauthaccesstoken: no access_token file
ok 1801 # skip oauthaccesstoken: no access_token file
ok 1802 # skip oauthaccesstoken: no access_token file
ok 1803 # skip oauthaccesstoken: no access_token file
ok 1804 # skip oauthaccesstoken: no access_token file
ok 1805 # skip oauthaccesstoken: no access_token file
ok 1806 # skip oauthaccesstoken: no access_token file
ok 1807 # skip oauthaccesstoken: no access_token file
ok 1808 # skip oauthaccesstoken: no access_token file
ok 1809 # skip oauthaccesstoken: no access_token file
ok 1810 # skip oauthaccesstoken: no access_token file
# Leaving tests_login_imap_oauth()
# Entering tests_skipmess_neg()
ok 1811 - skipmess: i string yes
ok 1812 - skipmess: i string no
ok 1813 - skipmess: not i string no
ok 1814 - skipmess: not i string yes
ok 1815 - skipmess: 1 not From tartanpion@machin.truc
ok 1816 - skipmess: 2 not From tartanpion@machin.truc
ok 1817 - skipmess: 3 not From tartanpion@machin.truc
ok 1818 - skipmess: 4 not From tartanpion@machin.truc
# Leaving tests_skipmess_neg()
# Entering tests_localtimez()
# localtimez: Friday 23 August 2024-08-23 23:01:08 +0800 CST
ok 1819 - localtimez: 0 => match 1970-01-01 00:00:00 +0000 GMT or UTC
ok 1820 - localtimez: undef => equals currrent
# Leaving tests_localtimez()
# Entering tests_file_to_array()
ok 1821 - file_to_array: no args => undef
ok 1822 - file_to_array: /noexist => undef
ok 1823 - file_to_array: reading a directory => undef
ok 1824 - file_to_array: mkpath W/tmp/tests/
ok 1825 - file_to_array: put L1\nL2\nL3\nL4\n in W/tmp/tests/file_to_array.txt
ok 1826 - 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 1827 - cpu_time: no args => a number
15.06 + 2.01 + 0.15 + 0.92 = 18.14 ~ 18.14
ok 1828 - cpu_time: {} => a number
# Leaving tests_cpu_time()
# Entering tests_cpu_percent()
ok 1829 - cpu_percent: no args => 0.0
cpu_percent: 0.0
ok 1830 - cpu_percent: {} => 0.0
cpu_percent: 0.0
ok 1831 - cpu_percent: {} 0 => 0.0
Strange: cpu_time 3 > timediff 1
cpu_percent: 300.0
ok 1832 - cpu_percent: {} 3 => 300.0
cpu_percent: 30.0
ok 1833 - cpu_percent: {} 3 10 => 30.0
cpu_percent: 0.0
ok 1834 - cpu_percent: {} 0 10 => 0.0
# Leaving tests_cpu_percent()
# Entering tests_cpu_percent_global()
ok 1835 - tests_cpu_percent_global: no args => 0
cpu_percent_global: 0.0
ok 1836 - tests_cpu_percent_global: {} => 0
cpu_percent_global: 0.0
ok 1837 - tests_cpu_percent_global: {} 0 => 0
ok 1838 # skip cpu_percent_global on host != i005
ok 1839 # skip cpu_percent_global on host != petite
# Leaving tests_cpu_percent_global()
# Entering tests_flags_for_host2()
ok 1840 - flags_for_host2: no args => undef
ok 1841 - flags_for_host2: undef => undef
ok 1842 - flags_for_host2: nothing => undef
ok 1843 - flags_for_host2: no flags => empty string
ok 1844 - flags_for_host2: \Recent => empty string
ok 1845 - flags_for_host2: \Recent \Seen => \Seen
ok 1846 - flags_for_host2: \Deleted \Recent \Seen => \Deleted \Seen
ok 1847 - flags_for_host2: flagscase = 0 \DELETED \Seen => \DELETED \Seen
ok 1848 - flags_for_host2: flagscase = 1 \DELETED \Seen => \Deleted \Seen
ok 1849 - flags_for_host2: filterflags = 0 \Seen \Blabla among \Seen \Junk => \Seen \Blabla
ok 1850 - flags_for_host2: filterflags = 1 \Seen \Blabla among \Seen \Junk => \Seen
ok 1851 - flags_for_host2: filterflags = 1 \Seen \Blabla among "" => \Seen \Blabla
# Leaving tests_flags_for_host2()
# Entering tests_under_docker_context()
ok 1852 - under_docker_context: no args => undef
ok 1853 - under_docker_context: --dockercontext => 1
ok 1854 - under_docker_context: --nodockercontext => 0
ok 1855 - under_docker_context: not docker context => 0
# Leaving tests_under_docker_context()
# Entering tests_exit_value()
ok 1856 - exit_value: no args => EXIT_CATCH_ALL
ok 1857 - exit_value: undef => EXIT_CATCH_ALL
ok 1858 - exit_value: Blabla => EXIT_CATCH_ALL
ok 1859 - exit_value: empty => EXIT_CATCH_ALL
ok 1860 - exit_value: undef => EXIT_CATCH_ALL
ok 1861 - exit_value: ERR_OVERQUOTA => EXIT_OVERQUOTA
ok 1862 - exit_value: ERR_TRANSFER_EXCEEDED => EXIT_TRANSFER_EXCEEDED
# Leaving tests_exit_value()
# Entering tests_comment_of_error_type()
ok 1863 - comment_of_error_type: no args => undef
ok 1864 - comment_of_error_type: undef => undef
ok 1865 - comment_of_error_type: "" => ""
ok 1866 - comment_of_error_type: blabla => ""
ok 1867 - comment_of_error_type: ERR_UNCLASSIFIED => ""
ok 1868 - comment_of_error_type: ERR_OVERQUOTA => matches 100% full
# Leaving tests_comment_of_error_type()
# Entering tests_debugcontent()
ok 1869 - debugcontent: no args => undef
ok 1870 - debugcontent: undef => undef
ok 1871 - debugcontent: undef, mm => undef
ok 1872 - 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_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.24.5.22
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 1873 - tests_compress_ssl: test1.lamiral.info test1 ssl
ok 1874 - 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 1875 - 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óqqåå
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(0x2cae3ca5c8), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3ca5c8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3ca5c8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3ca5c8)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3c96d0)) called at imapsync line 8715
main::tests_compress_ssl() called at imapsync line 23375
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3ca5c8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3ca5c8)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3c96d0)) called at imapsync line 8715
main::tests_compress_ssl() called at imapsync line 23375
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
HostK: Failed to turn compression on
ok 1876 - 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_verify_mode 0 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.24.5.22
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 1877 - tests_compress_ssl: test1.lamiral.info test1 ssl
ok 1878 - tests_compress_ssl: test1.lamiral.info test1 ssl no compression IsAuthenticated
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1879 - tests_compress_ssl: test1.lamiral.info no compression ok
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1880 - 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.24.5.22
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 1881 - tests_compress_starttls: test1.lamiral.info test1 tls
ok 1882 - 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 1883 - 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óqqåå
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(0x2cae3cd118), 6, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3cd118), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3cd118), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3cd118)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cc6e8)) called at imapsync line 8666
main::tests_compress_starttls() called at imapsync line 23376
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3cd118), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3cd118)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cc6e8)) called at imapsync line 8666
main::tests_compress_starttls() called at imapsync line 23376
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
HostK: Failed to turn compression on
ok 1884 - 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.24.5.22
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 1885 - tests_compress_starttls: test1.lamiral.info test1 tls no compression
ok 1886 - tests_compress_starttls: test1.lamiral.info test1 tls no compression IsAuthenticated
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1887 - tests_compress_starttls: test1.lamiral.info no compression ok
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1888 - 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.24.5.22
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 1889 - tests_compress: test1.lamiral.info test1
ok 1890 - 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 1891 - tests_compress: test1.lamiral.info ok
HostK: Trying to turn imap compression on. Use --nocompressK to avoid compression on hostk
Sending: 2Qpö÷
r
Vpquóqqåå
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(0x2cae3cbe90), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3cbe90), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3cbe90), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3cbe90)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cce48)) called at imapsync line 8756
main::tests_compress() called at imapsync line 23377
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3cbe90), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3cbe90)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cce48)) called at imapsync line 8756
main::tests_compress() called at imapsync line 23377
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
HostK: Failed to turn compression on
ok 1892 - 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.24.5.22
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 1893 - tests_compress: test1.lamiral.info test1 tls
ok 1894 - 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 1895 - 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óqqåå
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(0x2cae3c9ba8), 4, undef) called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1350
Mail::IMAPClient::_imap_command_do(Mail::IMAPClient=HASH(0x2cae3c9ba8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 1248
Mail::IMAPClient::_imap_command(Mail::IMAPClient=HASH(0x2cae3c9ba8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3c9ba8)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cce48)) called at imapsync line 8766
main::tests_compress() called at imapsync line 23377
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
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(0x2cae3c9ba8), "COMPRESS DEFLATE") called at /usr/share/perl5/vendor_perl/Mail/IMAPClient.pm line 480
Mail::IMAPClient::compress(Mail::IMAPClient=HASH(0x2cae3c9ba8)) called at imapsync line 8799
main::acc_compress_imap(HASH(0x2cae3cce48)) called at imapsync line 8766
main::tests_compress() called at imapsync line 23377
main::tests(HASH(0x2cacc0a148)) called at imapsync line 20871
main::unittestssuite(HASH(0x2cacc0a148)) called at imapsync line 1573
main::single_sync(HASH(0x2cacc0a148), HASH(0x2caae4c5b8), HASH(0x2cacc0a298)) called at imapsync line 1393
HostK: Failed to turn compression on
ok 1896 - 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.24.5.22
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 1897 - tests_compress: test1.lamiral.info test1 ssl
ok 1898 - tests_compress: test1.lamiral.info test1 ssl IsAuthenticated
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1899 - tests_compress: test1.lamiral.info off ok
HostK: Compression is off. Use --compressK to allow compression on hostk
ok 1900 - tests_compress: test1.lamiral.info 2nd off ok
# Leaving tests_compress()
# Entering tests_get_options_extra_from_file()
ok 1901 - tests_get_options_extra_from_file: no args => undef
ok 1902 - tests_get_options_extra_from_file: undef => undef
ok 1903 - tests_get_options_extra_from_file: mkpath W/tmp/tests/options_extra/
ok 1904 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --debugimap1
ok 1905 - tests_get_options_extra_from_file: reading options_extra.txt is --debugimap1
ok 1906 - tests_get_options_extra_from_file: --debugimap1 in options_extra.txt => nothing left, empty string return
ok 1907 - tests_get_options_extra_from_file: --debugimap1 in options_extra.txt => ok, acc1->debugimap = 1
ok 1908 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --tls1 proutcaca
ok 1909 - tests_get_options_extra_from_file: --tls1 proutcaca in options_extra.txt => proutcaca left, proutcaca return
ok 1910 - tests_get_options_extra_from_file: --tls1 proutcaca" => tls1 = 1
ok 1911 - tests_get_options_extra_from_file: string_to_file filling options_extra.txt with --tls2 --proutcaca pipi
ok 1912 - tests_get_options_extra_from_file: --tls2 --proutcaca pipi in options_extra.txt => --proutcaca pipi return
ok 1913 - tests_get_options_extra_from_file: --tls2 proutcaca" => tls2 = 1
# Leaving tests_get_options_extra_from_file()
# Entering tests_get_options_from_string()
ok 1914 - tests_get_options_from_string: no args => undef
ok 1915 - tests_get_options_from_string: undef => undef
ok 1916 - tests_get_options_from_string: --debugimap1 => ok, nothing left, empty string return
ok 1917 - tests_get_options_from_string: --debugimap1 => ok, acc1->debugimap = 1
ok 1918 - tests_get_options_from_string: --debugimap1 caca => ok, caca left, caca return
ok 1919 - tests_get_options_from_string: --debugimap1 => ok, acc1->debugimap = 1
ok 1920 - tests_get_options_from_string: --debugimap1 popo roro => ok, popo roro left, popo roro return
ok 1921 - tests_get_options_from_string: --debugimap2 popo roro => ok, acc2->debugimap = 1
ok 1922 - tests_get_options_from_string: acc1->debugimap = 1 still
ok 1923 - tests_get_options_from_string: --nodebugimap1 --debugflags --errorsmax 2 => ok, empty string return
ok 1924 - tests_get_options_from_string: acc1->debugimap = 0 now
ok 1925 - tests_get_options_from_string: debugflags = 1 now
ok 1926 - tests_get_options_from_string: mysync->errorsmax = 2 now
ok 1927 - tests_get_options_from_string: --folder "IN BOX" --folder JOE => ok, empty string return
ok 1928 - tests_get_options_from_string: "IN BOX" "JOE"
ok 1929 - tests_get_options_from_string: --debugflags --koko => --koko
ok 1930 - tests_get_options_from_string: --folder "IN BOX" --folder JOE => ok, empty string return
ok 1931 - tests_get_options_from_string: "IN BOX" "JOE"
# Leaving tests_get_options_from_string()
# Entering tests_email_report_message_id()
ok 1932 - email_report_message_id: no args => ...._.._.._.._.._.._...__@imapsync.tk
ok 1933 - email_report_message_id: undef => ...._.._.._.._.._.._...__@imapsync.tk
ok 1934 - email_report_message_id: 1357902468.531 => 2013_01_11_\d\d_07_48_530__@imapsync.tk
ok 1935 - email_report_message_id: 1357902468.531 sarah haras => 2013_01_11_\d\d_07_48_530_sarah_haras@imapsync.tk
ok 1936 - 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 1937 - year_month_day_hour_min_sec_ms: no args => 1970_01_01_00_00_00_000 GMT
ok 1938 - year_month_day_hour_min_sec_ms: 0 => 1970_01_01_00_00_00_000 GMT
ok 1939 - year_month_day_hour_min_sec_ms: 123456789.123 => 1973_11_29_21_33_09_122 GMT
ok 1940 - year_month_day_hour_min_sec_ms: -1 => 1969_12_31_23_59_59_000 GMT
ok 1941 - year_month_day_hour_min_sec_ms: -0.246 => 1969_12_31_23_59_59_754 GMT
ok 1942 - 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 1943 - fractional_of_floor: no args => 0
ok 1944 - fractional_of_floor: 0 => 0
ok 1945 - fractional_of_floor: 0 => 0
ok 1946 - fractional_of_floor: 1 => 0
ok 1947 - fractional_of_floor: 1 => 0
ok 1948 - fractional_of_floor: -1 => 0
ok 1949 - fractional_of_floor: -1 => 0
ok 1950 - fractional_of_floor: 1.234 => 0.234
ok 1951 - fractional_of_floor: 1.234 => 0.234
ok 1952 - fractional_of_floor: -1.234 => 0.766
ok 1953 - fractional_of_floor: -1.234 => 0.766
ok 1954 - fractional_of_floor: 10.234 => 0.234
ok 1955 - fractional_of_floor: -10.234 => 0.766
# Leaving tests_fractional_of_floor()
# Entering tests_email_report_date()
ok 1956 - date_rfc822: no args => now: Fri, 23 Aug 2024 23:01:20 +0800
ok 1957 - date_rfc822: 0 => Thu, 01 Jan 1970 00:00:00 +0000
ok 1958 - date_rfc822: 1671706800 => Thu, 22 Dec 2022 11:00:00 +0000
# Leaving tests_email_report_date()
# Entering tests_email_report_from()
ok 1959 - email_report_from: no args => help@imapsync.tk
ok 1960 - email_report_from: undef => help@imapsync.tk
ok 1961 - email_report_from: foo@example.com => foo@example.com
# Leaving tests_email_report_from()
# Entering tests_email_report_from()
ok 1962 - email_report_to: no args => help@imapsync.tk
ok 1963 - email_report_to: undef => help@imapsync.tk
ok 1964 - email_report_to: foo@example.com => foo@example.com
# Leaving tests_email_report_from()
# Entering tests_email_report_body_base()
ok 1965 - email_report_body_base: no args => empty string
ok 1966 - 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 1967 - email_report: undef => empty string
# Message-Id: 2024_08_23_23_01_20_129_user1_example_com_user2_example_com@imapsync.tk
# Date: Fri, 23 Aug 2024 23:01:20 +0800
# 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 1968 - setlogdir: no args => LOG_imapsync
ok 1969 - setlogdir: no args => LOG_imapsync
ok 1970 - setlogdir: logdir empty string => empty string
ok 1971 - setlogdir: logdir empty string unchanged
ok 1972 - setlogdir: logdir vallogdir => vallogdir
ok 1973 - setlogdir: logdir vallogdir unchanged
ok 1974 - setlogdir: logdir vallogdir => vallogdir
ok 1975 - setlogdir: logdir vallogdir unchanged
# Leaving tests_setlogdir()
# Entering tests_logfilesuffix()
ok 1976 - tests_logfilesuffix: no args => _
ok 1977 - tests_logfilesuffix: undef => _
ok 1978 - tests_logfilesuffix: valuser1 valuser2 => valuser1_valuser2
ok 1979 - tests_logfilesuffix: valuser1 valuser2 _suppl => valuser1_valuser2_suppl
# Leaving tests_logfilesuffix()
# Entering tests_cgienvcontext()
ok 1980 - cgienvcontext: no args => empty
ok 1981 - cgienvcontext: undef => empty
ok 1982 - cgienvcontext: SERVER_SOFTWARE=Chateau Lami
ok 1983 - cgienvcontext: SERVER_SOFTWARE + REMOTE_HOST
ok 1984 - cgienvcontext: SERVER_SOFTWARE + REMOTE_HOST + --var REMOTE_HOST
ok 1985 - cgienvcontext: SERVER_SOFTWARE + --var REMOTE_HOST
ok 1986 - cgienvcontext: --var REMOTE_HOST
# Leaving tests_cgienvcontext()
# Entering tests_usecache_and_skipcrossduplicates()
ok 1987 - usecache_and_skipcrossduplicates: no args => undef
ok 1988 - usecache_and_skipcrossduplicates: undef => undef
ok 1989 - usecache_and_skipcrossduplicates: usecache=skipcrossduplicates=1 => wrong
# Leaving tests_usecache_and_skipcrossduplicates()
# Entering tests_loglogfile()
ok 1990 - loglogfile: no args => undef
ok 1991 - loglogfile: undef => undef
ok 1992 - loglogfile: no logfile => undef
ok 1993 - loglogfile: logfile=logfile.txt =>
# Leaving tests_loglogfile()
# Entering tests_is_heavy_load_reached()
ok 1994 - heavy_load_reached: no args => 0 or 1
ok 1995 - heavy_load_reached: { } => 0 or 1
ok 1996 - heavy_load_reached: exitonload=0 => 0
# Leaving tests_heavy_load_reached()
# Entering tests_heavy_load_percent_threshold()
# 94 (%)
ok 1997 - heavy_load_percent_threshold: no args => integer
ok 1998 - heavy_load_percent_threshold: { } => integer
# Leaving tests_heavy_load_percent_threshold()
# Entering tests_pctmem_available()
ok 1999 - pctmem_available: no args => undef
ok 2000 - pctmem_available: => 0 or 1
# Leaving tests_pctmem_available()
# Entering tests_filterbuggyflags()
ok 2001 - tests_filterbuggyflags: remove famous /X 1
ok 2002 - tests_filterbuggyflags: remove famous /X 2
ok 2003 - tests_filterbuggyflags: \ is \
ok 2004 - tests_filterbuggyflags: \ is \
# Leaving tests_filterbuggyflags()
# Entering tests_heavy_load_reached_by_memory()
ok 2005 - heavy_load_reached_by_memory: no args => 0 or 1
ok 2006 - heavy_load_reached_by_memory: { } => 0 or 1
# Leaving tests_heavy_load_reached_by_memory()
# Entering tests_heavy_load_reached_by_cpu()
# 0.46 0.47 0.20 2/157 heavy_load_reached_by_cpu 0
ok 2007 - heavy_load_reached_by_cpu: no args => 0 or 1
ok 2008 - heavy_load_reached_by_cpu: { } => 0 or 1
# Leaving tests_heavy_load_reached_by_cpu()
# Entering tests_load_per_cpu()
# loadavg: 0.46 0.47 0.20 2/157 cpu_number: 4 load_per_cpu 0
ok 2009 - tests_load_per_cpu: no args => number
ok 2010 - tests_load_per_cpu: { } => number
# Leaving tests_load_per_cpu()
# Entering tests_memory_consumption_surface()
ok 2011 - memory_consumption_surface: no args => undef
ok 2012 - memory_consumption_surface: { } => undef
ok 2013 - memory_consumption_surface: 1 MB 1 hour => 1
ok 2014 - memory_consumption_surface: 500 MB 30 min => 238
# Leaving tests_memory_consumption_surface()
# Entering tests_add()
ok 2015 - tests_add: no args => 0
ok 2016 - tests_add: undef => 0
ok 2017 - tests_add: 0 => 0
ok 2018 - tests_add: 0 0 => 0
ok 2019 - tests_add: 0 0 0 => 0
ok 2020 - tests_add: 1 => 1
ok 2021 - tests_add: 1 1 => 2
ok 2022 - tests_add: 1 1 1 => 3
ok 2023 - tests_add: 1 undef 1 => 2
ok 2024 - tests_add: -1 1 => 0
ok 2025 - tests_add: 1.1 1.1 => 2.2
ok 2026 - tests_add: 1 1 ... 1 100 times => 100 list
ok 2027 - tests_add: 1 1 ... 1 100 times => 100 array
# Leaving tests_add()
# Entering tests_all_pids()
# all_pids 1 2 6 8 9 1563 1564 1634
ok 2028 - tests_all_pids: no args => list of pids
# Leaving tests_all_pids()
# Entering tests_memory_consumption_of_all_pids()
# memory_consumption_of_all_pids: 215453696 bytes aka 215.454 MB
ok 2029 - tests_memory_consumption_of_all_pids no args
# Leaving tests_memory_consumption_of_all_pids()
# Entering tests_remove_qq()
ok 2030 - tests_remove_qq: no args => undef
ok 2031 - tests_remove_qq: empty => empty
ok 2032 - tests_remove_qq: ABC => ABC
ok 2033 - tests_remove_qq: "ABC" => ABC
ok 2034 - tests_remove_qq: ""ABC" => "ABC
ok 2035 - tests_remove_qq: "ABC"" => ABC"
ok 2036 - tests_remove_qq: ""ABC"" => "ABC"
# Leaving tests_remove_qq()
# Entering tests_memory_consumption_all_pids_percent()
# 1.29 (%)
ok 2037 - tests_memory_consumption_all_pids_percent: no args => like 12.34
ok 2038 - tests_memory_consumption_all_pids_percent: > 0
ok 2039 - tests_memory_consumption_all_pids_percent: <= 100
# Leaving tests_memory_consumption_all_pids_percent()
# Entering tests_ram_memory_info()
# ram_memory_info:3.0/15.6 free GiB of RAM, 1.29% used by processes.
# total_ram_memory_bytes_sys_meminfo:16765149184
ok 2040 - ram_memory_info: => some text
# Leaving tests_ram_memory_info()
# Entering tests_firstline_or_string()
ok 2041 - tests_firstline_or_string: no args => undef
ok 2042 - tests_firstline_or_string: empty string => please, give a value
ok 2043 - tests_firstline_or_string: get W/tmp/tests/noexist.txt string from inexisting W/tmp/tests/noexist.txt
ok 2044 - tests_firstline_or_string: mkpath W/tmp/tests/
ok 2045 - tests_firstline_or_string: put blabla in W/tmp/tests/firstline.txt
ok 2046 - tests_firstline_or_string: get blabla from W/tmp/tests/firstline.txt
# Leaving tests_firstline_or_string()
# Entering tests_oauth2_bearer_string()
ok 2047 - tests_oauth2_bearer_string: no args => undef
ok 2048 - tests_oauth2_bearer_string: empty string, no user => undef
ok 2049 - 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 18951.
ok 2050 - tests_oauth2_bearer_string: empty string, empty user, noexists command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ
Executing script: true
ok 2051 - tests_oauth2_bearer_string: empty string, empty user, true command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ
Executing script: false
ok 2052 - 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
ok 2053 - tests_oauth2_bearer_string: empty string, empty user, ls /kkkk command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ
Executing script: echo Hi!
Output of echo Hi!
Hi!
ok 2054 - tests_oauth2_bearer_string: empty string, empty user, empty command => dXNlcj0BYXV0aD1CZWFyZXIgcGxlYXNlLCBnaXZlIGEgdmFsdWUBAQ
# Leaving tests_oauth2_bearer_string()
# Entering tests_diskspace_available()
ok 2055 - tests_diskspace_available: no args => 1, could touch /var/tmp/imapsync_test_diskspace_available
ok 2056 - tests_diskspace_available: removed /var/tmp/imapsync_test_diskspace_available
ok 2057 - tests_diskspace_available: no args => 1, could touch /var/tmp/imapsync_test_diskspace_available2
ok 2058 - tests_diskspace_available: removed /var/tmp/imapsync_test_diskspace_available2
ok 2059 - tests_diskspace_available: /no/no/no/no => undef
# Leaving tests_diskspace_available()
# Entering tests_random_string()
ok 2060 - tests_random_string: give me a random string
ok 2061 - tests_random_string: 64 characters long
ok 2062 - tests_random_string: give another one
ok 2063 - tests_random_string: 64 characters long
# buwpzyfdutedcgjjwihonhajezyjnubyksxrekpirlptigyjsfhjicqyhjvwsgrv egcoqbxwllcsqcvbpraahyoyxkgkuwfnplmuscvitfqrhtymsduuhnhmiyjxausj
ok 2064 - tests_random_string: hope they are different
ok 2065 - tests_random_string: give me a 11 characters random string
ok 2066 - tests_random_string: 11 characters long
# zceffxcadfs
# Leaving tests_random_string()
# Entering tests_filter_forbidden_characters()
ok 2067 - tests_filter_forbidden_characters_cgi_context: no args -> undef
ok 2068 - tests_filter_forbidden_characters_cgi_context: empty string -> empty string
ok 2069 - tests_filter_forbidden_characters_cgi_context: a*|?:"<>'b -> a________b
ok 2070 - tests_filter_forbidden_characters_cgi_context: "a b " -> "a_b_"
ok 2071 - tests_filter_forbidden_characters_cgi_context: a\tb -> a_b
ok 2072 - tests_filter_forbidden_characters_cgi_context: a\rb -> a_b
ok 2073 - tests_filter_forbidden_characters_cgi_context: a\nb -> a_b
ok 2074 - tests_filter_forbidden_characters_cgi_context: a\b -> a_b
ok 2075 - tests_filter_forbidden_characters_cgi_context: a-b -> a-b
ok 2076 - tests_filter_forbidden_characters_cgi_context: aé-è-à -ç-Öb -> a__-__-__-__-__b
ok 2077 - tests_filter_forbidden_characters_cgi_context: abcd_ABCDwxyz-WXYZ012789 -> abcd_ABCDwxyz-WXYZ012789
# Leaving tests_filter_forbidden_characters()
# Entering tests_oauth2_code_verifier()
ok 2078 - tests_oauth2_code_verifier: 128 characters long
# Leaving tests_oauth2_code_verifier()
# Entering tests_oauth2_code_challenge()
ok 2079 - tests_oauth2_code_challenge: empty => 47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
ok 2080 - tests_oauth2_code_challenge: abc => ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0
ok 2081 - tests_oauth2_code_challenge: dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk => E9Melhoa2OwvFrEMTJguCHaoeK1t8URWbuGJSstw-cM
ok 2082 - tests_oauth2_code_challenge: no args => 47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU
# Leaving tests_code_challenge()
# Entering tests_trigger_justconnect1()
ok 2083 - tests_trigger_justconnect1: no args => undef
ok 2084 - tests_trigger_justconnect1: { } => undef
ok 2085 - tests_trigger_justconnect1: --justconnect => 1
ok 2086 - tests_trigger_justconnect1: no more --justconnect => undef
ok 2087 - tests_trigger_justconnect1: just --host1 => 1
ok 2088 - tests_trigger_justconnect1: --host1 --user1 => 1
# Leaving tests_trigger_justconnect1()
# Entering tests_trigger_justconnect2()
ok 2089 - tests_trigger_justconnect2: no args => undef
ok 2090 - tests_trigger_justconnect2: { } => undef
ok 2091 - tests_trigger_justconnect2: --justconnect => 1
ok 2092 - tests_trigger_justconnect2: no more --justconnect => undef
ok 2093 - tests_trigger_justconnect2: just --host2 => 1
ok 2094 - tests_trigger_justconnect1: --host2 --user2 => 1
# Leaving tests_trigger_justconnect2()
# Entering tests_tmpdir()
ok 2095 - tests_tmpdir: no args => ./
ok 2096 - tests_tmpdir: {} + $HOME => $HOME/tmp
ok 2097 - tests_tmpdir: {} + no $HOME => ./
ok 2098 - tests_tmpdir: {}->{tmpdir} + $HOME => {}->{tmpdir}
# Leaving tests_tmpdir()
# Entering tests_cgidir()
ok 2099 - tests_cgidir: no args => undef
ok 2100 # skip Tests avoided in Docker context or foreign host
ok 2101 # skip Tests avoided in Docker context or foreign host
ok 2102 # skip Tests avoided in Docker context or foreign host
# Leaving tests_cgidir()
# Entering tests_separate_host_port_folder()
ok 2103 - tests_separate_host_port_folder: no args => undef
ok 2104 - tests_separate_host_port_folder: empty string => empty array
ok 2105 - tests_separate_host_port_folder: imap.foo.kk => imap.foo.kk
ok 2106 - tests_separate_host_port_folder: imap.foo.kk/ => imap.foo.kk
ok 2107 - tests_separate_host_port_folder: imap.foo.kk:114433 => imap.foo.kk 114433
ok 2108 - tests_separate_host_port_folder: imap.foo.kk:114433/ => imap.foo.kk 114433
ok 2109 - tests_separate_host_port_folder: imap.foo.kk/coco => imap.foo.kk undef coco
ok 2110 - tests_separate_host_port_folder: imap.foo.kk/coco/cucu/ => imap.foo.kk undef coco/cucu/
ok 2111 - tests_separate_host_port_folder: imap.foo.kk:114433/coco => imap.foo.kk 114433 coco
ok 2112 - tests_separate_host_port_folder: imap.foo.kk:114433/coco/cucu/ => imap.foo.kk 114433 coco/cucu/
# Leaving tests_separate_host_port_folder()
# Entering tests_host1_port1_folderrec_from_host1()
ok 2113 - tests_host1_port1_folderrec_from_host1: no args => undef
ok 2114 - tests_host1_port1_folderrec_from_host1: { } => undef
ok 2115 - tests_host1_port1_folderrec_from_host1: host1 empty => undef
ok 2116 - tests_host1_port1_folderrec_from_host1: host1 empty => host1 empty
ok 2117 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk => undef
ok 2118 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk => host1 imap.foo.kk
ok 2119 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk/ => undef
ok 2120 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk/ => host1 imap.foo.kk
Acting like --port1 1234
ok 2121 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => undef
ok 2122 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => host1 imap.foo.kk
ok 2123 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.kk:1234 => port1 1234
Acting like --port1 4321
ok 2124 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => undef
ok 2125 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => host1 imap.foo.qq
ok 2126 - tests_host1_port1_folderrec_from_host1: host1 imap.foo.qq:4321/ => port1 4321
Acting like --folderrec prout/hoho
ok 2127 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.kk/prout/hoho => undef
ok 2128 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.kk/prout/hoho => host1 imap.bar.kk
ok 2129 - 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 2130 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => undef
ok 2131 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => host1 imap.bar.qq
ok 2132 - tests_host1_port1_folderrec_from_host1: host1 imap.bar.qq:2345/prout.haha => port1 2345
ok 2133 - 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 2134 - tests_get_options_extra_from_param: no args => undef
ok 2135 - tests_get_options_extra_from_param: undef => undef
ok 2136 - tests_get_options_extra_from_param: --extra --debugimap1 => nothing left, empty string return
ok 2137 - tests_get_options_extra_from_param: --debugimap1 in options_extra.txt => ok, acc1->debugimap = 1
ok 2138 - tests_get_options_extra_from_param: --extra "--tls1 proutcaca" => proutcaca left, proutcaca return
ok 2139 - tests_get_options_extra_from_param: --extra "--tls1 proutcaca" => tls1 = 1
ok 2140 - tests_get_options_extra_from_param: --extra "--tls1 --proutcaca" => --proutcaca left, --proutcaca return
ok 2141 - tests_get_options_extra_from_param: --extra "--tls1 --proutcaca" => tls1 = 1
ok 2142 - tests_get_options_extra_from_param: --extra "--oauthaccesstoken1 proutcaca" => nothing left, empty string return
ok 2143 - tests_get_options_extra_from_param: --extra "--oauthaccesstoken1 proutcaca" => ->{ acc1 }->{ oauthaccesstoken } = proutcaca
ok 2144 - tests_get_options_extra_from_param: --folder "IN BOX" --folder JOE => ok, empty string return
ok 2145 - tests_get_options_extra_from_param: "IN BOX" "JOE"
# Leaving tests_get_options_extra_from_param()
# Entering tests_setlog()
ok 2146 - tests_setlog: no args => undef
ok 2147 - tests_setlog: default => log is on
Logging to a logfile by default. To turn off logging, use --nolog
ok 2148 - 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 2149 - 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 2150 - 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 2151 - tests_setlog: CGI context => log is on
Logging to a logfile by default. To turn off logging, use --nolog
# Leaving tests_setlog()
# Entering tests_infos()
# OSNAME=linux
# hostname=arch-nspawn-2323147
# cwd=/build/imapsync/src/imapsync-2.290
# PROGRAM_NAME=imapsync
# permissions=0755
# PROCESS_ID=1564
# REAL_USER_ID=1009
# EFFECTIVE_USER_ID=1009
# context: Standard
# memory_consumption_of_myself: 190382080 bytes aka 190.382 MB
# cpu_number: 4
# $Id: imapsync,v 2.290 2024/08/20 10:37:23 gilles Exp gilles $
# Leaving tests_infos()
1..2151
# Leaving tests()
Summary of tests: failed 3 tests, run 2151 tests, expected to run 2151 tests.
List of failed tests:
nb 1627 - resolv: test1ipv6.lamiral.info => 2a01:e0a:c59:f090:f5eb:1776:332:41d5
nb 1628 - tests_mailimapclient_connect: ipv6 + ssl: connect to test1ipv6.lamiral.info
nb 1629 - tests_mailimapclient_connect: ipv6 + ssl: logout in ssl is ok on test1ipv6.lamiral.info
# Looks like your test exited with 254 just after 2151.
[1m[31m==> ERROR:[m[1m A failure occurred in check().[m
[1m Aborting...[m
[0m[J[23;2t[1m[31m==> ERROR:[m[1m Build failed, check /var/lib/archbuild/extra-riscv64/root1/build[m
[34h[?25h[34h[?25hreceiving incremental file list
imapsync-2.290-1-riscv64-build.log
imapsync-2.290-1-riscv64-check.log
sent 62 bytes received 43,217 bytes 28,852.67 bytes/sec
total size is 221,497 speedup is 5.12