Skip to content
This repository has been archived by the owner on Dec 10, 2024. It is now read-only.

Cassandane "light" #60

Open
hagedose opened this issue May 29, 2018 · 24 comments
Open

Cassandane "light" #60

hagedose opened this issue May 29, 2018 · 24 comments
Assignees

Comments

@hagedose
Copy link

hagedose commented May 29, 2018

I would like to get Cassandane to work on my system. Currently it fails because it depends on features that are disabled here:

$ ./configure --build=x86_64-redhat-linux-gnu --host=x86_64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --libexecdir=/usr/lib/cyrus-imapd --sbindir=/usr/lib/cyrus-imapd --enable-xapian --enable-backup --enable-idled --enable-murder --enable-replication --with-extraident=1.el7 Fedora --with-ldap=/usr --with-perl=/usr/bin/perl --without-snmp --with-syslogfacility=LOCAL6

This results in:

$ cyr_buildinfo
{
  "component": {
    "event_notification": true,
    "gssapi": true,
    "autocreate": false,
    "idled": true,
    "httpd": false,
    "kerberos_v4": false,
    "murder": true,
    "nntpd": false,
    "replication": true,
    "sieve": true,
    "calalarmd": false,
    "objectstore": false,
    "backup": true
  },
  "dependency": {
    "ldap": true,
    "openssl": true,
    "pcre": true,
    "clamav": true
  },
  "database": {
    "mysql": false,
    "pgsql": false,
    "sqlite": true,
    "lmdb": false
  },
  "search": {
    "squat": true,
    "sphinx": false,
    "xapian": true,
    "xapian_flavor": "vanilla"
  },
  "hardware": {
    "sse42": true
  }
}
@hagedose
Copy link
Author

Specifically, it would be great if the tests wouldn't require Mail/JMAPTalk.pm for systems that don't use JMAP. All the tests seem to depend on it:

BEGIN failed--compilation aborted at ./Cassandane/Cyrus/SearchFuzzy.pm line 48.
Can't locate Mail/JMAPTalk.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at Cassandane/Cyrus/TestCase.pm line 44.
BEGIN failed--compilation aborted at Cassandane/Cyrus/TestCase.pm line 44.
Compilation failed in require at (eval 28) line 2.
	...propagated at /usr/share/perl5/base.pm line 84.

@elliefm elliefm self-assigned this May 30, 2018
@elliefm
Copy link
Contributor

elliefm commented May 30, 2018

Thanks for this, I'll review your configuration and try to accommodate it as part of PR #57. :)

elliefm added a commit that referenced this issue Jun 1, 2018
Not 100% about this -- holler if it causes problems, or just revert!

This is mainly for issue #60
@elliefm
Copy link
Contributor

elliefm commented Jun 1, 2018

Ok, #57 has been merged and I've also updated Cassandane master further to disable the CalDAV, CardDAV, and NNTP tests if those features aren't enabled.

I've tested it based on the following configure call, which is based on yours but with tweaks for my build environment:

CFLAGS="-g -O0 -Wall -Wextra -Werror -Wl,--as-needed $CFLAGS" CXXFLAGS="-g -O0 -Wall -Wextra -Werror $CXXFLAGS" XAPIAN_CONFIG="/usr/local/xapian/bin/xapian-config-1.5" ./configure --enable-xapian --enable-backup --enable-idled --enable-murder --enable-replication --with-extraident="1.el7 Fedora" --with-ldap --without-snmp --prefix="$CYRUSDEFAULT_PREFIX" --enable-unit-tests --enable-silent-rules

I'd be interested to hear how it goes!

@hagedose
Copy link
Author

hagedose commented Jun 5, 2018

I just updated my copy of Cassandane, but the problem remains:

cassandane]$ make
make[1]: Entering directory `/root/cassandane/utils'
gcc -g -O0 -Wall -Wextra   -c -o lemming.o lemming.c
gcc -g -O0 -Wall -Wextra    -o lemming lemming.o
gcc -g -O0 -Wall -Wextra   -c -o gdbtramp.o gdbtramp.c
gcc -g -O0 -Wall -Wextra    -o gdbtramp gdbtramp.o
gcc -g -O0 -Wall -Wextra   -c -o crash.o crash.c
gcc -g -O0 -Wall -Wextra    -o crash crash.o
make[1]: Leaving directory `/root/cassandane/utils'
./utils/annotator.pl syntax check SKIPPED
./genmail3.pl syntax OK
./imap-append.pl syntax OK
./jenkins-xml-summary.pl syntax OK
./listmail.pl syntax OK
./pop3showafter.pl syntax OK
./split-by-thread.pl syntax OK
./sprinkle.pl syntax OK
./start-instance.pl syntax OK
./testrunner.pl syntax OK
./Cassandane/Address.pm syntax OK
./Cassandane/BuildInfo.pm syntax OK
./Cassandane/Cassini.pm syntax OK
./Cassandane/Config.pm syntax OK
Can't locate Mail/JMAPTalk.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at Cassandane/Cyrus/TestCase.pm line 512.
BEGIN failed--compilation aborted at Cassandane/Cyrus/TestCase.pm line 512.
Compilation failed in require at (eval 28) line 2.
	...propagated at /usr/share/perl5/base.pm line 84.

I think the use is evaluated at compile time, so placing it in a subroutine doesn't help. I believe you need to require the module instead.

@hagedose
Copy link
Author

hagedose commented Jun 5, 2018

This seems to work:

--- Cassandane/Cyrus/TestCase.pm.orig	2018-06-05 12:26:34.091107705 +0200
+++ Cassandane/Cyrus/TestCase.pm	2018-06-05 12:35:57.058408871 +0200
@@ -509,9 +509,9 @@
 {
     my ($self) = @_;

-    use Mail::JMAPTalk;
-    use Net::CalDAVTalk 0.09;
-    use Net::CardDAVTalk 0.03;
+    require Mail::JMAPTalk;
+    require Net::CalDAVTalk;
+    require Net::CardDAVTalk;

     my $service = $self->{instance}->get_service("http");
     $ENV{DEBUGJMAP} = 1;

@hagedose
Copy link
Author

hagedose commented Jun 5, 2018

FWIW, I still had to move these modules aside, because they would cause compilation errors that kept testrunner from working at all:

CaldavAlarm.pm
Caldav.pm
Carddav.pm
JMAPCalendars.pm
JMAPContacts.pm
JMAPCore.pm
JMAPMail.pm
Nntp.pm
TesterCalDAV.pm
TesterCardDAV.pm
TesterJMAP.pm

@hagedose
Copy link
Author

hagedose commented Jun 5, 2018

Now testrunner runs, but it just fails without creating reports. I tried to set up cassandane.ini properly, but maybe I overlooked something?

./testrunner.pl --verbose
=====> Cassini[65] Reading /root/cassandane/cassandane.ini
Cyrus::ACL.delete                                                       [ERROR ]
Cyrus::ACL.many_users                                                   [ERROR ]
Cyrus::ACL.move                                                         [ERROR ]
Cyrus::ACL.reconstruct                                                  [ERROR ]
Cyrus::ACL.setacl_addacl                                                [ERROR ]
Cyrus::ACL.setacl_addacl_exists                                         [ERROR ]
Cyrus::ACL.setacl_badacl                                                [ERROR ]
Cyrus::ACL.setacl_badrights                                             [ERROR ]
Cyrus::ACL.setacl_emptyid                                               [ERROR ]
Cyrus::ACL.setacl_rmacl                                                 [ERROR ]
Cyrus::ACL.setacl_rmacl_unexists                                        [ERROR ]
Cyrus::Admin.imap_admins                                                [ERROR ]
Cyrus::Annotator.add_annot_deliver                                      [ERROR ]
Cyrus::Annotator.add_annot_deliver_tomailbox                            [ERROR ]

@elliefm
Copy link
Contributor

elliefm commented Jun 6, 2018

Okay, a few notes:

  • The default output format (-f argument) of testrunner.pl is "prettier" which just produces the output you see (i.e. each test, and whether it was OK, FAILED or ERROR). To get reports of how/why the tests failed, use the "-f pretty" format instead (but it's noisy, which is why it's not default). I usually only use "-f pretty" for a single test at a time, otherwise it's a nuisance to read.

  • The verbose argument can be stacked for more vebosity. For non-JMAP tests, "-vvv" is the highest level verbosity and pretty much the only one I ever use anyway. I use this in conjunction with -fpretty, one test at a time, when actively debugging Cassandane.

  • With every test ERRORing like that, there's almost certainly something missing in your setup (have you mkdir'd your "rootdir" and made it owned by your cyrus user?) Running something like ./testrunner.pl -fpretty -vvv ACL.delete will probably point you in the right direction

Thanks for the tip/patch about use vs require. Can you dump your whole make output in here, including the suites you had to move aside? I can then work through those and see what other dependency-related improvements can be made.

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

Here's the output of make before I moved modules:

$ make
make[1]: Entering directory `/root/cassandane/utils'
make[1]: Für das Ziel »all« ist nichts zu tun.
make[1]: Leaving directory `/root/cassandane/utils'
./utils/annotator.pl syntax check SKIPPED
./genmail3.pl syntax OK
./imap-append.pl syntax OK
./jenkins-xml-summary.pl syntax OK
./listmail.pl syntax OK
./pop3showafter.pl syntax OK
./split-by-thread.pl syntax OK
./sprinkle.pl syntax OK
./start-instance.pl syntax OK
./testrunner.pl syntax OK
./Cassandane/Address.pm syntax OK
./Cassandane/BuildInfo.pm syntax OK
./Cassandane/Cassini.pm syntax OK
./Cassandane/Config.pm syntax OK
./Cassandane/Cyrus/ACL.pm syntax OK
./Cassandane/Cyrus/Admin.pm syntax OK
./Cassandane/Cyrus/Annotator.pm syntax OK
./Cassandane/Cyrus/Archive.pm syntax OK
./Cassandane/Cyrus/Autocreate.pm syntax OK
./Cassandane/Cyrus/Backups.pm syntax OK
./Cassandane/Cyrus/Bug3072.pm syntax OK
./Cassandane/Cyrus/Bug3463.pm syntax OK
./Cassandane/Cyrus/Bug3470.pm syntax OK
./Cassandane/Cyrus/Bug3649.pm syntax OK
./Cassandane/Cyrus/Bug3903.pm syntax OK
Can't locate DateTime/Format/ISO8601.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/CaldavAlarm.pm line 44.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/CaldavAlarm.pm line 44.
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/Caldav.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/Caldav.pm line 45.
Can't locate Net/DAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/Carddav.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/Carddav.pm line 45.
./Cassandane/Cyrus/ClamAV.pm syntax OK
./Cassandane/Cyrus/Conversations.pm syntax OK
./Cassandane/Cyrus/CyrusDB.pm syntax OK
./Cassandane/Cyrus/Delete.pm syntax OK
./Cassandane/Cyrus/Delivery.pm syntax OK
./Cassandane/Cyrus/Deny.pm syntax OK
./Cassandane/Cyrus/Expunge.pm syntax OK
./Cassandane/Cyrus/Fetch.pm syntax OK
./Cassandane/Cyrus/Flags.pm syntax OK
./Cassandane/Cyrus/Idle.pm syntax OK
./Cassandane/Cyrus/ID.pm syntax OK
./Cassandane/Cyrus/ImapTest.pm syntax OK
./Cassandane/Cyrus/Info.pm syntax OK
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/JMAPCalendars.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/JMAPCalendars.pm line 45.
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/JMAPContacts.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/JMAPContacts.pm line 45.
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/JMAPCore.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/JMAPCore.pm line 45.
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/JMAPMail.pm line 45.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/JMAPMail.pm line 45.
./Cassandane/Cyrus/List.pm syntax OK
./Cassandane/Cyrus/Lsub.pm syntax OK
./Cassandane/Cyrus/Master.pm syntax OK
./Cassandane/Cyrus/Metadata.pm syntax OK
./Cassandane/Cyrus/Move.pm syntax OK
./Cassandane/Cyrus/Murder.pm syntax OK
Can't locate News/NNTPClient.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ./Cassandane/Cyrus/Nntp.pm line 44.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/Nntp.pm line 44.
./Cassandane/Cyrus/Objectid.pm syntax OK
./Cassandane/Cyrus/Pop3.pm syntax OK
./Cassandane/Cyrus/Prometheus.pm syntax OK
./Cassandane/Cyrus/Quota.pm syntax OK
./Cassandane/Cyrus/Reconstruct.pm syntax OK
./Cassandane/Cyrus/Rename.pm syntax OK
./Cassandane/Cyrus/Replication.pm syntax OK
./Cassandane/Cyrus/SearchFuzzy.pm syntax OK
./Cassandane/Cyrus/Search.pm syntax OK
./Cassandane/Cyrus/Sieve.pm syntax OK
./Cassandane/Cyrus/Simple.pm syntax OK
./Cassandane/Cyrus/Specialuse.pm syntax OK
./Cassandane/Cyrus/T116.pm syntax OK
./Cassandane/Cyrus/TestCase.pm syntax OK
Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5) at ./Cassandane/Cyrus/TesterCalDAV.pm line 52.
BEGIN failed--compilation aborted at ./Cassandane/Cyrus/TesterCalDAV.pm line 52.
./Cassandane/Cyrus/TesterCardDAV.pm syntax OK
./Cassandane/Cyrus/TesterJMAP.pm syntax OK
./Cassandane/Cyrus/Thread.pm syntax OK
./Cassandane/Cyrus/Userid.pm syntax OK
./Cassandane/Daemon.pm syntax OK
./Cassandane/Generator.pm syntax OK
./Cassandane/IMAPMessageStore.pm syntax OK
./Cassandane/IMAPService.pm syntax OK
./Cassandane/Instance.pm syntax OK
./Cassandane/MaildirMessageStore.pm syntax OK
./Cassandane/MasterEntry.pm syntax OK
./Cassandane/MasterEvent.pm syntax OK
./Cassandane/MasterStart.pm syntax OK
./Cassandane/MboxMessageStore.pm syntax OK
./Cassandane/Mboxname.pm syntax OK
./Cassandane/Message.pm syntax OK
./Cassandane/MessageStoreFactory.pm syntax OK
./Cassandane/MessageStore.pm syntax OK
./Cassandane/Net/SMTPServer.pm syntax OK
./Cassandane/POP3MessageStore.pm syntax OK
./Cassandane/PortManager.pm syntax OK
./Cassandane/SequenceGenerator.pm syntax OK
./Cassandane/ServiceFactory.pm syntax OK
./Cassandane/Service.pm syntax OK
./Cassandane/Test/Address.pm syntax OK
./Cassandane/Test/Cassini.pm syntax OK
./Cassandane/Test/Clone.pm syntax OK
./Cassandane/Test/Config.pm syntax OK
./Cassandane/Test/Core.pm syntax OK
./Cassandane/Test/DateTime.pm syntax OK
./Cassandane/Test/Mboxname.pm syntax OK
./Cassandane/Test/Message.pm syntax OK
./Cassandane/Test/MessageStoreFactory.pm syntax OK
./Cassandane/Test/Metronome.pm syntax OK
./Cassandane/Test/Parameter.pm syntax OK
./Cassandane/Test/Sample.pm syntax OK
./Cassandane/Test/Skip.pm syntax OK
./Cassandane/ThreadedGenerator.pm syntax OK
./Cassandane/Unit/Runner.pm syntax OK
./Cassandane/Unit/RunnerPretty.pm syntax OK
./Cassandane/Unit/RunnerXML.pm syntax OK
./Cassandane/Unit/TestCase.pm syntax OK
./Cassandane/Unit/TestPlan.pm syntax OK
./Cassandane/Util/DateTime.pm syntax OK
./Cassandane/Util/Log.pm syntax OK
./Cassandane/Util/Metronome.pm syntax OK
./Cassandane/Util/NetString.pm syntax OK
./Cassandane/Util/Sample.pm syntax OK
./Cassandane/Util/Setup.pm syntax OK
./Cassandane/Util/SHA.pm syntax OK
./Cassandane/Util/Socket.pm syntax OK
./Cassandane/Util/Wait.pm syntax OK
./Cassandane/Util/Words.pm syntax OK
./Cyrus/CheckReplication.pm syntax OK
./Cyrus/DList.pm syntax OK
./Cyrus/IndexFile.pm syntax OK
./Net/XmtpServer.pm syntax OK
make: *** [all] Fehler 1

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

testrunner also failed to run before I moved the modules:

$ ./testrunner.pl
Perl exception: Can't locate Net/CalDAVTalk.pm in @INC (@INC contains: . /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5)
 at Cassandane/Cyrus/Caldav.pm line 45.
	Cassandane::Cyrus::Caldav::BEGIN() called at Cassandane/Cyrus/Caldav.pm line 45
	eval {...} called at Cassandane/Cyrus/Caldav.pm line 45
	require Cassandane/Cyrus/Caldav.pm called at (eval 127) line 2
	eval 'require Cassandane::Cyrus::Caldav
;' called at /usr/share/perl5/vendor_perl/Test/Unit/Loader.pm line 46
	Test::Unit::Loader::compile_class('Cassandane::Cyrus::Caldav') called at /usr/share/perl5/vendor_perl/Test/Unit/Loader.pm line 21
	Test::Unit::Loader::compile('Cassandane::Cyrus::Caldav') called at /usr/share/perl5/vendor_perl/Test/Unit/Loader.pm line 74
	Test::Unit::Loader::load_test('Cassandane::Cyrus::Caldav') called at /usr/share/perl5/vendor_perl/Test/Unit/Loader.pm line 63
	Test::Unit::Loader::load('Cassandane::Cyrus::Caldav') called at Cassandane/Unit/TestPlan.pm line 65
	Cassandane::Unit::TestPlanItem::_get_loaded_suite('Cassandane::Unit::TestPlanItem=HASH(0x2a2b538)') called at Cassandane/Unit/TestPlan.pm line 611
	Cassandane::Unit::TestPlan::_get_schedule('Cassandane::Unit::TestPlan=HASH(0x2a22bb8)') called at Cassandane/Unit/TestPlan.pm line 837
	Cassandane::Unit::TestPlan::run('Cassandane::Unit::TestPlan=HASH(0x2a22bb8)', 'Test::Unit::Result=HASH(0x2a2c3c0)', 'Cassandane::Unit::RunnerPretty=HASH(0x2a2c258)') called at /usr/share/perl5/vendor_perl/Test/Unit/TestRunner.pm line 54
	Test::Unit::TestRunner::do_run('Cassandane::Unit::RunnerPretty=HASH(0x2a2c258)', 'Cassandane::Unit::TestPlan=HASH(0x2a22bb8)', 0) called at ./testrunner.pl line 132
	main::__ANON__('Cassandane::Unit::TestPlan=HASH(0x2a22bb8)', 'GLOB(0x2a2c0f0)') called at ./testrunner.pl line 299
BEGIN failed--compilation aborted at Cassandane/Cyrus/Caldav.pm line 45.
Compilation failed in require at (eval 127) line 2.

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

Thanks, you were right! I didn't realize I had to set up the rootdir manually. Now I get different errors, but I'll try to figure things out on my own for now.

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

OK, there are multiple issues with the way Red Hat installs Cyrus and the way Cassandane expects them to be installed.

  • Red Hat installs the binaries under /usr/lib/cyrus-imapd. There is no way to specify that path as prefix in cassandane.ini that works, because Instance.pm looks for one of these subdirectories:

bin sbin libexec libexec/cyrus-imapd lib cyrus/bin

I added '.' to that list.

  • Red Hat renames master to cyrus-master. I tried this line in cassandane.ini, but it did not work:
    master = cyrus-master
    I had to add a symbolic link manually.

More later ...

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

Now the test is actually running, but it fails for reasons I don't understand ... the problem seems to be that the client tries to SELECT the already selected folder?!

$ ./testrunner.pl -fpretty -vvv ACL.delete
=====> Cassini[65] Reading /root/cassandane/cassandane.ini
Cyrus::ACL.delete                                                       [FAILED]
=====> Cyrus::TestCase[558] ---------- BEGIN test_delete ----------
=====> Instance[1053] start main instance for test test_delete: basedir /var/tmp/cass/10041101
=====> Instance[1036] started smtpd as 36536
2018/06/06-12:04:11 Cassandane::Net::SMTPServer (type Net::Server::PreForkSimple) starting! pid(36536)
Resolved [localhost]:9100 to [127.0.0.1]:9100, IPv4
Binding to TCP port 9100 on host 127.0.0.1 with IPv4
=====> Instance[474] Found binary ctl_cyrusdb in /usr/lib/cyrus-imapd/.
Group Not Defined.  Defaulting to EGID '12 0'
User Not Defined.  Defaulting to EUID '76'
=====> Instance[474] Found binary imapd in /usr/lib/cyrus-imapd/.
=====> Instance[924] started saslauthd for /var/tmp/cass/10041101 as 36539
=====> Instance[951] started notifyd for /var/tmp/cass/10041101 as 36541
=====> Instance[1836] opening socket /var/tmp/cass/10041101/run/mux
=====> Instance[867] _start_master: logging to /var/tmp/cass/10041101/conf/master.log
=====> Instance[474] Found binary cyrus-master in /usr/lib/cyrus-imapd/.
=====> Instance[1573] Running: "/usr/lib/cyrus-imapd/./cyrus-master" "-C" "/var/tmp/cass/10041101/conf/imapd.conf" "-l" "255" "-p" "/var/tmp/cass/10041101/run/master.pid" "-d" "-M" "/var/tmp/cass/10041101/conf/cyrus.conf" "-L" "/var/tmp/cass/10041101/conf/master.log"
=====> Instance[876] _start_master: waiting for PID file
=====> Instance[879] _start_master: PID file present and correct
=====> Instance[891] _start_master: PID waiting for services
=====> Daemon[356] is_listening: service imap is listening on 127.0.0.1:9101
=====> Util::Wait[75] Waited 0.018303 sec for 127.0.0.1:9101 to be in LISTEN state
=====> Instance[902] _start_master: all services listening
=====> Instance[978] create user cassandane
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36549-1528279451-1-16782311003282742344>
C: 3 create user.cassandane
S: 3 OK Completed
C: 4 setacl user.cassandane admin lrswipkxtecdan
S: 4 OK Completed
C: 5 setacl user.cassandane cassandane lrswipkxtecdn
S: 5 OK Completed
C: 6 setacl user.cassandane anyone p
S: 6 OK Completed
A: is_open test
A: is_open test received timeout, still open
C: 7 logout
S: * BYE LOGOUT received
S: 7 OK Completed
A: Release socket, fileno=7
=====> Instance[1088] started main instance for test test_delete: cyrus version 3.0.7-1.el7 Fedora
=====> Cyrus::TestCase[565] Calling test function
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36549-1528279451-2-13965511090526396048>
=====> Instance[978] create user archive
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36550-1528279451-1-5510357125212799471>
C: 3 create user.archive
S: 3 OK Completed
C: 4 setacl user.archive admin lrswipkxtecdan
S: 4 OK Completed
C: 5 setacl user.archive archive lrswipkxtecdn
S: 5 OK Completed
C: 6 setacl user.archive anyone p
S: 6 OK Completed
C: 7 create user.archive.cassandane
S: 7 OK Completed
C: 8 setacl user.archive.cassandane admin lrswipkxtecdan
S: 8 OK Completed
C: 9 setacl user.archive.cassandane archive lrswipkxtecdn
S: 9 OK Completed
C: 10 setacl user.archive.cassandane anyone p
S: 10 OK Completed
C: 11 create user.archive.cassandane.sent
S: 11 OK Completed
C: 12 setacl user.archive.cassandane.sent admin lrswipkxtecdan
S: 12 OK Completed
C: 13 setacl user.archive.cassandane.sent archive lrswipkxtecdn
S: 13 OK Completed
C: 14 setacl user.archive.cassandane.sent anyone p
S: 14 OK Completed
A: is_open test
A: is_open test received timeout, still open
C: 15 logout
S: * BYE LOGOUT received
S: 15 OK Completed
A: Release socket, fileno=8
C: 3 setacl user.archive.cassandane.sent cassandane lrswp
S: 3 OK Completed
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login cassandane "testpw"
=====> Instance[1851] authdaemon connection: cassandane testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36550-1528279451-2-7916712377052335844>
C: 4 select "user.archive.cassandane.sent"
S: * 0 EXISTS
S: * 0 RECENT
S: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
S: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Ok
S: * OK [UIDVALIDITY 1528279452] Ok
S: * OK [UIDNEXT 1] Ok
S: * OK [HIGHESTMODSEQ 2] Ok
S: * OK [URLMECH INTERNAL] Ok
S: * OK [ANNOTATIONS 65536] Ok
S: 4 OK [READ-WRITE] Completed
C: 5 append user.archive.cassandane.sent " 6-Jun-2018 12:04:11 +0200" {732}
S: + go ahead
C: Return-Path: <[email protected]>
Received: from gateway (gateway.vmtom.com [10.0.0.1])
	by ahost (ahost.vmtom.com[10.0.0.2]); Wed, 06 Jun 2018 12:04:11 +0200
Received: from mail.hotmail.com (mail.hotmail.com [192.168.0.1])
	by gateway.vmtom.com (gateway.vmtom.com [10.0.0.1]); Wed, 06 Jun 2018 12:04:11 +0200
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: Message A
From: Emily S. Taylor <[email protected]>
Message-ID: <[email protected]>
Date: Wed, 06 Jun 2018 12:04:11 +0200
To: Test User <[email protected]>
X-Cassandane-Unique: e45b3d89a09ec341475f9f4811d73d7f035832ba

This is a generated test email.  If received, please notify [email protected]
C:
S: * 1 EXISTS
S: * 1 RECENT
S: 5 OK [APPENDUID 1528279452 1] Completed
C: 3 select "user.archive.cassandane.sent"
S: 3 NO Mailbox does not exist
C: 4 store 1 +flags (\deleted)
S: 4 BAD Please select a mailbox first
=====> Cyrus::TestCase[672] Beginning tear_down
C: 5 logout
S: * BYE LOGOUT received
S: 5 OK Completed
A: Release socket, fileno=8
C: 6 logout
S: * BYE LOGOUT received
S: 6 OK Completed
A: Release socket, fileno=7
=====> Instance[1296] stop
=====> Instance[1258] _stop_pid: sending signal 15 to 36545
=====> Util::Wait[75] Waited 0.010086 sec for unknown condition
=====> Instance[1039] killing smtpd 36536
2018/06/06-12:04:12 Server closing!
=====> Instance[927] killing saslauthd 36539
=====> Instance[1039] killing smtpd 36536
=====> Instance[954] killing notifyd 36541
=====> Instance[1039] killing smtpd 36536
=====> Instance[927] killing saslauthd 36539
=====> Cyrus::TestCase[717] ---------- END test_delete ----------
=====> Daemon[385] checking for stray processes on ports: 9100 9101

Time:  1 wallclock secs ( 0.07 usr  0.02 sys +  0.04 cusr  0.04 csys =  0.17 CPU)

!!!FAILURES!!!
Test Results:
Run: 1, Failures: 1, Errors: 0

There was 1 failure:
1) test_delete(Cassandane::Cyrus::ACL)
 expected 'no', got 'bad' at Cassandane/Cyrus/ACL.pm line 98.
	Cassandane::Cyrus::ACL::test_delete('Cassandane::Cyrus::ACL=HASH(0x3d5c9d8)') called at /usr/share/perl5/vendor_perl/Test/Unit/TestCase.pm line 75
	[...framework calls elided...]

Annotations:
=====> Cyrus::TestCase[558] ---------- BEGIN test_delete ----------
=====> Instance[1053] start main instance for test test_delete: basedir /var/tmp/cass/10041101
=====> Instance[1036] started smtpd as 36536
2018/06/06-12:04:11 Cassandane::Net::SMTPServer (type Net::Server::PreForkSimple) starting! pid(36536)
Resolved [localhost]:9100 to [127.0.0.1]:9100, IPv4
Binding to TCP port 9100 on host 127.0.0.1 with IPv4
=====> Instance[474] Found binary ctl_cyrusdb in /usr/lib/cyrus-imapd/.
Group Not Defined.  Defaulting to EGID '12 0'
User Not Defined.  Defaulting to EUID '76'
=====> Instance[474] Found binary imapd in /usr/lib/cyrus-imapd/.
=====> Instance[924] started saslauthd for /var/tmp/cass/10041101 as 36539
=====> Instance[951] started notifyd for /var/tmp/cass/10041101 as 36541
=====> Instance[1836] opening socket /var/tmp/cass/10041101/run/mux
=====> Instance[867] _start_master: logging to /var/tmp/cass/10041101/conf/master.log
=====> Instance[474] Found binary cyrus-master in /usr/lib/cyrus-imapd/.
=====> Instance[1573] Running: "/usr/lib/cyrus-imapd/./cyrus-master" "-C" "/var/tmp/cass/10041101/conf/imapd.conf" "-l" "255" "-p" "/var/tmp/cass/10041101/run/master.pid" "-d" "-M" "/var/tmp/cass/10041101/conf/cyrus.conf" "-L" "/var/tmp/cass/10041101/conf/master.log"
=====> Instance[876] _start_master: waiting for PID file
=====> Instance[879] _start_master: PID file present and correct
=====> Instance[891] _start_master: PID waiting for services
=====> Daemon[356] is_listening: service imap is listening on 127.0.0.1:9101
=====> Util::Wait[75] Waited 0.018303 sec for 127.0.0.1:9101 to be in LISTEN state
=====> Instance[902] _start_master: all services listening
=====> Instance[978] create user cassandane
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36549-1528279451-1-16782311003282742344>
C: 3 create user.cassandane
S: 3 OK Completed
C: 4 setacl user.cassandane admin lrswipkxtecdan
S: 4 OK Completed
C: 5 setacl user.cassandane cassandane lrswipkxtecdn
S: 5 OK Completed
C: 6 setacl user.cassandane anyone p
S: 6 OK Completed
A: is_open test
A: is_open test received timeout, still open
C: 7 logout
S: * BYE LOGOUT received
S: 7 OK Completed
A: Release socket, fileno=7
=====> Instance[1088] started main instance for test test_delete: cyrus version 3.0.7-1.el7 Fedora
=====> Cyrus::TestCase[565] Calling test function
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36549-1528279451-2-13965511090526396048>
=====> Instance[978] create user archive
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login admin "testpw"
=====> Instance[1851] authdaemon connection: admin testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36550-1528279451-1-5510357125212799471>
C: 3 create user.archive
S: 3 OK Completed
C: 4 setacl user.archive admin lrswipkxtecdan
S: 4 OK Completed
C: 5 setacl user.archive archive lrswipkxtecdn
S: 5 OK Completed
C: 6 setacl user.archive anyone p
S: 6 OK Completed
C: 7 create user.archive.cassandane
S: 7 OK Completed
C: 8 setacl user.archive.cassandane admin lrswipkxtecdan
S: 8 OK Completed
C: 9 setacl user.archive.cassandane archive lrswipkxtecdn
S: 9 OK Completed
C: 10 setacl user.archive.cassandane anyone p
S: 10 OK Completed
C: 11 create user.archive.cassandane.sent
S: 11 OK Completed
C: 12 setacl user.archive.cassandane.sent admin lrswipkxtecdan
S: 12 OK Completed
C: 13 setacl user.archive.cassandane.sent archive lrswipkxtecdn
S: 13 OK Completed
C: 14 setacl user.archive.cassandane.sent anyone p
S: 14 OK Completed
A: is_open test
A: is_open test received timeout, still open
C: 15 logout
S: * BYE LOGOUT received
S: 15 OK Completed
A: Release socket, fileno=8
C: 3 setacl user.archive.cassandane.sent cassandane lrswp
S: 3 OK Completed
=====> Util::Socket[61] create_client_socket INET host=127.0.0.1 port=9101
C: 1 capability
S: * OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE AUTH=DIGEST-MD5 SASL-IR] cyrus3-staging.rrz.uni-koeln.de Cyrus IMAP 3.0.7-1.el7 Fedora server ready
S: * CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY AUTH=DIGEST-MD5 SASL-IR COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE
S: 1 OK Completed
C: 2 login cassandane "testpw"
=====> Instance[1851] authdaemon connection: cassandane testpw imap
S: 2 OK [CAPABILITY IMAP4rev1 LITERAL+ ID ENABLE ACL RIGHTS=kxten QUOTA MAILBOX-REFERRALS NAMESPACE UIDPLUS NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY CATENATE CONDSTORE ESEARCH SEARCH=FUZZY SORT SORT=MODSEQ SORT=DISPLAY SORT=UID THREAD=ORDEREDSUBJECT THREAD=REFERENCES THREAD=REFS ANNOTATEMORE ANNOTATE-EXPERIMENT-1 METADATA LIST-EXTENDED LIST-STATUS LIST-MYRIGHTS LIST-METADATA WITHIN QRESYNC SCAN XLIST XMOVE MOVE SPECIAL-USE CREATE-SPECIAL-USE DIGEST=SHA1 X-REPLICATION URLAUTH URLAUTH=BINARY LOGINDISABLED COMPRESS=DEFLATE X-QUOTA=STORAGE X-QUOTA=MESSAGE X-QUOTA=X-ANNOTATION-STORAGE X-QUOTA=X-NUM-FOLDERS IDLE] User logged in SESSIONID=<10041101-36550-1528279451-2-7916712377052335844>
C: 4 select "user.archive.cassandane.sent"
S: * 0 EXISTS
S: * 0 RECENT
S: * FLAGS (\Answered \Flagged \Draft \Deleted \Seen)
S: * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] Ok
S: * OK [UIDVALIDITY 1528279452] Ok
S: * OK [UIDNEXT 1] Ok
S: * OK [HIGHESTMODSEQ 2] Ok
S: * OK [URLMECH INTERNAL] Ok
S: * OK [ANNOTATIONS 65536] Ok
S: 4 OK [READ-WRITE] Completed
C: 5 append user.archive.cassandane.sent " 6-Jun-2018 12:04:11 +0200" {732}
S: + go ahead
C: Return-Path: <[email protected]>
Received: from gateway (gateway.vmtom.com [10.0.0.1])
	by ahost (ahost.vmtom.com[10.0.0.2]); Wed, 06 Jun 2018 12:04:11 +0200
Received: from mail.hotmail.com (mail.hotmail.com [192.168.0.1])
	by gateway.vmtom.com (gateway.vmtom.com [10.0.0.1]); Wed, 06 Jun 2018 12:04:11 +0200
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Subject: Message A
From: Emily S. Taylor <[email protected]>
Message-ID: <[email protected]>
Date: Wed, 06 Jun 2018 12:04:11 +0200
To: Test User <[email protected]>
X-Cassandane-Unique: e45b3d89a09ec341475f9f4811d73d7f035832ba

This is a generated test email.  If received, please notify [email protected]
C:
S: * 1 EXISTS
S: * 1 RECENT
S: 5 OK [APPENDUID 1528279452 1] Completed
C: 3 select "user.archive.cassandane.sent"
S: 3 NO Mailbox does not exist
C: 4 store 1 +flags (\deleted)
S: 4 BAD Please select a mailbox first
=====> Cyrus::TestCase[672] Beginning tear_down
C: 5 logout
S: * BYE LOGOUT received
S: 5 OK Completed
A: Release socket, fileno=8
C: 6 logout
S: * BYE LOGOUT received
S: 6 OK Completed
A: Release socket, fileno=7
=====> Instance[1296] stop
=====> Instance[1258] _stop_pid: sending signal 15 to 36545
=====> Util::Wait[75] Waited 0.010086 sec for unknown condition
=====> Instance[1039] killing smtpd 36536
2018/06/06-12:04:12 Server closing!
=====> Instance[927] killing saslauthd 36539
=====> Instance[1039] killing smtpd 36536
=====> Instance[954] killing notifyd 36541
=====> Instance[1039] killing smtpd 36536
=====> Instance[927] killing saslauthd 36539
=====> Cyrus::TestCase[717] ---------- END test_delete ----------
=====> Daemon[385] checking for stray processes on ports: 9100 9101

Test was not successful.

@hagedose
Copy link
Author

hagedose commented Jun 6, 2018

How do I tell Cassandane to enable xapian for the tests?

$ ./testrunner.pl -fpretty -vvv SearchFuzzy
=====> Cassini[65] Reading /root/cassandane/cassandane.ini
=====> Unit::TestCase[143] search.xapian not enabled, test_cjk_words will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_copy_messages will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_mix_fuzzy_and_nonfuzzy will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_noindex_multipartheaders will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_normalize_snippets will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_search_exactmatch will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_search_subjectsnippet will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_skipdiacrit will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_snippet_wildcard will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_snippets_escapehtml will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_snippets_termcover will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_stem_any will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_stem_verbs will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_stopwords will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_subject_isutf8 will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_weird_crasher will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_xapianv2 will be skipped
=====> Unit::TestCase[143] search.xapian not enabled, test_xattachmentname will be skipped

Time:  1 wallclock secs ( 0.04 usr +  0.01 sys =  0.05 CPU)

OK (0 tests)

@jasontibbitts
Copy link

I just wanted to add that Red Hat's cyrus-imapd is 2.4.17; when I brought Fedora up to 3.0 I relocated things out of /usr/lib/cyrus-imapd (to either /usr/bin or /usr/libexec/cyrus-imapd as appropriate) because the configure options which the old packages were using to specify the rather odd directory layout no longer exist. But this did involve renaming some commands (like quota) which is probably why the old packages didn't just put the human-executable commands in /usr/bin in the first place. One thing that isn't renamed, however, is master. I never understood why they renamed it in the first place. I'd considered putting in a symlink just in case, but decided it wasn't worth it. So that's why the Fedora packages don't run into this problem.

@elliefm
Copy link
Contributor

elliefm commented Jun 8, 2018

How do I tell Cassandane to enable xapian for the tests?

Cassandane thinks your Cyrus install was compiled without Xapian. It determines this by looking at the output from the cyr_buildinfo. If cyr_buildinfo has wound up installed to a weird place where Cassandane couldn't find it, that might also explain why it thinks you have no Xapian support.

Can you run cyr_buildinfo by hand and paste the output here?

I'm not sure what's going on with that ACL.delete test, but I would probably ignore the specific details of it until we know Cassandane itself is working correctly. If you do a full run of just ./testrunner.pl (without verbosity or reports), what sort of OK/FAILED/ERROR numbers do you see now?

@elliefm
Copy link
Contributor

elliefm commented Jun 8, 2018

Also, I have thought some more about the perl module dependencies and I think we probably need to leave them as they are. Our automated testing stuff relies on make failure to determine whether there's an infrastructure problem vs a bunch of legitimate test failures, and if we make the modules able to compile successfully when dependencies aren't present/current, it won't be able to detect these cases properly anymore.

All of the perl modules we depend on are in CPAN, and with the exception of the DAV and JMAP ones, I believe most are usually packaged by distro's too. So it might just be easiest to install the modules you don't have? There's a list of (debian) package names here: https://www.cyrusimap.org/dev/imap/developer/developer-testing.html

@elliefm
Copy link
Contributor

elliefm commented Jun 8, 2018

I just remembered your cyr_buildinfo output is in the first post, hah. Okay, I bet Cassandane can't find it for some reason, then (and therefore every value is logically "false"). But I thought it logged a warning when it couldn't find it...

@elliefm
Copy link
Contributor

elliefm commented Jun 8, 2018

Oh I see, it's now hardcoded to look in sbin for it (since I ripped it out of the Instance module, it can no longer just use _find_bin()).

I've just pushed a commit which will report when it can't find cyr_buildinfo, can you compare what it expects with where cyr_buildinfo actually lives please? Thanks

@hagedose
Copy link
Author

hagedose commented Jun 8, 2018

Thanks! With that commit testrunner complains as expected:

=====> BuildInfo[73] Cannot execute /usr/lib/cyrus-imapd/sbin/cyr_buildinfo: don't know what features Cyrus supports
I created a symlink to get around that. I will look into molding our RPM more into the way @jasontibbitts does it, so those path issues will probably be moot.

For my purposes I find it easier to move aside the tests that cause problems than to install the required Perl modules manually.

I'm running the full testrunner now and will report the results.

@hagedose
Copy link
Author

hagedose commented Jun 8, 2018

Here is the output:

$ ./testrunner.pl
Cyrus::ACL.delete                                                       [FAILED]
Cyrus::ACL.many_users                                                   [FAILED]
Cyrus::ACL.move                                                         [FAILED]
Cyrus::ACL.reconstruct                                                  [  OK  ]
Cyrus::ACL.setacl_addacl                                                [FAILED]
Cyrus::ACL.setacl_addacl_exists                                         [FAILED]
Cyrus::ACL.setacl_badacl                                                [FAILED]
Cyrus::ACL.setacl_badrights                                             [FAILED]
Cyrus::ACL.setacl_emptyid                                               [  OK  ]
Cyrus::ACL.setacl_rmacl                                                 [FAILED]
Cyrus::ACL.setacl_rmacl_unexists                                        [FAILED]
Cyrus::Admin.imap_admins                                                [FAILED]
Cyrus::Annotator.add_annot_deliver                                      [ERROR ]
Cyrus::Annotator.add_annot_deliver_tomailbox                            [ERROR ]
Cyrus::Annotator.fetch_after_annotate                                   [ERROR ]
Cyrus::Annotator.reconstruct_after_delivery                             [ERROR ]
Cyrus::Annotator.set_system_flag_deliver                                [ERROR ]
Cyrus::Annotator.set_user_flag_deliver                                  [ERROR ]
Cyrus::Archive.archive_messages                                         [  OK  ]
Cyrus::Archive.archivenow_messages                                      [  OK  ]
Cyrus::Backups.aaasetup                                                 [  OK  ]
Cyrus::Backups.basic                                                    [ERROR ]
Cyrus::Backups.messages                                                 [ERROR ]
Cyrus::Bug3072.copy_longset                                             [  OK  ]
Cyrus::Bug3463.thread_crash                                             [FAILED]
Cyrus::Bug3470.list_2011                                                [  OK  ]
Cyrus::Bug3470.list_percent                                             [  OK  ]
Cyrus::Bug3470.lsub                                                     [  OK  ]
Cyrus::Bug3649.delete_subuser                                           [  OK  ]
Cyrus::Bug3903.create_at_top_level                                      [FAILED]
Cyrus::Bug3903.create_under_shared                                      [FAILED]
Cyrus::Bug3903.create_under_user                                        [FAILED]
Cyrus::Bug3903.create_under_wrong_user                                  [FAILED]
Cyrus::ClamAV.aaasetup                                                  [  OK  ]
Cyrus::ClamAV.remove_infected                                           [ERROR ]
Cyrus::Conversations.append                                             [  OK  ]
Cyrus::Conversations.append_reply                                       [  OK  ]
Cyrus::Conversations.xconvfetch                                         [  OK  ]
Cyrus::CyrusDB.alternate_quotadb_path                                   [  OK  ]
Cyrus::Delete.admin_inbox_del                                           [FAILED]
Cyrus::Delete.admin_inbox_imm                                           [FAILED]
Cyrus::Delete.bz3781                                                    [FAILED]
Cyrus::Delete.cyr_expire_delete                                         [FAILED]
Cyrus::Delete.repeated_delete                                           [FAILED]
Cyrus::Delete.self_inbox_del                                            [FAILED]
Cyrus::Delete.self_inbox_imm                                            [FAILED]
Cyrus::Delivery.duplicate_suppression_off                               [ERROR ]
Cyrus::Delivery.duplicate_suppression_on                                [ERROR ]
Cyrus::Delivery.duplicate_suppression_on_badmbox                        [ERROR ]
Cyrus::Delivery.duplicate_suppression_on_delete                         [ERROR ]
Cyrus::Delivery.plus_address_bothupper                                  [ERROR ]
Cyrus::Delivery.plus_address_case                                       [ERROR ]
Cyrus::Delivery.plus_address_case_bogusdomain                           [ERROR ]
Cyrus::Delivery.plus_address_case_defdomain                             [ERROR ]
Cyrus::Delivery.plus_address_exact                                      [ERROR ]
Cyrus::Delivery.plus_address_partial                                    [ERROR ]
Cyrus::Delivery.plus_address_partial_bothupper                          [ERROR ]
Cyrus::Delivery.plus_address_partial_case                               [ERROR ]
Cyrus::Delivery.plus_address_partial_virtdom                            [ERROR ]
Cyrus::Delivery.plus_address_underscore                                 [ERROR ]
Cyrus::Deny.basic                                                       [  OK  ]
Cyrus::Deny.connected                                                   [  OK  ]
Cyrus::Expunge.status_after_expunge                                     [  OK  ]
Cyrus::Fetch.duplicate_headers                                          [  OK  ]
Cyrus::Fetch.fetch_flags_before_exists                                  [  OK  ]
Cyrus::Fetch.fetch_header                                               [  OK  ]
Cyrus::Fetch.fetch_section                                              [  OK  ]
Cyrus::Fetch.fetch_section_multipart                                    [  OK  ]
Cyrus::Fetch.fetch_section_nomultipart                                  [  OK  ]
Cyrus::Fetch.fetch_section_rfc822                                       [  OK  ]
Cyrus::Fetch.fetch_section_rfc822digest                                 [  OK  ]
Cyrus::Fetch.fetch_urlfetch                                             [  OK  ]
Cyrus::Fetch.tell_exists_count_earlier                                  [  OK  ]
Cyrus::Flags.deleted                                                    [  OK  ]
Cyrus::Flags.expunge_removeflag                                         [  OK  ]
Cyrus::Flags.flagged                                                    [  OK  ]
Cyrus::Flags.max_userflags                                              [  OK  ]
Cyrus::Flags.modseq                                                     [  OK  ]
Cyrus::Flags.multi_flags                                                [  OK  ]
Cyrus::Flags.search_allflags                                            [  OK  ]
Cyrus::Flags.seen                                                       [  OK  ]
Cyrus::Flags.seen_otheruser                                             [  OK  ]
Cyrus::Flags.setseen                                                    [  OK  ]
Cyrus::Flags.setseen_after_store                                        [  OK  ]
Cyrus::Flags.unchangedsince                                             [  OK  ]
Cyrus::Flags.unchangedsince_multi                                       [  OK  ]
Cyrus::Flags.userflag                                                   [  OK  ]
Cyrus::ID.cmd_id                                                        [  OK  ]
Cyrus::Idle.basic_abortedidled                                          [ERROR ]
Cyrus::Idle.basic_idled                                                 [ERROR ]
Cyrus::Idle.basic_noidled                                               [ERROR ]
Cyrus::Idle.delivery_abortedidled                                       [ERROR ]
Cyrus::Idle.delivery_idled                                              [ERROR ]
Cyrus::Idle.delivery_noidled                                            [ERROR ]
Cyrus::Idle.disabled                                                    [ERROR ]
Cyrus::Idle.idled_default_timeout                                       [ERROR ]
Cyrus::Idle.shutdownfile_abortedidled                                   [ERROR ]
Cyrus::Idle.shutdownfile_idled                                          [ERROR ]
Cyrus::Idle.shutdownfile_noidled                                        [ERROR ]
Cyrus::Idle.sigterm                                                     [ERROR ]
Cyrus::Idle.sigterm_many                                                [ERROR ]
Cyrus::ImapTest.warning_imaptest_is_not_installed                       [  OK  ]
Cyrus::Info.info_lint                                                   [  OK  ]
Cyrus::Info.info_lint_junk                                              [  OK  ]
Cyrus::List.crossdomains                                                [FAILED]
Cyrus::List.crossdomains_alt                                            [  OK  ]
Cyrus::List.delete_nounsubscribe                                        [  OK  ]
Cyrus::List.delete_unsubscribe                                          [  OK  ]
Cyrus::List.dotuser_gh1875_novirt                                       [  OK  ]
Cyrus::List.dotuser_gh1875_novirt_altns                                 [  OK  ]
Cyrus::List.dotuser_gh1875_virt                                         [  OK  ]
Cyrus::List.dotuser_gh1875_virt_altns                                   [  OK  ]
Cyrus::List.empty_mailbox                                               [  OK  ]
Cyrus::List.folder_at_novirtdomains                                     [  OK  ]
Cyrus::List.inbox_altnamespace                                          [  OK  ]
Cyrus::List.list_return_subscribed                                      [  OK  ]
Cyrus::List.list_special_use_return_subscribed                          [  OK  ]
Cyrus::List.list_subscribed_return_children                             [  OK  ]
Cyrus::List.list_subscribed_return_children_noaltns                     [  OK  ]
Cyrus::List.otherusers_pattern                                          [FAILED]
Cyrus::List.otherusers_pattern_unixhs                                   [FAILED]
Cyrus::List.outlook_compatible_xlist_empty_mailbox                      [  OK  ]
Cyrus::List.percent                                                     [FAILED]
Cyrus::List.percent_altns                                               [  OK  ]
Cyrus::List.recursivematch                                              [  OK  ]
Cyrus::List.recursivematch_percent                                      [  OK  ]
Cyrus::List.rfc5258_ex01_list_all                                       [  OK  ]
Cyrus::List.rfc5258_ex02_list_subscribed                                [  OK  ]
Cyrus::List.rfc5258_ex03_children                                       [  OK  ]
Cyrus::List.rfc5258_ex07_multiple_mailbox_patterns                      [  OK  ]
Cyrus::List.rfc5258_ex08_haschildren_childinfo                          [  OK  ]
Cyrus::List.rfc6154_ex02a_list_return_special_use                       [  OK  ]
Cyrus::List.rfc6154_ex02b_list_special_use                              [  OK  ]
Cyrus::List.virtdomains_return_subscribed_altns                         [  OK  ]
Cyrus::List.virtdomains_return_subscribed_noaltns                       [FAILED]
Cyrus::Lsub.lsub_delete                                                 [  OK  ]
Cyrus::Lsub.lsub_extrachild                                             [FAILED]
Cyrus::Lsub.lsub_toplevel                                               [FAILED]
Cyrus::Master.exit_after_connect                                        [  OK  ]
Cyrus::Master.maxforkrate                                               [  OK  ]
Cyrus::Master.multi_connections                                         [  OK  ]
Cyrus::Master.multi_prefork                                             [  OK  ]
Cyrus::Master.multi_services                                            [  OK  ]
Cyrus::Master.prefork                                                   [  OK  ]
Cyrus::Master.reap_rate                                                 [  OK  ]
Cyrus::Master.service                                                   [  OK  ]
Cyrus::Master.service_associate                                         [  OK  ]
Cyrus::Master.service_bad_name                                          [  OK  ]
Cyrus::Master.service_dup_port                                          [  OK  ]
Cyrus::Master.service_exit_during_start                                 [  OK  ]
Cyrus::Master.service_ipv6                                              [  OK  ]
Cyrus::Master.service_noexe                                             [  OK  ]
Cyrus::Master.service_nohost                                            [  OK  ]
Cyrus::Master.service_unix                                              [ERROR ]
Cyrus::Master.sighup_recycling                                          [  OK  ]
Cyrus::Master.sighup_reloading                                          [  OK  ]
Cyrus::Master.sighup_reloading_listen                                   [  OK  ]
Cyrus::Master.sighup_reloading_proto                                    [  OK  ]
Cyrus::Master.startup                                                   [  OK  ]
Cyrus::Master.startup_exits                                             [  OK  ]
Cyrus::Metadata.capabilities                                            [  OK  ]
Cyrus::Metadata.copy_messages                                           [  OK  ]
Cyrus::Metadata.createspecialuse                                        [ERROR ]
Cyrus::Metadata.cvt_cyrusdb                                             [  OK  ]
Cyrus::Metadata.embedded_nuls                                           [  OK  ]
Cyrus::Metadata.expunge_messages                                        [  OK  ]
Cyrus::Metadata.folder_delete_mboxa_dmdel                               [  OK  ]
Cyrus::Metadata.folder_delete_mboxa_dmimm                               [  OK  ]
Cyrus::Metadata.folder_delete_mboxm_dmdel                               [  OK  ]
Cyrus::Metadata.folder_delete_mboxm_dmimm                               [  OK  ]
Cyrus::Metadata.folder_delete_msg_dmdel                                 [  OK  ]
Cyrus::Metadata.folder_delete_msg_dmimm                                 [  OK  ]
Cyrus::Metadata.getmetadata_depth                                       [  OK  ]
Cyrus::Metadata.getmetadata_maxsize                                     [  OK  ]
Cyrus::Metadata.getmetadata_multiple_folders                            [  OK  ]
Cyrus::Metadata.mbox_replication_new_mas                                [ERROR ]
Cyrus::Metadata.modseq                                                  [  OK  ]
Cyrus::Metadata.motd                                                    [  OK  ]
Cyrus::Metadata.msg_replication_exp_bot                                 [ERROR ]
Cyrus::Metadata.msg_replication_exp_mas                                 [ERROR ]
Cyrus::Metadata.msg_replication_exp_rep                                 [ERROR ]
Cyrus::Metadata.msg_replication_mod_bot_msh                             [ERROR ]
Cyrus::Metadata.msg_replication_mod_bot_msl                             [ERROR ]
Cyrus::Metadata.msg_replication_mod_mas                                 [ERROR ]
Cyrus::Metadata.msg_replication_mod_rep                                 [ERROR ]
Cyrus::Metadata.msg_replication_new_bot_mse_guh                         [ERROR ]
Cyrus::Metadata.msg_replication_new_bot_mse_gul                         [ERROR ]
Cyrus::Metadata.msg_replication_new_mas                                 [ERROR ]
Cyrus::Metadata.msg_replication_new_mas_partial_wwd                     [ERROR ]
Cyrus::Metadata.msg_replication_new_mas_partial_wwsw                    [ERROR ]
Cyrus::Metadata.msg_replication_new_rep                                 [ERROR ]
Cyrus::Metadata.msg_sort_order                                          [  OK  ]
Cyrus::Metadata.msg_sort_search                                         [  OK  ]
Cyrus::Metadata.nonexistant_mailbox                                     [  OK  ]
Cyrus::Metadata.permessage_getset                                       [  OK  ]
Cyrus::Metadata.permessage_unknown                                      [  OK  ]
Cyrus::Metadata.permessage_unknown_allowed                              [  OK  ]
Cyrus::Metadata.private                                                 [  OK  ]
Cyrus::Metadata.set_specialuse_twice                                    [FAILED]
Cyrus::Metadata.shared                                                  [  OK  ]
Cyrus::Metadata.size                                                    [  OK  ]
Cyrus::Metadata.specialuse                                              [  OK  ]
Cyrus::Metadata.unchangedsince                                          [  OK  ]
Cyrus::Metadata.uniqueid                                                [  OK  ]
Cyrus::Move.move_new_user                                               [FAILED]
Cyrus::Murder.aaasetup                                                  [ERROR ]
Cyrus::Murder.frontend_commands                                         [ERROR ]
Cyrus::Murder.list_specialuse                                           [ERROR ]
Cyrus::Murder.move_to_backend_nonexistent                               [ERROR ]
Cyrus::Murder.move_to_nonexistent                                       [ERROR ]
Cyrus::Murder.rename_with_location                                      [ERROR ]
Cyrus::Murder.xlist                                                     [ERROR ]
Cyrus::Pop3.subfolder_login                                             [ERROR ]
Cyrus::Pop3.top_args                                                    [  OK  ]
Cyrus::Quota.bug3735                                                    [  OK  ]
Cyrus::Quota.bz3529                                                     [  OK  ]
Cyrus::Quota.exceeding_message                                          [  OK  ]
Cyrus::Quota.exceeding_storage                                          [  OK  ]
Cyrus::Quota.move_near_limit                                            [  OK  ]
Cyrus::Quota.num_folders_delete_delayed                                 [  OK  ]
Cyrus::Quota.num_folders_delete_immediate                               [  OK  ]
Cyrus::Quota.num_folders_rename                                         [  OK  ]
Cyrus::Quota.overquota                                                  [  OK  ]
Cyrus::Quota.quota_f                                                    [  OK  ]
Cyrus::Quota.quota_f_nested_qr                                          [FAILED]
Cyrus::Quota.quota_f_prefix                                             [  OK  ]
Cyrus::Quota.quota_f_unixhs                                             [  OK  ]
Cyrus::Quota.quota_f_vs_update                                          [ERROR ]
Cyrus::Quota.quotarename                                                [  OK  ]
Cyrus::Quota.reconstruct                                                [  OK  ]
Cyrus::Quota.reconstruct_orphans                                        [  OK  ]
Cyrus::Quota.rename_withannot                                           [  OK  ]
Cyrus::Quota.replication_annotstorage                                   [ERROR ]
Cyrus::Quota.replication_message                                        [ERROR ]
Cyrus::Quota.replication_storage                                        [ERROR ]
Cyrus::Quota.using_annotstorage_mbox                                    [ERROR ]
Cyrus::Quota.using_annotstorage_mbox_late                               [  OK  ]
Cyrus::Quota.using_annotstorage_msg                                     [  OK  ]
Cyrus::Quota.using_annotstorage_msg_copy_dedel                          [  OK  ]
Cyrus::Quota.using_annotstorage_msg_copy_deimm                          [  OK  ]
Cyrus::Quota.using_annotstorage_msg_copy_exdel                          [  OK  ]
Cyrus::Quota.using_annotstorage_msg_copy_eximm                          [  OK  ]
Cyrus::Quota.using_annotstorage_msg_late                                [  OK  ]
Cyrus::Quota.using_message                                              [  OK  ]
Cyrus::Quota.using_message_late                                         [  OK  ]
Cyrus::Quota.using_storage                                              [  OK  ]
Cyrus::Quota.using_storage_late                                         [  OK  ]
Cyrus::Reconstruct.reconstruct_removedfile                              [  OK  ]
Cyrus::Reconstruct.reconstruct_truncated                                [  OK  ]
Cyrus::Reconstruct.reconstruct_zerouid                                  [  OK  ]
Cyrus::Rename.rename_asuser                                             [  OK  ]
Cyrus::Rename.rename_bigconversation                                    [  OK  ]
Cyrus::Rename.rename_conversations                                      [  OK  ]
Cyrus::Rename.rename_deepuser                                           [  OK  ]
Cyrus::Rename.rename_inbox                                              [  OK  ]
Cyrus::Rename.rename_midsizeconversation                                [  OK  ]
Cyrus::Rename.rename_paths                                              [ERROR ]
Cyrus::Rename.rename_subfolder                                          [  OK  ]
Cyrus::Rename.rename_user                                               [  OK  ]
Cyrus::Rename.rename_user_bigconversation                               [  OK  ]
Cyrus::Rename.rename_user_midsizeconversation                           [FAILED]
Cyrus::Rename.rename_withsub                                            [  OK  ]
Cyrus::Rename.rename_withsub_dom                                        [  OK  ]
Cyrus::Replication.alternate_globalannots                               [ERROR ]
Cyrus::Replication.append                                               [ERROR ]
Cyrus::Replication.replication_mailbox_new_enough                       [ERROR ]
Cyrus::Replication.replication_mailbox_too_old                          [ERROR ]
Cyrus::Replication.replication_repair_zero_msgs                         [ERROR ]
Cyrus::Replication.replication_with_modified_seen_flag                  [ERROR ]
Cyrus::Replication.sieve_replication                                    [ERROR ]
Cyrus::Replication.sieve_replication_delete_unactivate                  [ERROR ]
Cyrus::Replication.sieve_replication_different                          [ERROR ]
Cyrus::Replication.sieve_replication_exists                             [ERROR ]
Cyrus::Replication.sieve_replication_stale                              [ERROR ]
Cyrus::Replication.splitbrain                                           [ERROR ]
Cyrus::Replication.splitbrain_bothexpunge                               [ERROR ]
Cyrus::Replication.splitbrain_masterexpunge                             [ERROR ]
Cyrus::Replication.splitbrain_replicaexpunge                            [ERROR ]
Cyrus::Search.from                                                      [  OK  ]
Cyrus::SearchFuzzy.cjk_words                                            [FAILED]
Cyrus::SearchFuzzy.copy_messages                                        [  OK  ]
Cyrus::SearchFuzzy.mix_fuzzy_and_nonfuzzy                               [  OK  ]
Cyrus::SearchFuzzy.noindex_multipartheaders                             [  OK  ]
Cyrus::SearchFuzzy.normalize_snippets                                   [FAILED]
Cyrus::SearchFuzzy.search_exactmatch                                    [  OK  ]
Cyrus::SearchFuzzy.search_subjectsnippet                                [FAILED]
Cyrus::SearchFuzzy.skipdiacrit                                          [  OK  ]
Cyrus::SearchFuzzy.snippet_wildcard                                     [FAILED]
Cyrus::SearchFuzzy.snippets_escapehtml                                  [FAILED]
Cyrus::SearchFuzzy.snippets_termcover                                   [FAILED]
Cyrus::SearchFuzzy.stem_any                                             [  OK  ]
Cyrus::SearchFuzzy.stem_verbs                                           [FAILED]
Cyrus::SearchFuzzy.stopwords                                            [  OK  ]
Cyrus::SearchFuzzy.subject_isutf8                                       [  OK  ]
Cyrus::SearchFuzzy.weird_crasher                                        [  OK  ]
Cyrus::SearchFuzzy.xapianv2                                             [  OK  ]
Cyrus::SearchFuzzy.xattachmentname                                      [  OK  ]
Cyrus::Sieve.badscript_sievec                                           [ERROR ]
Cyrus::Sieve.badscript_timsieved                                        [ERROR ]
Cyrus::Sieve.deliver                                                    [ERROR ]
Cyrus::Sieve.deliver_compile                                            [ERROR ]
Cyrus::Sieve.deliver_fileinto_dot                                       [ERROR ]
Cyrus::Sieve.deliver_specialuse                                         [ERROR ]
Cyrus::Sieve.dup_keep_fileinto                                          [ERROR ]
Cyrus::Sieve.dup_keep_keep                                              [ERROR ]
Cyrus::Sieve.nested_tests_and_discard                                   [ERROR ]
Cyrus::Sieve.rfc5490_create                                             [ERROR ]
Cyrus::Sieve.rfc5490_mailboxexists                                      [ERROR ]
Cyrus::Sieve.rfc5490_mailboxexists_variables                            [ERROR ]
Cyrus::Sieve.rfc5490_metadata                                           [ERROR ]
Cyrus::Sieve.rfc5490_metadata_matches                                   [ERROR ]
Cyrus::Sieve.rfc5490_metadataexists                                     [ERROR ]
Cyrus::Sieve.rfc5490_servermetadata                                     [ERROR ]
Cyrus::Sieve.rfc5490_servermetadataexists                               [ERROR ]
Cyrus::Sieve.sieve_setflag                                              [ERROR ]
Cyrus::Sieve.vacation_with_following_rules                              [ERROR ]
Cyrus::Sieve.variables_basic                                            [ERROR ]
Cyrus::Sieve.variables_regex                                            [ERROR ]
Cyrus::Simple.append                                                    [  OK  ]
Cyrus::Simple.select                                                    [  OK  ]
Cyrus::Specialuse.annot                                                 [  OK  ]
Cyrus::Specialuse.annot_dupe                                            [FAILED]
Cyrus::Specialuse.create_dupe                                           [FAILED]
Cyrus::Specialuse.create_multiple                                       [FAILED]
Cyrus::Specialuse.delete_delay                                          [FAILED]
Cyrus::Specialuse.delete_imm                                            [FAILED]
Cyrus::Specialuse.delete_removed_delay                                  [FAILED]
Cyrus::Specialuse.delete_removed_imm                                    [FAILED]
Cyrus::Specialuse.rename_toplevel                                       [FAILED]
Cyrus::Specialuse.rename_tosub                                          [FAILED]
Cyrus::T116.list_inbox                                                  [  OK  ]
Cyrus::Thread.references_chain                                          [  OK  ]
Cyrus::Thread.references_loop                                           [  OK  ]
Cyrus::Thread.references_missing_parent                                 [  OK  ]
Cyrus::Thread.references_star                                           [  OK  ]
Cyrus::Thread.subjects                                                  [  OK  ]
Cyrus::Thread.unrelated                                                 [  OK  ]
Cyrus::Userid.dots_unix                                                 [  OK  ]
Test::Address.default_ctor                                              [  OK  ]
Test::Address.full_ctor                                                 [  OK  ]
Test::Cassini.basic                                                     [  OK  ]
Test::Cassini.boolval                                                   [  OK  ]
Test::Cassini.override                                                  [  OK  ]
Test::Clone.array                                                       [  OK  ]
Test::Clone.complex                                                     [  OK  ]
Test::Clone.hash                                                        [  OK  ]
Test::Clone.string                                                      [  OK  ]
Test::Clone.undef                                                       [  OK  ]
Test::Config.clone                                                      [  OK  ]
Test::Config.default                                                    [  OK  ]
Test::Config.generate                                                   [  OK  ]
Test::Config.variables                                                  [  OK  ]
Test::Core.core_files_10MB                                              [  OK  ]
Test::Core.core_files_1KB                                               [  OK  ]
Test::Core.core_files_1MB                                               [  OK  ]
Test::Core.core_files_50MB                                              [  OK  ]
Test::Core.core_files_5MB                                               [  OK  ]
Test::DateTime.basic                                                    [  OK  ]
Test::Mboxname.broken_ctor                                              [  OK  ]
Test::Mboxname.default_ctor                                             [  OK  ]
Test::Mboxname.external_ctor                                            [  OK  ]
Test::Mboxname.from_external                                            [  OK  ]
Test::Mboxname.from_internal                                            [  OK  ]
Test::Mboxname.from_username                                            [  OK  ]
Test::Mboxname.internal_ctor                                            [  OK  ]
Test::Mboxname.make_child                                               [  OK  ]
Test::Mboxname.make_parent                                              [  OK  ]
Test::Mboxname.parts_ctor                                               [  OK  ]
Test::Mboxname.username_ctor                                            [  OK  ]
Test::Message.accessors                                                 [  OK  ]
Test::Message.add_body                                                  [  OK  ]
Test::Message.add_empty                                                 [  OK  ]
Test::Message.address_list_stringification                              [  OK  ]
Test::Message.address_stringification                                   [  OK  ]
Test::Message.annotations                                               [  OK  ]
Test::Message.annotations_from_fetch                                    [  OK  ]
Test::Message.attributes                                                [  OK  ]
Test::Message.attributes2                                               [  OK  ]
Test::Message.attributes_from_fetch                                     [  OK  ]
Test::Message.base_subject                                              [  OK  ]
Test::Message.clone                                                     [  OK  ]
Test::Message.deleting_headers                                          [  OK  ]
Test::Message.empty                                                     [  OK  ]
Test::Message.header_case                                               [  OK  ]
Test::Message.header_normalisation                                      [  OK  ]
Test::Message.multiple_headers                                          [  OK  ]
Test::Message.replacing_headers                                         [  OK  ]
Test::Message.setting_lines                                             [  OK  ]
Test::Message.setting_raw                                               [  OK  ]
Test::Message.strange_headers                                           [  OK  ]
Test::MessageStoreFactory.no_args                                       [  OK  ]
Test::MessageStoreFactory.path                                          [  OK  ]
Test::MessageStoreFactory.single_attr                                   [  OK  ]
Test::MessageStoreFactory.uri                                           [  OK  ]
Test::Metronome.basic                                                   [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Parameter.face                                                    [  OK  ]
Test::Sample.ramp                                                       [  OK  ]
Test::Sample.uniform                                                    [  OK  ]
Test::Skip.skip_old_version                                             [  OK  ]

Time: 5857 wallclock secs (34.87 usr 10.50 sys + 31.48 cusr 32.63 csys = 109.48 CPU)

!!!FAILURES!!!
Test Results:
Run: 404, Failures: 49, Errors: 102

Test was not successful.

@elliefm
Copy link
Contributor

elliefm commented Jun 12, 2018

That is a weird blend of successes and fails, very curious, and I'm not seeing any particularly obvious pattern to it either. :(

Could do another full run, this time with -fpretty and -vvv, and capture the whole output? Not sure if you'll be able to attach that much output here, but if not you can email it to me directly, and I'll have a skim through and see if anything becomes apparent

@elliefm
Copy link
Contributor

elliefm commented Jun 15, 2018

Thanks for sending that through.

I'm noticing a bunch of the tests are timing out waiting out for lmtpd to start. I also notice you seem to be running cassandane as root. I wonder if things are failing to start because they have too much privilege, and then the tests fall apart in various ways depending on what they needed?

testrunner.pl should be dropping privileges to run as the cyrus user (using become_cyrus() from Cassandane/Util/Setup.pm) but I don't see any log output from it doing so, so that's strange.

I run testrunner.pl just as user account, and my user account has the following entry in the sudoers file:

# give ellie access to sudo as cyrus
ellie	ALL=(cyrus) NOPASSWD: ALL

I also have the following my passwd and group file:

$grep cyrus /etc/passwd
cyrus:x:117:123::/home/cyrus:/bin/false

$grep cyrus /etc/group
mail:x:8:cyrus
cyrus:x:123:ellie

(ie, the cyrus user has no login shell and is a member of the cyrus and mail groups, and my own user is also a member of the cyrus group)

So, when testrunner runs here, it uses the sudo codepath in become_cyrus(). Maybe there's something wrong with other codepaths?

How's your perl? At this point I would be lacing the become_cyrus() function with debugging output to get visibility onto what it's doing. Happy to send you a patch if you need one, let me know. :)

@hagedose
Copy link
Author

I set up sudo the way you did and ran the script as myself, but that didn't change anything. Here's what's in my passwd and group files:

$ grep cyrus /etc/passwd
cyrus:x:76:12:Cyrus IMAP Server:/var/lib/imap:/sbin/nologin
$ grep cyrus /etc/group
saslauth:x:76:cyrus

Adding my account to the same group as cyrus didn't change anything.

I'll look into debugging output next week. At first glance it should already be there if get_verbose is true.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants