Still more work on tests.
Basically Cyrus is completely fine on 64-bit little-endian machines. "make check" fails on big-endian machines. The Cassandane tests fail on 32-bit machines. Some of the Cassandane tests are known to be due to bugs in the tests suite; Fedora's 32-bit Perl does not support 64-bit types ("Q" and "q") in pack and unpack. This is being fixed in rawhide on our side, but it won't be a complete solution because there are some failures elsewhere in the test suite. Fedora is the first to fully integrate Cassandane into the build process, and we appear to be the only ones to do testing on big-endian and 32-bit machines. So there's a bit of teething still to get through. I still do intend to try and push this to F26 as upstream has requested.
This commit is contained in:
parent
c43a3db86d
commit
1c7b0e8083
1
.gitignore
vendored
1
.gitignore
vendored
@ -7,3 +7,4 @@
|
||||
/cassandane-testdata-20170523.tar.gz
|
||||
/cassandane-b97ba9c.tar.gz
|
||||
/cassandane-0a6c13e.tar.gz
|
||||
/cassandane-2f8f3f4.tar.gz
|
||||
|
@ -1,7 +1,8 @@
|
||||
%define scmt(l:) %(c=%1; echo ${c:0:%{-l:%{-l*}}%{!-l:7}})
|
||||
|
||||
# Cassandane doesn't have releases often. This was fetched on 20170525.
|
||||
%global cmt1 0a6c13e83813d4bb1ed4ee36ec7298c56db1b99b
|
||||
# Cassandane doesn't have releases often, but it receives constant development.
|
||||
# This was fetched on 20170530.
|
||||
%global cmt1 2f8f3f4949e58bf20362c3cd8b1720f49002660d
|
||||
|
||||
# Cassandane run by default. '--without cassandane' disables.
|
||||
%bcond_without cassandane
|
||||
@ -26,6 +27,7 @@ URL: http://www.cyrusimap.org/
|
||||
Source0: http://www.cyrusimap.org/releases/%name-%version.tar.gz
|
||||
|
||||
Patch0: patch-cyrus-testsuite-endianness
|
||||
Patch1: patch-cyrus-testsuite-endianness2
|
||||
|
||||
Source10: cyrus-imapd.logrotate
|
||||
Source11: cyrus-imapd.pam-config
|
||||
@ -411,29 +413,58 @@ gcc -fPIC -shared -Wl,-soname,-libredirectsyslog.so.0 -ldl -o libredirectsyslog.
|
||||
export LD_LIBRARY_PATH=%buildroot/%_libdir
|
||||
export CYRUS_USER=$USER
|
||||
|
||||
# These are all the tests I have managed to make work at this time.
|
||||
# Most Cassandane tests pass, but using snapshots includes new tests which
|
||||
# aren't supposed to pass on released versions of cyrus. So we have a big
|
||||
# exclusion list.
|
||||
# Note that Cassandane::Test::Core must always be excluded; it can't possibly
|
||||
# work. The others are expected on 3.0.1 and should be removed and re-checked
|
||||
# at each release.
|
||||
#!JMAPCalendars.creationids \
|
||||
|
||||
# Add -vvv for too much output
|
||||
./testrunner.pl %{?_smp_mflags} -f pretty \
|
||||
!Cassandane::Test::Core \
|
||||
!Admin.imap_admins \
|
||||
!Fetch.fetch_flags_before_exists \
|
||||
\
|
||||
!JMAPCalendars.creationids \
|
||||
!JMAPCalendars.getcalendareventlist \
|
||||
!JMAPCalendars.getcalendareventlist_date \
|
||||
!JMAPCalendars.getcalendareventlist_datetime \
|
||||
!JMAPCalendars.getcalendareventlist_text \
|
||||
!JMAPCalendars.getcalendarevents_privacy \
|
||||
!JMAPCalendars.getcalendarevents_properties \
|
||||
!JMAPCalendars.getcalendarevents_relatedto \
|
||||
!JMAPCalendars.getcalendarevents_simple \
|
||||
!JMAPCalendars.getcalendareventupdates \
|
||||
\
|
||||
!JMAPCalendars.setcalendarevents_alerts \
|
||||
!JMAPCalendars.setcalendarevents_caldav \
|
||||
!JMAPCalendars.setcalendarevents_endtimezone \
|
||||
!JMAPCalendars.setcalendarevents_endtimezone_recurrence \
|
||||
!JMAPCalendars.setcalendarevents_isallday \
|
||||
!JMAPCalendars.setcalendarevents_links \
|
||||
!JMAPCalendars.setcalendarevents_localizations \
|
||||
!JMAPCalendars.setcalendarevents_locations \
|
||||
!JMAPCalendars.setcalendarevents_move \
|
||||
!JMAPCalendars.setcalendarevents_participantid \
|
||||
!JMAPCalendars.setcalendarevents_participants \
|
||||
!JMAPCalendars.setcalendarevents_prodid \
|
||||
!JMAPCalendars.setcalendarevents_recurrenceoverrides \
|
||||
!JMAPCalendars.setcalendarevents_relatedto \
|
||||
!JMAPCalendars.setcalendarevents_recurrence \
|
||||
!JMAPCalendars.setcalendarevents_schedule_cancel \
|
||||
!JMAPCalendars.setcalendarevents_schedule_reply \
|
||||
!JMAPCalendars.setcalendarevents_schedule_request \
|
||||
!JMAPCalendars.setcalendarevents_simple \
|
||||
\
|
||||
!JMAPMail.getmessagelist_attachments \
|
||||
!JMAPMail.getmessagelist_window \
|
||||
!JMAPMail.getmessages_body_nontext \
|
||||
!JMAPMail.getmessages_attachment_name \
|
||||
!JMAPMail.setmailboxes_destroy_empty \
|
||||
!JMAPMail.setmessages_attachments \
|
||||
\
|
||||
!Quota.num_folders_rename \
|
||||
!SearchFuzzy.cjk_words \
|
||||
!SearchFuzzy.xattachmentname \
|
||||
|
20
patch-cyrus-testsuite-endianness2
Normal file
20
patch-cyrus-testsuite-endianness2
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/imap/conversations.c b/imap/conversations.c
|
||||
index 504c5db..2b151dc 100644
|
||||
--- a/imap/conversations.c
|
||||
+++ b/imap/conversations.c
|
||||
@@ -560,11 +560,14 @@ EXPORTED int conversations_get_msgid(struct conversations_state *state,
|
||||
&data, &datalen,
|
||||
&state->txn);
|
||||
|
||||
+ if (r == CYRUSDB_NOTFOUND)
|
||||
+ return 0; /* not an error, but nothing more to do */
|
||||
+
|
||||
if (!r) r = _conversations_parse(data, datalen, cids, NULL);
|
||||
|
||||
if (r) arrayu64_truncate(cids, 0);
|
||||
|
||||
- return 0;
|
||||
+ return r;
|
||||
}
|
||||
|
||||
/*
|
2
sources
2
sources
@ -1,3 +1,3 @@
|
||||
SHA512 (cassandane-0a6c13e.tar.gz) = fa37cd3fd7f32bbfb4af8ec48da0a48b8bce7f4d0135cb5361559464285ea18ff815ec812ba3be037c054a80513c3150af6943d90b60e6aff2d75060ade4d321
|
||||
SHA512 (cassandane-testdata-20170523.tar.gz) = 705f5af6a31fe3b8d6e8027bbddbedb2f64d65997f8a06620ec07fcd30a95d98ac3f3fbef7af5080684ee21be1c5b8bcad2374b2749f0571099e780355a04420
|
||||
SHA512 (cyrus-imapd-3.0.1.tar.gz) = 0a2bf13b4793e642f3df53231fd66774e0c5ad753b436a7fb0645db6ee70121d0da245038527cc58cb078255fec3e7b32a6230c196cceea040f74813ef78e337
|
||||
SHA512 (cassandane-2f8f3f4.tar.gz) = b949155b85e30a9cabd5992806fafe78a462662297398e8a74856f345c063769e5e419d01777e08c1f326622244181667ead47a057e38b1974ec121e7913a955
|
||||
|
Loading…
Reference in New Issue
Block a user