Build failed in Jenkins: cyrus-imapd-master #711

Greg Banks gnb at fastmail.fm
Sun Jul 15 20:20:33 EDT 2012


G'day Dilyan,

On Sun, Jul 15, 2012, at 05:03 PM, Jenkins wrote:
> See <http://ci.cyrusimap.org/job/cyrus-imapd-master/711/changes>
>  [...]
> libtool: link: gcc -fPIC --coverage -fvisibility=hidden -g -O0 --coverage
> -o cunit/.libs/unit cunit/unit.o cunit/syslog.o cunit/timeout.o
> cunit/annotate.o cunit/backend.o cunit/binhex.o cunit/buf.o
> cunit/charset.o cunit/crc32.o cunit/db.o cunit/dlist.o cunit/duplicate.o
> cunit/getxstring.o cunit/glob.o cunit/guid.o cunit/hash.o cunit/imapurl.o
> cunit/mboxname.o cunit/md5.o cunit/message.o cunit/msgid.o
> cunit/parseaddr.o cunit/parse.o cunit/prot.o cunit/ptrarray.o
> cunit/quota.o cunit/sieve.o cunit/spool.o cunit/squat.o cunit/strarray.o
> cunit/strconcat.o cunit/times.o cunit/tok.o imap/mutex_fake.o
> imap/spool.o  sieve/.libs/libcyrus_sieve.so imap/.libs/libcyrus_imap.so
> -luuid
> <http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/imapd/lib/.libs/libcyrus_min.so>
> <http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/imapd/lib/.libs/libcyrus.so>
> -lsasl2 -lssl -lcrypto -lcunit -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err
> -lkrb5support /usr/lib64/libdb-4.3.so -lpthread -lz -Wl,-rpath
> -Wl,/usr/cyrus/lib -Wl,-rpath -Wl,/usr/lib64
> make[3]: Leaving directory
> `<http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/imapd'>
> make  check-local
> make[3]: Entering directory
> `<http://ci.cyrusimap.org/job/cyrus-imapd-master/ws/imapd'>
> Running unit tests
> ./cunit-to-junit.pl: ran 277 tests, 13 failed
> make[3]: *** [check-local] Error 1

Some of the tests in cunit/annotate.testc depend on catching the output
of syslog(), like this

1267 static void test_missing_definitions_file(void)
1268 {
1269     set_annotation_definitions(NULL);
1270     CU_SYSLOG_MATCH("annotations\\.def: could not open.*No such
file");
1271 
1272     annotate_init(NULL, NULL);
1273     /* if we got here, we didn't fatal() */
1274 
1275     /* but we did complain to syslog */
1276     CU_ASSERT_SYSLOG(/*all*/0, 1);
1277 }

The CU_SYSLOG_MATCH() macro tells the test framework to remember a
regexp to be matched against later messages passed to syslog() by the
Code Under Test.  The CU_ASSERT_SYSLOG() macro asserts that the count of
matches for (0 = all) previously registered regexps is equal to the 2nd
argument = 1.  That assert is failing because no emitted syslog messages
matched the regexp.  The most probable explanation is that your
visibility changes have prevented code in libcyrus_imap.so from linking
against the syslog() symbol defined in cunit/syslog.c and instead
they're getting the syslog in libc.

-- 
Greg.


More information about the Cyrus-devel mailing list