Source: notmuch Version: 0.35-1 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20220326 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > make[2]: Entering directory '/<<PKGBUILDDIR>>' > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/arg-test.c -o test/arg-test.o -MD -MP -MF > .deps/test/arg-test.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/hex-xcode.c -o test/hex-xcode.o -MD -MP -MF > .deps/test/hex-xcode.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/random-corpus.c -o test/random-corpus.o -MD -MP > -MF .deps/test/random-corpus.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/database-test.c -o test/database-test.o -MD -MP > -MF .deps/test/database-test.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/parse-time.c -o test/parse-time.o -MD -MP -MF > .deps/test/parse-time.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/smtp-dummy.c -o test/smtp-dummy.o -MD -MP -MF > .deps/test/smtp-dummy.d > c++ -c -Wall -Wextra -Wwrite-strings -I./util -I./compat -I./lib -fPIC > -fvisibility=hidden -I./parse-time-string -I. -fvisibility-inlines-hidden > -Wdate-time -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -pthread > -I/usr/include/gmime-3.0 -I/usr/include/libmount -I/usr/include/blkid > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -DHAVE_VALGRIND=0 -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 > -DWITH_EMACS=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 > -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 > -DSTD_ASCTIME=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS > -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -Wformat -Werror=format-security test/symbol-test.cc > -o test/symbol-test.o -MD -MP -MF .deps/test/symbol-test.d > c++ -c -Wall -Wextra -Wwrite-strings -I./util -I./compat -I./lib -fPIC > -fvisibility=hidden -I./parse-time-string -I. -fvisibility-inlines-hidden > -Wdate-time -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -pthread > -I/usr/include/gmime-3.0 -I/usr/include/libmount -I/usr/include/blkid > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -DHAVE_VALGRIND=0 -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 > -DWITH_EMACS=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 > -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 > -DSTD_ASCTIME=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS > -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -Wformat -Werror=format-security > test/make-db-version.cc -o test/make-db-version.o -MD -MP -MF > .deps/test/make-db-version.d > c++ -c -Wall -Wextra -Wwrite-strings -I./util -I./compat -I./lib -fPIC > -fvisibility=hidden -I./parse-time-string -I. -fvisibility-inlines-hidden > -Wdate-time -D_FORTIFY_SOURCE=2 -D_LARGEFILE64_SOURCE -pthread > -I/usr/include/gmime-3.0 -I/usr/include/libmount -I/usr/include/blkid > -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include > -DHAVE_VALGRIND=0 -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 > -DWITH_EMACS=1 -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 > -DHAVE_STRSEP=1 -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 > -DSTD_ASCTIME=1 -DSILENCE_XAPIAN_DEPRECATION_WARNINGS > -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. > -fstack-protector-strong -Wformat -Werror=format-security > test/ghost-report.cc -o test/ghost-report.o -MD -MP -MF > .deps/test/ghost-report.d > cc -c -DNOTMUCH_VERSION=0.35 -Wall -Wextra -Wwrite-strings > -Wmissing-declarations -I./util -I./compat -I./lib -fPIC -fvisibility=hidden > -I./parse-time-string -I. -Wdate-time -D_FORTIFY_SOURCE=2 > -D_LARGEFILE64_SOURCE -pthread -I/usr/include/gmime-3.0 > -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/glib-2.0 > -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -DHAVE_VALGRIND=0 > -DHAVE_SFSEXP=1 -I/usr/include/sfsexp -DHAVE_GETLINE=1 -DWITH_EMACS=1 > -DHAVE_CANONICALIZE_FILE_NAME=1 -DHAVE_STRCASESTR=1 -DHAVE_STRSEP=1 > -DHAVE_TIMEGM=1 -DHAVE_D_TYPE=1 -DSTD_GETPWUID=1 -DSTD_ASCTIME=1 > -DSILENCE_XAPIAN_DEPRECATION_WARNINGS -DHAVE_XAPIAN_DB_RETRY_LOCK=1 -g -O2 > -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat > -Werror=format-security test/message-id-parse.c -o test/message-id-parse.o > -MD -MP -MF .deps/test/message-id-parse.d > cc test/arg-test.o command-line-arguments.o util/libnotmuch_util.a -o > test/arg-test -Wl,-z,relro -Wl,-z,now > cc test/parse-time.o parse-time-string/parse-time-string.o -o test/parse-time > -Wl,-z,relro -Wl,-z,now > cc test/smtp-dummy.o -o test/smtp-dummy -Wl,-z,relro -Wl,-z,now > cc test/hex-xcode.o command-line-arguments.o util/libnotmuch_util.a -o > test/hex-xcode -Wl,-z,relro -Wl,-z,now -ltalloc > c++ test/random-corpus.o test/database-test.o notmuch-config.o status.o > command-line-arguments.o lib/libnotmuch.a util/libnotmuch_util.a > parse-time-string/libparse-time-string.a -o test/random-corpus -Wl,-z,relro > -Wl,-z,now -lgmime-3.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -ltalloc -lz > -L/usr/lib/x86_64-linux-gnu -lxapian -lsexp > cc test/message-id-parse.o lib/libnotmuch.a util/libnotmuch_util.a -o > test/message-id-parse -Wl,-z,relro -Wl,-z,now -ltalloc > c++ test/symbol-test.o lib/libnotmuch.so -o test/symbol-test -Wl,-z,relro > -Wl,-z,now -Llib -lnotmuch -L/usr/lib/x86_64-linux-gnu -lxapian > c++ test/make-db-version.o -o test/make-db-version -Wl,-z,relro -Wl,-z,now > -L/usr/lib/x86_64-linux-gnu -lxapian > c++ test/ghost-report.o -o test/ghost-report -Wl,-z,relro -Wl,-z,now > -L/usr/lib/x86_64-linux-gnu -lxapian > INFO: using 2m timeout for tests > > T000-basic: Testing the test framework itself. > PASS success is reported like this > PASS test runs if prerequisite is satisfied > PASS tests clean up after themselves > PASS tests clean up even after a failure > PASS failure to clean up causes the test to fail > PASS Ensure that test output is suppressed unless the test fails > PASS Ensure that -v does not suppress test output > PASS test that mail store was created > PASS mail store should be empty > PASS NOTMUCH_CONFIG is set and points to an existing file > PASS PATH is set to build directory > PASS notmuch is compiled with debugging symbols > > T010-help-test: Testing online help > PASS notmuch --help > PASS notmuch help > PASS notmuch --version > PASS notmuch --help tag > PASS notmuch help tag > > T020-compact: Testing "notmuch compact" > PASS Running compact > PASS Compact preserves database > PASS Restoring Backup > PASS Checking restored backup > > T030-config: Testing "notmuch config" > PASS Get string value > PASS Get list value > PASS Set string value > PASS Set string value again > PASS Set list value > PASS Set list value again > PASS Remove key > PASS Remove non-existent key > PASS List all items > BROKEN Round trip config item with leading spaces > --- T030-config.10.expected 2022-03-26 19:29:38.934739982 +0000 > +++ T030-config.10.output 2022-03-26 19:29:38.934739982 +0000 > @@ -1 +1 @@ > - thing > +thing > BROKEN Round trip config item with leading tab > --- T030-config.11.expected 2022-03-26 19:29:38.950739998 +0000 > +++ T030-config.11.output 2022-03-26 19:29:38.950739998 +0000 > @@ -1 +1 @@ > - thing > +thing > PASS Round trip config item with embedded tab > PASS Round trip config item with embedded backslash > PASS Round trip config item with embedded NL/CR > PASS Top level --config=FILE option > PASS Top level --config:FILE option > PASS Top level --config<space>FILE option > PASS Top level --config=FILE option changed the right file > PASS Read config file through a symlink > PASS Write config file through a symlink > PASS Writing config file through symlink follows symlink > PASS Round trip arbitrary key > PASS Clear arbitrary key > PASS Absolute database path returned > PASS Relative database path expanded > PASS Add config to database > PASS Roundtrip config to/from database > PASS set built_with.* yields error > PASS get built_with.{compact,field_processor} prints true > PASS get built_with.nonexistent prints false > > T035-read-config: Testing Various options for reading configuration > PASS count with saved query from config file > PASS count with saved query from config file (xdg) > PASS count with saved query from config file (xdg+profile) > PASS dump with saved query from config file > PASS dump with saved query from config file (xdg) > PASS dump with saved query from config file (xdg+profile) > PASS restore with xdg config > PASS restore with xdg+profile config > PASS Insert message with custom new.tags (xdg) > PASS Insert message with custom new.tags (xdg+profile) > PASS reindex with saved query from config file > PASS reindex with saved query from config file (xdg) > PASS reindex with saved query from config file (xdg+profile) > PASS reply with saved query from config file > PASS reply with saved query from config file (xdg) > PASS reply with saved query from config file (xdg+profile) > PASS search with alternate config > PASS search with saved query from config file > PASS search with saved query from config file (xdg) > PASS search with saved query from config file (xdg + profile) > PASS address: saved query from config file > PASS address: saved query from config file (xdg) > PASS address: saved query from config file (xdg+profile) > PASS show with alternate config > PASS show with alternate config (xdg) > PASS show with alternate config (xdg+profile) > PASS tag with saved query from config file > PASS tag with saved query from config file (xdg) > PASS tag with saved query from config file (xdg+profile) > PASS running compact (xdg) > PASS running compact (xdg + profile) > PASS run notmuch-new (xdg) > PASS run notmuch-new (xdg + profile) > > T040-setup: Testing "notmuch setup" > PASS Notmuch new without a config suggests notmuch setup > PASS Create a new config interactively > PASS setup consistent with config-set for single items > PASS notmuch with a config but without a database suggests notmuch new > > T050-new: Testing "notmuch new" in several variations > PASS No new messages > PASS Single new message > PASS Single message (full-scan) > PASS Multiple new messages > PASS Multiple new messages (full-scan) > PASS No new messages (non-empty DB) > PASS No new messages (full-scan) > PASS New directories > PASS Alternate inode order > PASS Message moved in > PASS Renamed message > PASS Deleted message > PASS Renamed directory > PASS Deleted directory > PASS New directory (at end of list) > PASS Deleted directory (end of list) > PASS New symlink to directory > PASS New symlink to a file > PASS Broken symlink aborts > PASS New two-level directory > PASS Deleted two-level directory > PASS One character directory at top level > PASS Support single-message mbox > PASS Skip and report non-mail files > PASS Ignore files and directories specified in new.ignore > PASS Ignore files and directories specified in new.ignore (full-scan) > PASS Ignore files and directories specified in new.ignore (multiple > occurrences) > PASS Don't stop for ignored broken symlinks > PASS Ignore files and directories specified in new.ignore (regexp) > PASS Quiet: No new mail. > PASS Quiet: new, removed and renamed messages. > PASS Empty tags in new.tags are ignored > PASS leading/trailing whitespace in new.tags is ignored > PASS Tags starting with '-' in new.tags are forbidden > PASS Invalid tags set exit code > PASS .notmuch only ignored at top level > BROKEN RFC822 group names are indexed > --- T050-new.37.expected 2022-03-26 19:29:41.638742656 +0000 > +++ T050-new.37.output 2022-03-26 19:29:41.638742656 +0000 > @@ -1 +1 @@ > -msg-030@notmuch-test-suite > + > BROKEN Long directory names don't cause rescan > --- T050-new.38.EXPECTED 2022-03-26 19:29:41.670742689 +0000 > +++ T050-new.38.OUTPUT 2022-03-26 19:29:41.670742689 +0000 > @@ -1,3 +1,4 @@ > -Added 1 new message to the database. > No new mail. > -No new mail. Removed 1 message. > +Processed 1 file in almost no time. > +No new mail. > +No new mail. > add_file: A Xapian exception occurred > A Xapian exception occurred finding/creating a directory: Term too long (> > 245): > XDDIRENTRY2:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz. > Note: A fatal error was encountered: A Xapian exception occurred > add_file: A Xapian exception occurred > A Xapian exception occurred finding/creating a directory: Term too long (> > 245): > XDDIRENTRY2:zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz. > Note: A fatal error was encountered: A Xapian exception occurred > PASS Xapian exception: read only files > PASS Handle files vanishing between scandir and add_file > PASS Relative database path expanded in new > PASS Relative mail root (in db) expanded in new > PASS reference loop does not crash > PASS reference loop ordered by date > > T051-new-renames: Testing "notmuch new" with directory renames > PASS Index the messages, round 1 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 2 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 3 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 4 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 5 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 6 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 7 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 8 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 9 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > PASS Index the messages, round 10 > PASS Rename folder > PASS Rename folder back > PASS Files remain the same > > T055-path-config: Testing Configuration of mail-root and database path > PASS count (traditional) > PASS count+tag (traditional) > PASS address (traditional) > PASS dump (traditional) > PASS dump + tag + restore (traditional) > PASS reindex (traditional) > PASS use existing database (traditional) > PASS create database (traditional) > PASS detect new files (traditional) > PASS Show a raw message (traditional) > PASS reply (traditional) > PASS insert+search (traditional) > PASS compact+search (traditional) > PASS upgrade backup (traditional) > PASS notmuch +config -database suggests notmuch new (traditional) > PASS Set config value (traditional) > PASS Set config value in database (traditional) > PASS Config list (traditional) > PASS .notmuch without xapian/ handled gracefully (traditional) > PASS count (split) > PASS count+tag (split) > PASS address (split) > PASS dump (split) > PASS dump + tag + restore (split) > PASS reindex (split) > PASS use existing database (split) > PASS create database (split) > PASS detect new files (split) > PASS Show a raw message (split) > PASS reply (split) > PASS insert+search (split) > PASS compact+search (split) > PASS upgrade backup (split) > PASS notmuch +config -database suggests notmuch new (split) > PASS Set config value (split) > PASS Set config value in database (split) > PASS Config list (split) > PASS 'to' header does not crash (python-cffi) (split) > PASS count (XDG) > PASS count+tag (XDG) > PASS address (XDG) > PASS dump (XDG) > PASS dump + tag + restore (XDG) > PASS reindex (XDG) > PASS use existing database (XDG) > PASS create database (XDG) > PASS detect new files (XDG) > PASS Show a raw message (XDG) > PASS reply (XDG) > PASS insert+search (XDG) > PASS compact+search (XDG) > PASS upgrade backup (XDG) > PASS notmuch +config -database suggests notmuch new (XDG) > PASS Set config value (XDG) > PASS Set config value in database (XDG) > PASS Config list (XDG) > PASS Set shadowed config value in database (XDG) > PASS 'to' header does not crash (python-cffi) (XDG) > PASS count (XDG+profile) > PASS count+tag (XDG+profile) > PASS address (XDG+profile) > PASS dump (XDG+profile) > PASS dump + tag + restore (XDG+profile) > PASS reindex (XDG+profile) > PASS use existing database (XDG+profile) > PASS create database (XDG+profile) > PASS detect new files (XDG+profile) > PASS Show a raw message (XDG+profile) > PASS reply (XDG+profile) > PASS insert+search (XDG+profile) > PASS compact+search (XDG+profile) > PASS upgrade backup (XDG+profile) > PASS notmuch +config -database suggests notmuch new (XDG+profile) > PASS Set config value (XDG+profile) > PASS Set config value in database (XDG+profile) > PASS Config list (XDG+profile) > PASS Set shadowed config value in database (XDG+profile) > PASS 'to' header does not crash (python-cffi) (XDG+profile) > PASS count (symlink) > PASS count+tag (symlink) > PASS address (symlink) > PASS dump (symlink) > PASS dump + tag + restore (symlink) > PASS reindex (symlink) > PASS use existing database (symlink) > PASS create database (symlink) > PASS detect new files (symlink) > PASS Show a raw message (symlink) > PASS reply (symlink) > PASS insert+search (symlink) > PASS compact+search (symlink) > PASS upgrade backup (symlink) > PASS notmuch +config -database suggests notmuch new (symlink) > PASS Set config value (symlink) > PASS Set config value in database (symlink) > PASS Config list (symlink) > PASS .notmuch without xapian/ handled gracefully (symlink) > PASS count (home_mail) > PASS count+tag (home_mail) > PASS address (home_mail) > PASS dump (home_mail) > PASS dump + tag + restore (home_mail) > PASS reindex (home_mail) > PASS use existing database (home_mail) > PASS create database (home_mail) > PASS detect new files (home_mail) > PASS Show a raw message (home_mail) > PASS reply (home_mail) > PASS insert+search (home_mail) > PASS compact+search (home_mail) > PASS upgrade backup (home_mail) > PASS notmuch +config -database suggests notmuch new (home_mail) > PASS Set config value (home_mail) > PASS Set config value in database (home_mail) > PASS Config list (home_mail) > PASS .notmuch without xapian/ handled gracefully (home_mail) > PASS count (maildir_env) > PASS count+tag (maildir_env) > PASS address (maildir_env) > PASS dump (maildir_env) > PASS dump + tag + restore (maildir_env) > PASS reindex (maildir_env) > PASS use existing database (maildir_env) > PASS create database (maildir_env) > PASS detect new files (maildir_env) > PASS Show a raw message (maildir_env) > PASS reply (maildir_env) > PASS insert+search (maildir_env) > PASS compact+search (maildir_env) > PASS upgrade backup (maildir_env) > PASS notmuch +config -database suggests notmuch new (maildir_env) > PASS Set config value (maildir_env) > PASS Set config value in database (maildir_env) > PASS Config list (maildir_env) > PASS .notmuch without xapian/ handled gracefully (maildir_env) > > T060-count: Testing "notmuch count" for messages and threads > PASS message count is the default for notmuch count > PASS message count with --output=messages > PASS thread count with --output=threads > PASS thread count is the default for notmuch search > PASS files count > PASS files count for a duplicate message-id > PASS count with no matching messages > PASS count with no matching threads > PASS message count is the default for batch count > PASS batch message count > PASS batch thread count > PASS batch message count with input file > PASS error message for database open > PASS error message from query_search_messages > PASS count library function is non-destructive > PASS and of exact terms (query=sexp) > PASS or of exact terms (query=sexp) > PASS starts-with, case-insensitive (query=sexp) > PASS query that matches no messages (query=sexp) > PASS Compound subquery (query=sexp) > > T070-insert: Testing "notmuch insert" > PASS Insert zero-length file > PASS Insert non-message > PASS Database empty so far > PASS Insert message > PASS Permissions on inserted message should be 0600 > PASS Insert message adds default tags > PASS Insert duplicate message > PASS Duplicate message does not change tags > PASS Insert message, add tag > PASS Insert tagged world-readable message > PASS Permissions on inserted world-readable message should be 0644 > PASS Insert tagged world-readable message with group-only umask > PASS Permissions on inserted world-readable message with funny umask > should be 0640 > PASS Insert message, add/remove tags > PASS Insert message with default tags stays in new/ > PASS Insert message with non-maildir synced tags stays in new/ > PASS Insert message with custom new.tags goes to cur/ > PASS Insert message with custom new.tags actually gets the tags > PASS Insert message with maildir synced tags goes to cur/ > PASS Insert message with maildir sync off goes to new/ > PASS Insert message into folder > PASS Insert message into top level folder > PASS Insert message into folder with trailing / > PASS Insert message into folder, add/remove tags > PASS Insert message into non-existent folder > PASS Insert message, create folder > PASS Insert message, create subfolder > PASS Created subfolder should have permissions 0700 > PASS Created subfolder new/ should also have permissions 0700 > PASS Insert message, create world-readable subfolder > PASS Created world-readable subfolder should have permissions 0755 > PASS Created world-readable subfolder new/ should also have permissions > 0755 > PASS Insert message, create existing subfolder > PASS Insert message, create invalid subfolder > PASS Empty tags in new.tags are ignored > PASS leading/trailing whitespace in new.tags is ignored > PASS Tags starting with '-' in new.tags are forbidden > PASS Invalid tags set exit code > PASS EXIT_FAILURE when index_file returns FILE_NOT_EMAIL > PASS success exit with --keep when index_file returns FILE_NOT_EMAIL > PASS EXIT_FAILURE when index_file returns READ_ONLY_DATABASE > PASS success exit with --keep when index_file returns READ_ONLY_DATABASE > PASS EXIT_FAILURE when index_file returns UPGRADE_REQUIRED > PASS success exit with --keep when index_file returns UPGRADE_REQUIRED > PASS EXIT_FAILURE when index_file returns PATH_ERROR > PASS success exit with --keep when index_file returns PATH_ERROR > PASS EX_TEMPFAIL when index_file returns OUT_OF_MEMORY > PASS success exit with --keep when index_file returns OUT_OF_MEMORY > PASS EX_TEMPFAIL when index_file returns XAPIAN_EXCEPTION > PASS success exit with --keep when index_file returns XAPIAN_EXCEPTION > > T080-search: Testing "notmuch search" in several variations > PASS Search body > PASS Search by from: > PASS Search by to: > PASS Search by subject: > PASS Search by subject (utf-8): > PASS Search by id: > PASS Search by mid: > PASS Search by tag: > PASS Search by thread: > PASS Search body (phrase) > PASS Search by from: (address) > PASS Search by from: (name) > PASS Search by from: (name and address) > PASS Search by from: without prefix (name and address) > PASS Search by to: (address) > PASS Search by to: (name) > PASS Search by to: (name and address) > PASS Search by to: without prefix (name and address) > PASS Search by subject: (phrase) > PASS Search for all messages ("*") > PASS Search body (utf-8): > PASS headers do not have adjacent term positions > PASS parts have non-overlapping term positions > PASS parts do not have adjacent term positions > > T081-sexpr-search: Testing "notmuch search" in several variations > PASS all messages: () > PASS all messages: (not) > PASS all messages: (and) > PASS all messages: (or ()) > PASS all messages: (or (not)) > PASS all messages: (or (and)) > PASS all messages: (or (and) (or) (not (and))) > PASS no messages: (or) > PASS no messages: (not ()) > PASS no messages: (not (not)) > PASS no messages: (not (and)) > PASS no messages: (not (or (and) (or) (not (and)))) > PASS and of exact terms > PASS or of exact terms > PASS single term in body > PASS single term in body (case insensitive) > PASS single term in body, stemmed version > PASS single term in body, unstemmed version > PASS Search by 'subject' > PASS Search by 'subject' (case insensitive) > PASS Search by 'subject' (utf-8): > PASS Search by 'subject' (utf-8, and): > PASS Search by 'subject' (utf-8, and outside): > PASS Search by 'subject' (utf-8, or): > PASS Search by 'subject' (utf-8, or outside): > PASS Search by 'attachment' > PASS Search by 'body' > PASS Search by 'body' (phrase) > PASS Search by 'body' (utf-8): > PASS search without body: prefix > PASS negated body: prefix > PASS search unprefixed for prefixed term > PASS search with body: prefix for term only in subject > PASS Search by 'from' > PASS Search by 'from' (address) > PASS Search by 'from' (name) > PASS Search by 'from' (name and address) > PASS Search by 'folder' (multiple) > PASS Search by 'folder': top level. > PASS Search by 'folder' with --output=files > PASS Search by 'folder' with --output=files (trailing /) > PASS Search by 'folder' (multiple) > PASS Search by 'folder' (multiple, trailing /) > PASS Search by 'path' with --output=files > PASS Search by 'path' with --output=files (trailing /) > PASS Search by 'path' specification (multiple) > PASS Search by 'path' specification (multiple, trailing /) > PASS Search by 'id' > PASS Search by 'id' (or) > PASS Search by 'is' (multiple) > PASS Search by 'mid' > PASS Search by 'mid' (or) > PASS Search by 'mimetype' > PASS ill-formed named query search > PASS ill-formed named query search 2 > PASS search named query > PASS Search by 'subject' (utf-8, phrase-token): > PASS search named query with other terms > PASS search nested named query > PASS Search by 'subject' (utf-8, quoted string): > PASS Search by 'subject' (combine phrase, term): > PASS Search by 'subject' (combine phrase, term 2): > PASS Search by 'subject' (combine phrase, term 3): > PASS Search by 'tag' > PASS Search by 'tag' (multiple) > PASS Search by 'tag' and 'subject' > PASS Search by 'thread' > PASS Search by 'to' > PASS Search by 'to' (address) > PASS Search by 'to' (name) > PASS Search by 'to' (name and address) > PASS starts-with, no prefix > PASS starts-with, case-insensitive > PASS starts-with, no prefix, all messages > PASS starts-with, attachment > PASS starts-with, folder > PASS starts-with, from > PASS starts-with, id > PASS starts-with, is > PASS starts-with, mid > PASS starts-with, mimetype > PASS starts-with, property > PASS starts-with, subject > PASS starts-with, tag > PASS negated starts-with, tag > PASS negated starts-with, tag 2 > PASS negated starts-with, tag 3 > PASS starts-with, thread > PASS starts-with, to > PASS wildcard search for 'is' > PASS negated wildcard search for 'is' > PASS wildcard search for 'property' > PASS wildcard search for 'tag' > PASS negated wildcard search for 'tag' > PASS search for 'tag' "*" > PASS search for missing / empty to > PASS Unbalanced parens > PASS Unbalanced parens, error message > PASS unknown prefix > PASS list as prefix > PASS illegal nesting > PASS starts-with, no argument > PASS starts-with, list argument > PASS starts-with, too many arguments > PASS starts-with, illegal field > PASS wildcard, illegal field > PASS Search, exclude "deleted" messages from search > PASS Search, exclude "deleted" messages from message search --exclude=false > PASS Search, exclude "deleted" messages from search, overridden > PASS Search, exclude "deleted" messages from threads > PASS Search, don't exclude "deleted" messages when --exclude=flag specified > PASS Search, don't exclude "deleted" messages from search if not configured > PASS regex at top level > PASS regex in illegal field > PASS regexp 'from' search > PASS regexp search for 'from' 2 > PASS regexp 'folder' search > PASS regexp 'id' search > PASS unanchored 'is' search > PASS anchored 'is' search > PASS combine regexp mid and subject > PASS regexp 'path' search > PASS regexp 'property' search > PASS anchored 'tag' search > PASS regexp 'thread' search > PASS Basic query that matches no messages > PASS Same query against threads > PASS Mix thread and non-threads query > PASS Compound subquery > PASS empty subquery > PASS illegal expansion > PASS (folder (of subquery)) > PASS infix query > PASS bad infix query 1 > PASS bad infix query 2 > PASS bad infix query 3: bad nesting > PASS infix query that matches no messages > PASS compound infix query > PASS compound infix query 2 > PASS date query, empty > PASS date query, one argument > PASS date query, two arguments > PASS date query, illegal nesting 1 > PASS date query, illegal nesting 2 > PASS date query, illegal nesting 3 > PASS date query, illegal nesting 4 > PASS date query, too many arguments > PASS date query, bad date > PASS lastmod query, empty > PASS lastmod query, one argument > PASS lastmod query, two arguments > PASS lastmod query, illegal nesting 1 > PASS lastmod query, bad from revision > PASS lastmod query, bad to revision > PASS lastmod query, illegal nesting 2 > PASS lastmod query, illegal nesting 3 > PASS lastmod query, illegal nesting 4 > PASS lastmod query, too many arguments > PASS user header (unknown header) > PASS adding user header > PASS reindexing > PASS wildcard search for user header > PASS wildcard search for user header 2 > PASS search for user header > PASS search for user header (list token) > PASS search for user header (quoted string) > PASS search for user header (atoms) > PASS check saved query name > PASS roundtrip saved query (database) > PASS roundtrip saved query > PASS unknown saved query > PASS syntax error in saved query > PASS Saved Search by 'tag' and 'subject' > PASS Saved Search: illegal nesting > PASS Saved Search: list as prefix > PASS Saved Search: bad parameter syntax > PASS Saved Search: bad parameter syntax 2 > PASS Saved Search: bad parameter syntax 3 > PASS Saved Search: bad parameter syntax 4 > PASS Saved Search: macro without body > PASS macro in query > PASS zero argument macro > PASS undefined argument > PASS Single argument macro > PASS Single argument macro, list argument > PASS two argument macro > PASS nested macros (shadowing) > PASS nested macros (no dynamic scope) > PASS combine macro and user defined header > PASS combine macro and user defined header > > T090-search-output: Testing various settings for "notmuch search --output=" > PASS --output=threads > PASS --output=threads --format=json > PASS --output=messages > PASS --output=messages --duplicate=1 > PASS --output=messages --duplicate=2 > PASS --output=messages --duplicate=3 > PASS --output=messages --format=json > PASS --output=messages --format=json --duplicate=1 > PASS --output=messages --format=json --duplicate=2 > PASS --output=messages --format=json --duplicate=3 > PASS --output=files > PASS --output=files --duplicate=1 > PASS --output=files --format=json > PASS --output=files --format=json --duplicate=2 > PASS --output=tags > PASS --output=tags --format=json > PASS sanitize output for quoted-printable line-breaks in author and subject > PASS search for non-existent message prints nothing > PASS search --format=json for non-existent message prints proper empty json > > T095-address: Testing "notmuch address" in several variants > PASS --output=sender > PASS without --output > PASS --output=sender --format=json > PASS --output=recipients > PASS --output=sender --output=recipients > PASS --output=sender --output=count > PASS --output=recipients --output=address > PASS --output=sender --output=address --output=count > PASS --output=count --format=json > PASS --deduplicate=no --sort=oldest-first --output=sender > PASS --deduplicate=no --sort=newest-first --output=sender > --output=recipients > PASS --deduplicate=address --output=sender --output=recipients > PASS --deduplicate=no --output=sender > PASS --deduplicate=mailbox --output=sender --output=count > PASS --deduplicate=address --output=sender --output=count > > T100-search-by-folder: Testing "notmuch search" by folder: and path: (with > variations) > PASS Single-world folder: specification (multiple results) > PASS search by path: specification (multiple) > PASS Top level folder > PASS Two-word path to narrow results to one > PASS Folder search with --output=files > PASS Folder search with --output=files (trailing /) > PASS After removing duplicate instance of matching path > PASS Folder search with --output=files part #2 > PASS After removing duplicate instance of matching path part #2 > PASS After rename, old path returns nothing > PASS After rename, new path returns result > PASS folder: search > PASS top level folder: search > PASS path: search > PASS path: search (trailing /) > PASS top level path: search > PASS recursive path: search > > T110-search-position-overlap-bug: Testing that notmuch does not overlap term > positions > PASS Search for a@b.c matches > PASS Search for x@y.z matches > PASS Search for a@y.c must not match > > T120-search-insufficient-from-quoting: Testing messages with unquoted . in > name > PASS Search by first name > PASS Search by last name: > PASS Search by address: > PASS Search for all messages: > > T130-search-limiting: Testing "notmuch search" --offset and --limit parameters > PASS messages: limit does the right thing > PASS messages: concatenation of limited searches > PASS messages: limit larger than result set > PASS messages: limit = 0 > PASS messages: offset does the right thing > PASS messages: offset = 0 > PASS messages: negative offset > PASS messages: negative offset > PASS messages: negative offset combined with limit > PASS messages: negative offset combined with equal limit > PASS messages: negative offset combined with large limit > PASS messages: negative offset larger then results > PASS threads: limit does the right thing > PASS threads: concatenation of limited searches > PASS threads: limit larger than result set > PASS threads: limit = 0 > PASS threads: offset does the right thing > PASS threads: offset = 0 > PASS threads: negative offset > PASS threads: negative offset > PASS threads: negative offset combined with limit > PASS threads: negative offset combined with equal limit > PASS threads: negative offset combined with large limit > PASS threads: negative offset larger then results > > T140-excludes: Testing "notmuch search, count and show" with excludes in > several variations > PASS Search, exclude "deleted" messages from search > PASS Search, exclude "deleted" messages; alternate config file > PASS Search, exclude "deleted" messages from message search > PASS Search, exclude "deleted" messages from message search --exclude=false > PASS Search, exclude "deleted" messages from message search (non-existent > exclude-tag) > PASS Search, exclude "deleted" messages from search, overridden > PASS Search, exclude "deleted" messages from threads > PASS Search, don't exclude "deleted" messages when --exclude=flag specified > PASS Search, don't exclude "deleted" messages from search if not configured > PASS Search, default exclusion (thread summary) > PASS Search, default exclusion (messages) > PASS Search, exclude=true (thread summary) > PASS Search, exclude=true (messages) > PASS Search, exclude=false (thread summary) > PASS Search, exclude=false (messages) > PASS Search, exclude=flag (thread summary) > PASS Search, exclude=flag (messages) > PASS Search, exclude=all (thread summary) > PASS Search, exclude=all (messages) > PASS Search, default exclusion: tag in query (thread summary) > PASS Search, default exclusion: tag in query (messages) > PASS Search, exclude=true: tag in query (thread summary) > PASS Search, exclude=true: tag in query (messages) > PASS Search, exclude=false: tag in query (thread summary) > PASS Search, exclude=false: tag in query (messages) > PASS Search, exclude=flag: tag in query (thread summary) > PASS Search, exclude=flag: tag in query (messages) > PASS Search, exclude=all: tag in query (thread summary) > PASS Search, exclude=all: tag in query (messages) > PASS Count, default exclusion (messages) > PASS Count, default exclusion (threads) > PASS Count, exclude=true (messages) > PASS Count, exclude=true (threads) > PASS Count, exclude=false (messages) > PASS Count, exclude=false (threads) > PASS Count, default exclusion: tag in query (messages) > PASS Count, default exclusion: tag in query (threads) > PASS Count, default exclusion, batch > PASS Count, exclude=true: tag in query (messages) > PASS Count, exclude=true: tag in query (threads) > PASS Count, exclude=false: tag in query (messages) > PASS Count, exclude=false: tag in query (threads) > PASS Show, default exclusion > PASS Show, default exclusion (entire-thread) > PASS Show, exclude=true > PASS Show, exclude=true (entire-thread) > PASS Show, exclude=false > PASS Show, exclude=false (entire-thread) > > T150-tagging: Testing "notmuch tag" > PASS Adding tags > PASS Removing tags > PASS No tag operations > PASS No query > PASS Redundant tagging > PASS Remove all > PASS Remove all with batch > PASS Remove all with a no-op > PASS Special characters in tags > PASS Tagging order > PASS --batch > PASS --input > PASS --batch --input > PASS --batch --input --remove-all > PASS --batch, dependence on previous line > PASS --batch, blank lines and comments > PASS --batch: checking error messages > PASS --batch: tags with quotes > PASS --batch: tags with punctuation and space > PASS --batch: unicode tags > PASS --batch: only space and % needs to be encoded. > PASS --batch: unicode message-ids > PASS Empty tag names > PASS Tag name beginning with - > PASS Xapian exception: read only files > PASS sexpr query: (and "wonderful" "wizard") > PASS sexpr query: (or "php" "wizard") > PASS sexpr query: wizard > PASS sexpr query: Wizard > PASS sexpr query: (attachment notmuch-help.patch) > PASS sexpr query: (mimetype text/html) > PASS --batch --query=sexp > > T160-json: Testing --format=json output > PASS Show message: json > PASS Show message: json --body=true > PASS Show message: json --body=false > PASS Search message: json > PASS Show message: json, utf-8 > PASS Show message: json, inline attachment filename > PASS Search message: json, utf-8 > PASS Search message: json, 64-bit timestamp > PASS Format version: too low > PASS Format version: too high > PASS Show message: multiple filenames > PASS Show message: multiple filenames, format version 2 > PASS show extra headers > > T170-sexp: Testing --format=sexp output > PASS Show message: sexp > PASS Show message: sexp --body=true > PASS Show message: sexp --body=false > PASS Search message: sexp > PASS Show message: sexp, utf-8 > PASS Search message: sexp, utf-8 > PASS Show message: sexp, inline attachment filename > PASS show extra headers > > T180-text: Testing --format=text output > PASS Show message: text > PASS Search message: text > PASS Show message: text, utf-8 > PASS Search message: text, utf-8 > PASS Search message tags: text0 > PASS Compare text vs. text0 for threads > PASS Compare text vs. text0 for messages > PASS Compare text vs. text0 for files > PASS Compare text vs. text0 for tags > > T190-multipart: Testing output of multipart message > PASS --format=text --part=0, full message > PASS --format=text --part=0 --body=false, message header > PASS --format=text --part=1, message body > PASS --format=text --part=2, multipart/mixed > PASS --format=text --part=3, rfc822 part > PASS --format=text --part=4, rfc822's multipart > PASS --format=text --part=5, rfc822's html part > PASS --format=text --include-html --part=5, rfc822's html part > PASS --format=text --part=6, rfc822's text part > PASS --format=text --part=7, inline attachment > PASS --format=text --part=8, plain text part > PASS --format=text --part=9, pgp signature (unverified) > PASS --format=text --part=8, no part, expect error > PASS --format=json --part=0, full message > PASS --format=json --part=1, message body > PASS --format=json --part=2, multipart/mixed > PASS --format=json --part=3, rfc822 part > PASS --format=json --part=4, rfc822's multipart/alternative > PASS --format=json --part=5, rfc822's html part > PASS --format=json --part=6, rfc822's text part > PASS --format=json --part=7, inline attachment > PASS --format=json --part=8, plain text part > PASS --format=json --part=9, pgp signature (unverified) > PASS --format=json --part=10, no part, expect error > PASS --format=raw > PASS --format=raw --part=0, full message > PASS --format=raw --part=1, message body > PASS --format=raw --part=2, multipart/mixed > PASS --format=raw --part=3, rfc822 part > PASS --format=raw --part=4, rfc822's multipart > PASS --format=raw --part=5, rfc822's html part > PASS --format=raw --part=6, rfc822's text part > PASS --format=raw --part=7, inline attachment > PASS --format=raw --part=8, plain text part > PASS --format=raw --part=9, pgp signature (unverified) > PASS --format=raw --part=10, no part, expect error > PASS --format=mbox > PASS --format=mbox --part=1, incompatible, expect error > PASS 'notmuch reply' to a multipart message > PASS 'notmuch reply' to a multipart message with json format > PASS 'notmuch show --part' does not corrupt a part with CRLF pair > PASS html parts excluded by default > PASS html parts included > PASS indexes mime-type #1 > PASS indexes mime-type #2 > PASS indexes mime-type #3 > PASS case of Content-Disposition doesn't matter for indexing > > T200-thread-naming: Testing naming of threads with changing subject > PASS Initial thread name (oldest-first search) > PASS Initial thread name (newest-first search) > PASS Changed thread name (oldest-first search) > PASS Changed thread name (newest-first search) > PASS Ignore added reply prefix (Re:) > PASS Ignore added reply prefix (Aw:) > PASS Ignore added reply prefix (Vs:) > PASS Ignore added reply prefix (Sv:) > PASS Use empty subjects if necessary. > PASS Avoid empty subjects if possible (newest-first). > PASS Avoid empty subjects if possible (oldest-first). > PASS Test order of messages in "notmuch show" > > T205-author-naming: Testing naming of authors with unusual addresses > PASS Add author with empty quoted real name > > T210-raw: Testing notmuch show --format=raw > PASS Attempt to show multiple raw messages > PASS Show a raw message > PASS Show another raw message > PASS content, message of size 0001024 > PASS return value, message of size 0001024 > PASS content, message of size 0002048 > PASS return value, message of size 0002048 > PASS content, message of size 0004096 > PASS return value, message of size 0004096 > PASS content, message of size 0008192 > PASS return value, message of size 0008192 > PASS content, message of size 0016384 > PASS return value, message of size 0016384 > PASS content, message of size 0032768 > PASS return value, message of size 0032768 > PASS content, message of size 0065536 > PASS return value, message of size 0065536 > PASS content, message of size 0131072 > PASS return value, message of size 0131072 > PASS content, message of size 0262144 > PASS return value, message of size 0262144 > PASS content, message of size 0524288 > PASS return value, message of size 0524288 > PASS content, message of size 1048576 > PASS return value, message of size 1048576 > > T220-reply: Testing "notmuch reply" in several variations > PASS Basic reply > PASS Basic reply (query=sexp) > PASS Multiple recipients > PASS Reply with CC > PASS Reply from alternate address > PASS Reply from address in named group list > PASS Support for Reply-To > PASS Un-munging Reply-To > PASS Un-munging Reply-To With Exact Match > PASS Un-munging Reply-To With Raw addr-spec > PASS Message with header of exactly 200 bytes > PASS From guessing: Envelope-To > PASS From guessing: X-Original-To > PASS From guessing: Delivered-To > PASS From guessing: multiple Delivered-To > PASS Reply with RFC 2047-encoded headers > PASS Reply with RFC 2047-encoded headers (JSON) > PASS Reply to a message with multiple Cc headers > > T230-reply-to-sender: Testing "notmuch reply --reply-to=sender" in several > variations > PASS Basic reply-to-sender > PASS From Us, Basic reply to message > PASS Multiple recipients > PASS From Us, Multiple TO recipients > PASS Reply with CC > PASS From Us, Reply with CC > PASS From Us, Reply no TO but with CC > PASS Reply from alternate address > PASS Support for Reply-To > PASS Support for Reply-To with multiple recipients > PASS Un-munging Reply-To > PASS Message with header of exactly 200 bytes > > T240-dump-restore: Testing "notmuch dump" and "notmuch restore" > PASS dump header > PASS Dumping all tags > PASS Dumping all tags II > PASS Clearing all tags > PASS Clearing all tags > PASS Restoring original tags > PASS Restore with nothing to do > PASS Accumulate with existing tags > PASS Accumulate with no tags > PASS Accumulate with new tags > PASS Invalid restore invocation > PASS dump --output=outfile > PASS dump --output=outfile -- > PASS dump --gzip > PASS dump --gzip --output=outfile > PASS restoring gzipped stdin > PASS restoring gzipped file > PASS dump -- from:cworth > PASS dump --query=sexp -- '(from cworth)' > PASS dump --query=sexp --output=outfile '(from cworth)' > PASS dump --output=outfile from:cworth > PASS dump --output=outfile -- from:cworth > PASS Check for a safe set of message-ids > PASS format=batch-tag, dump sanity check. > PASS format=batch-tag, missing newline > PASS format=batch-tag, # round-trip > PASS format=batch-tag, # blank lines and comments > PASS format=batch-tag, # reverse-round-trip empty tag > PASS restoring empty file is not an error > PASS file of comments and blank lines is not an error > PASS detect format=batch-tag with leading comments and blanks > PASS detect format=sup with leading comments and blanks > PASS format=batch-tag, round trip with strange tags > PASS format=batch-tag, checking encoded output > PASS restoring sane tags > PASS format=batch-tag, restore=auto > PASS format=sup, restore=auto > PASS format=batch-tag, restore=default > PASS format=sup, restore=default > PASS restore: checking error messages > PASS roundtripping random message-ids and tags > > T250-uuencode: Testing handling of uuencoded data > PASS Ensure content before uu data is indexed > PASS Ensure uu data is not indexed > PASS Ensure content after uu data is indexed > > T260-thread-order: Testing threading when messages received out of order > PASS Messages with one parent get linked in all delivery orders > PASS Messages with all parents get linked in all delivery orders > > T270-author-order: Testing author reordering; > PASS Adding parent message > PASS Adding initial child message > PASS Adding second child message > PASS Searching when all three messages match > PASS Searching when two messages match > PASS Searching when only one message matches > PASS Searching when only first message matches > PASS Adding duplicate author > PASS Searching when all four messages match > PASS Adding non-monotonic child message > PASS Searching non-monotonic messages (oldest-first) > PASS Searching non-monotonic messages (newest-first) > > T280-from-guessing: Testing From line heuristics (with multiple configured > addresses) > PASS Magic from guessing (nothing to go on) > PASS Magic from guessing (Envelope-to:) > PASS Magic from guessing (X-Original-To:) > PASS Magic from guessing (Received: .. for ..) > PASS Magic from guessing (Received: domain) > PASS Magic from guessing (multiple Received: headers) > PASS Testing From line heuristics (with single configured address) > PASS Magic from guessing (nothing to go on) > PASS Magic from guessing (Envelope-to:) > PASS Magic from guessing (X-Original-To:) > PASS Magic from guessing (Received: .. for ..) > PASS Magic from guessing (Received: domain) > > T290-long-id: Testing messages with ridiculously-long message IDs > PASS Referencing long ID before adding > PASS Adding message with long ID > PASS Referencing long ID after adding > PASS Ensure all messages were threaded together > > T300-encoding: Testing encoding issues > PASS Message with text of unknown charset > PASS Search for ISO-8859-2 encoded message > PASS RFC 2047 encoded word with spaces > PASS RFC 2047 encoded words back to back > PASS RFC 2047 encoded words without space before or after > PASS Mislabeled Windows-1252 encoding > > T310-emacs: Testing emacs interface > PASS Syntax of emacs test library > PASS Basic notmuch-hello view in emacs > PASS Saved search with 0 results > PASS No saved searches displayed (all with 0 results) > PASS Basic notmuch-search view in emacs > PASS Functions in search-result-format > PASS Incremental parsing of search results > PASS Navigation of notmuch-hello to search results > PASS Basic notmuch-show view in emacs > PASS Basic notmuch-show view in emacs default indentation > PASS Basic notmuch-show view in emacs without indentation > PASS Basic notmuch-show view in emacs with fourfold indentation > PASS notmuch-show for message with invalid From > PASS Navigation of notmuch-search to thread view > PASS Add tag from search view > PASS Remove tag from search view > PASS Add tag (large query) > PASS notmuch-show: add single tag to single message > PASS notmuch-show: remove single tag from single message > PASS notmuch-show: add multiple tags to single message > PASS notmuch-show: remove multiple tags from single message > PASS notmuch-show: before-tag-hook is run, variables are defined > PASS notmuch-show: after-tag-hook is run, variables are defined > PASS Message with .. in Message-Id: > PASS Message with quote in Message-Id: > PASS Sending a message via (fake) SMTP > PASS Folding a long header when sending via (fake) SMTP > PASS Verify that sent messages are saved/searchable (via FCC) > PASS notmuch-fcc-dirs set to nil > PASS notmuch-fcc-dirs set to a string > PASS notmuch-fcc-dirs set to a list (with match) > PASS notmuch-fcc-dirs set to a list (catch-all) > PASS notmuch-fcc-dirs set to a list (no match) > PASS Reply within emacs > PASS Reply within emacs to a message with TAB in subject > PASS Reply from alternate address within emacs > PASS Reply with show.extra_headers set > PASS Reply from address in named group list within emacs > PASS Reply within emacs to a multipart/mixed message > PASS Reply within emacs to a multipart/alternative message > PASS Reply within emacs to an html-only message > PASS Reply within emacs to message from self > PASS Quote MML tags in reply > PASS Save attachment from within emacs using notmuch-show-save-attachments > PASS Save attachment from within emacs using notmuch-show-save-part > PASS Save 8bit attachment from within emacs using > notmuch-show-save-attachments > PASS View raw message within emacs > PASS Hiding/showing signature in notmuch-show view > PASS Detection and hiding of top-post quoting of message > PASS Hiding message in notmuch-show view > PASS Hiding message with visible citation in notmuch-show view > PASS notmuch-show: show message headers > PASS notmuch-show: hide message headers > PASS notmuch-show: hide message headers (w/ > notmuch-show-toggle-visibility-headers) > PASS notmuch-show: collapse all messages in thread > PASS notmuch-show: uncollapse all messages in thread > PASS Stashing in notmuch-show > PASS Stashing in notmuch-search > PASS notmuch-show-advance-and-archive with invisible signature > PASS Refresh show buffer > PASS Refresh modified show buffer > PASS Do not call notmuch for non-inlinable application/mpeg parts > PASS Do not call notmuch for non-inlinable audio/mpeg parts > PASS notmuch-hello-mode hook is called > PASS notmuch-hello-mode hook is not called on updates > PASS notmuch-hello-refresh hook is called > PASS notmuch-hello-refresh hook is called on updates > PASS Rendering HTML mail with images > PASS Search handles subprocess error exit codes > PASS Search handles subprocess warnings > PASS Search thread tag operations are race-free > PASS Search global tag operations are race-free > PASS Term escaping > PASS Sending a message calls the send message hooks > PASS notmuch-search with nonexistent CWD > > T320-emacs-large-search-buffer: Testing Emacs with large search results buffer > PASS Ensure that emacs doesn't drop results > > T330-emacs-subject-to-filename: Testing emacs: mail subject to filename > PASS no patch sequence number > PASS patch sequence number #1 > PASS patch sequence number #2 > PASS patch sequence number #3 > PASS patch sequence number #4 > PASS patch sequence number #5 > PASS patch sequence number #6 > PASS patch sequence number #7 > PASS filename #1 > PASS filename #2 > PASS filename #3 > PASS filename #4 > PASS filename #5 > PASS filename #6 > PASS filename #7 > PASS filename #8 > PASS filename #9 > PASS patch filename #1 > PASS patch filename #2 > PASS patch filename #3 > PASS patch filename #4 > > T340-maildir-sync: Testing maildir synchronization > PASS Adding 'S' flag to existing filename removes 'unread' tag > PASS Adding message with 'S' flag prevents 'unread' tag > PASS Adding message with 'S' w/o 'unread' in new.tags prevents 'unread' tag > PASS Adding 'replied' tag adds 'R' flag to filename > PASS notmuch show works with renamed file (without notmuch new) > PASS notmuch reply works with renamed file (without notmuch new) > PASS notmuch new detects no file rename after tag->flag synchronization > PASS When read, message moved from new to cur > PASS No rename should be detected by notmuch new > PASS Adding non-maildir tags does not move message from new to cur > PASS Message in cur lacking maildir info gets one on any tag change > PASS Message in new with maildir info is moved to cur on any tag change > PASS Removing 'S' flag from existing filename adds 'unread' tag > PASS Removing info from filename leaves tags unchanged > PASS Can remove unread tag from message in non-maildir directory > PASS Message in non-maildir directory does not get renamed > PASS notmuch dump/restore re-synchronizes maildir tags with flags > PASS Adding flags to duplicate message tags the mail > PASS Adding duplicate message without flags does not remove tags > PASS Tag changes modify flags of multiple files > PASS Synchronizing tag changes preserves unsupported maildir flags > PASS A file with non-compliant maildir info will not be renamed > PASS Files in new/ get default synchronized tags > PASS draft is valid in new.tags > PASS flagged is valid in new.tags > PASS passed is valid in new.tags > PASS replied is valid in new.tags > > T350-crypto: Testing PGP/MIME signature verification and decryption > PASS emacs delivery of signed message via fcc > PASS emacs delivery of signed message via fcc and smtp > PASS signed part content-type indexing > PASS signature verification > PASS detection of modified signed contents > PASS corrupted pgp/mime signature > PASS signature verification without full user ID validity > PASS signature verification with signer key unavailable > PASS emacs delivery of encrypted message with attachment > PASS encrypted part content-type indexing > PASS decryption, --format=text > PASS decryption, --format=json > PASS decryption, --format=json, --part=4 > PASS decrypt attachment (--part=5 --format=raw) > PASS decryption failure with missing key > PASS emacs delivery of encrypted + signed message > PASS decryption + signature verification > PASS reply to encrypted message > PASS Reply within emacs to an encrypted message > PASS signature verification with revoked key > > T351-pgpmime-mangling: Testing PGP/MIME message mangling > PASS show 'Mixed-Up' mangled PGP/MIME message correctly > PASS reply to 'Mixed-Up' mangled PGP/MIME message correctly > PASS repaired 'Mixed-up' messages can be found with index.repaired=mixedup > PASS index cleartext of 'Mixed-Up' mangled PGP/MIME message > PASS search cleartext of 'Mixed-Up' mangled PGP/MIME message > > T355-smime: Testing S/MIME signature verification and decryption > PASS emacs delivery of S/MIME signed message > PASS emacs delivery of S/MIME encrypted + signed message > PASS Signature verification (openssl) > FAIL signature verification (notmuch CLI) > --- T355-smime.4.expected 2022-03-26 19:30:20.394780996 +0000 > +++ T355-smime.4.output 2022-03-26 19:30:20.394780996 +0000 > @@ -24,7 +24,7 @@ > "sigstatus": [ > { > "created": 946728000, > - "email": > "<test_su...@notmuchmail.org>", > + "email": "test_su...@notmuchmail.org", > "expires": 424242424, > "fingerprint": > "616F46CD73834C63847756AF0DFB64A6E0972A47", > "status": "good", > @@ -38,7 +38,7 @@ > "status": [ > { > "created": 946728000, > - "email": > "<test_su...@notmuchmail.org>", > + "email": "test_su...@notmuchmail.org", > "expires": 424242424, > "fingerprint": > "616F46CD73834C63847756AF0DFB64A6E0972A47", > "status": "good", > PASS Decryption and signature verification (openssl) > PASS Decryption (notmuch CLI) > PASS Cryptographic message status (encrypted+signed) > PASS encrypted+signed message is known to be encrypted, but signature is > unknown > PASS Encrypted body is not indexed > PASS Reindex cleartext > PASS signature is now known > PASS Encrypted body is indexed > PASS index PKCS#7 SignedData message > PASS do not index embedded certificates from PKCS#7 SignedData > PASS know the MIME type of the embedded part in PKCS#7 SignedData > PASS PKCS#7 SignedData message is tagged 'signed' > PASS show contents of PKCS#7 SignedData message > PASS reply to PKCS#7 SignedData message with proper quoting and attribution > PASS show PKCS#7 SignedData outputs valid JSON > PASS Verify signature on PKCS#7 SignedData message > PASS Verify signature on PKCS#7 SignedData message signer User ID > > T356-protected-headers: Testing Message decryption with protected headers > PASS verify protected header is not visible without decryption > PASS verify protected header is visible with decryption > PASS when no external header is present, show masked subject as null > PASS misplaced protected headers should not be made visible during > decryption > PASS verify double-wrapped phony protected header is not visible when > inner decryption fails > PASS cleartext phony protected headers should not be made visible when > decryption fails > PASS wrapped protected headers should not be made visible during decryption > PASS internal headers without protected-header attribute should be skipped > PASS verify nested message/rfc822 protected header is visible > PASS show cryptographic envelope on signed mail > PASS verify signed protected header > PASS protected subject does not leak by default in replies > PASS protected subject is not indexed by default > PASS reindex message with protected header > PASS protected subject is indexed when cleartext is indexed > PASS indexed protected subject is visible in search > PASS indexed protected subject is not visible in reply header > PASS verify correct protected header when submessage exists > PASS verify protected header is both signed and encrypted > PASS verify protected header is signed even when not masked > PASS reindex everything, ensure headers are as expected > PASS when rendering protected headers, avoid rendering legacy-display part > PASS when replying, avoid rendering legacy-display part > PASS do not treat legacy-display part as body when indexing > PASS identify message that had a legacy display part skipped during > indexing > PASS verify signed PKCS#7 subject (multipart-signed) > PASS verify signed PKCS#7 subject (multipart-signed) signer User ID > PASS verify signed PKCS#7 subject (onepart-signed) > PASS verify signed PKCS#7 subject (onepart-signed) signer User ID > PASS confirm signed and encrypted PKCS#7 subject (sign+enc) > PASS confirm signed and encrypted PKCS#7 subject (sign+enc) signer User ID > PASS confirm signed and encrypted PKCS#7 subject (sign+enc+legacy-disp) > PASS confirm signed and encrypted PKCS#7 subject (sign+enc+legacy-disp) > signer User ID > PASS confirm encryption-protected PKCS#7 subject (enc+legacy-disp) > > T357-index-decryption: Testing indexing decrypted mail > PASS emacs delivery of encrypted message > PASS search for unindexed cleartext > PASS emacs delivery of encrypted message > PASS emacs delivery of encrypted message, indexed cleartext > PASS emacs search by property for one message > PASS show the message body of the encrypted message > PASS message should go away after deletion > PASS message cleartext not present after insert > PASS stash decryption during show > PASS search should now find the contents > PASS message cleartext is present after reinserting with --decrypt=true > PASS delete all copies of the message > PASS message cleartext is present with insert --decrypt=true > PASS tagging all messages > PASS verify that tags have not changed > PASS reindex old messages > PASS reindexed encrypted message, including cleartext > PASS emacs search by property for both messages > PASS reindex in auto mode > PASS reindexed encrypted messages, should not have changed > PASS reindex without cleartext > PASS reindexed encrypted messages, without cleartext > PASS reindex using only session keys > PASS reindexed encrypted messages, decrypting only with session keys > PASS emacs search by property with both messages unindexed > PASS verify that tags remain without cleartext > PASS index cleartext without keeping session keys > PASS Ensure that the indexed terms are present > PASS show one of the messages with --decrypt=true > PASS Ensure that we cannot show the message with --decrypt=auto > PASS indexing message fails when secret key not available > PASS cannot find cleartext index > PASS cleartext index recovery on reindexing with stashed session keys > PASS notmuch reply should show cleartext if session key is present > PASS notmuch show should show cleartext if session key is present > PASS notmuch show should show nothing if decryption is explicitly > disallowed > PASS purging stashed session keys should lose access to the cleartext > PASS and cleartext should be unrecoverable now that there are no stashed > session keys > PASS verify signature without a session key stashed when --decrypt=true > PASS do not verify sig without a session key stashed if --decrypt=auto > PASS verify signature when --decrypt=stash > PASS verify signature with stashed session key > > T358-emacs-protected-headers: Testing protected headers in emacs interface > PASS notmuch-search should show not unindexed protected subject header in > emacs > PASS notmuch-show should not show unindexed protected subject header in > emacs when nm-c-process-mime is nil > PASS notmuch-show should show protected subject header in emacs > PASS Reply within emacs to a message with protected headers, not leaking > subject > PASS defaulting to indexing cleartext > PASS try reindexing protected header message > PASS notmuch-search should show indexed protected subject header in emacs > PASS don't leak protected subject during reply, even if indexed > > T360-symbol-hiding: Testing exception symbol hiding > PASS running test > PASS checking output > PASS comparing existing to exported symbols > > T370-search-folder-coherence: Testing folder tags removed and added through > file renames remain consistent > PASS No new messages > PASS Single new message > PASS Add second folder for same message > PASS Multiple files for same message > PASS Test matches folder:spam > PASS Remove folder:spam copy of email > PASS No mails match the folder:spam search > > T380-atomicity: Testing atomicity > PASS "notmuch new" is idempotent under arbitrary aborts > PASS detected 20>10 abort points > > T385-transactions: Testing transactions > PASS initial new > PASS Some changes saved with open transaction > > T390-python: Testing python bindings > PASS compare thread ids > PASS compare message ids > PASS get non-existent file > PASS get revision > PASS output of count matches test code > PASS Add ISO-8859-2 encoded message, call get_message_parts > PASS set and get config values > PASS get_configs with no match returns empty generator > PASS get_configs with no arguments returns all pairs > PASS get_configs prefix is used to match keys > PASS set_config with no value will unset config entries > PASS index message with decryption > > T391-python-cffi: Testing python bindings (pytest) > PASS python cffi tests (NOTMUCH_CONFIG set) > PASS python cffi tests (NOTMUCH_CONFIG unset) > > T392-python-cffi-notmuch: Testing python bindings (notmuch test suite) > PASS recursive traversal of replies (no crash) > PASS recursive traversal of replies (output) > > T395-ruby: Testing ruby bindings > PASS compare thread ids > PASS compare message ids > PASS get non-existent file > PASS count messages > PASS count threads > PASS get all tags > PASS omit excluded all > PASS check sort argument > PASS check exclude_tags argument > > T400-hooks: Testing hooks > PASS pre-new is run [traditional] > PASS post-new is run [traditional] > PASS post-insert hook is run [traditional] > PASS pre-new is run before post-new [traditional] > PASS pre-new non-zero exit status (hook status) [traditional] > PASS pre-new non-zero exit status (notmuch status) [traditional] > PASS pre-new non-zero exit status aborts new [traditional] > PASS post-new non-zero exit status (hook status) [traditional] > PASS post-new non-zero exit status (notmuch status) [traditional] > PASS post-insert hook does not affect insert status [traditional] > PASS hook without executable permissions [traditional] > PASS hook execution failure [traditional] > PASS post-new with write access [traditional] > PASS pre-new with write access [traditional] > PASS add message in pre-new [traditional] > PASS pre-new is run [profile] > PASS post-new is run [profile] > PASS post-insert hook is run [profile] > PASS pre-new is run before post-new [profile] > PASS pre-new non-zero exit status (hook status) [profile] > PASS pre-new non-zero exit status (notmuch status) [profile] > PASS pre-new non-zero exit status aborts new [profile] > PASS post-new non-zero exit status (hook status) [profile] > PASS post-new non-zero exit status (notmuch status) [profile] > PASS post-insert hook does not affect insert status [profile] > PASS hook without executable permissions [profile] > PASS hook execution failure [profile] > PASS post-new with write access [profile] > PASS pre-new with write access [profile] > PASS add message in pre-new [profile] > PASS pre-new is run [explicit] > PASS post-new is run [explicit] > PASS post-insert hook is run [explicit] > PASS pre-new is run before post-new [explicit] > PASS pre-new non-zero exit status (hook status) [explicit] > PASS pre-new non-zero exit status (notmuch status) [explicit] > PASS pre-new non-zero exit status aborts new [explicit] > PASS post-new non-zero exit status (hook status) [explicit] > PASS post-new non-zero exit status (notmuch status) [explicit] > PASS post-insert hook does not affect insert status [explicit] > PASS hook without executable permissions [explicit] > PASS hook execution failure [explicit] > PASS post-new with write access [explicit] > PASS pre-new with write access [explicit] > PASS add message in pre-new [explicit] > PASS pre-new is run [relative] > PASS post-new is run [relative] > PASS post-insert hook is run [relative] > PASS pre-new is run before post-new [relative] > PASS pre-new non-zero exit status (hook status) [relative] > PASS pre-new non-zero exit status (notmuch status) [relative] > PASS pre-new non-zero exit status aborts new [relative] > PASS post-new non-zero exit status (hook status) [relative] > PASS post-new non-zero exit status (notmuch status) [relative] > PASS post-insert hook does not affect insert status [relative] > PASS hook without executable permissions [relative] > PASS hook execution failure [relative] > PASS post-new with write access [relative] > PASS pre-new with write access [relative] > PASS add message in pre-new [relative] > PASS pre-new is run [XDG] > PASS post-new is run [XDG] > PASS post-insert hook is run [XDG] > PASS pre-new is run before post-new [XDG] > PASS pre-new non-zero exit status (hook status) [XDG] > PASS pre-new non-zero exit status (notmuch status) [XDG] > PASS pre-new non-zero exit status aborts new [XDG] > PASS post-new non-zero exit status (hook status) [XDG] > PASS post-new non-zero exit status (notmuch status) [XDG] > PASS post-insert hook does not affect insert status [XDG] > PASS hook without executable permissions [XDG] > PASS hook execution failure [XDG] > PASS post-new with write access [XDG] > PASS pre-new with write access [XDG] > PASS add message in pre-new [XDG] > PASS pre-new is run [split] > PASS post-new is run [split] > PASS post-insert hook is run [split] > PASS pre-new is run before post-new [split] > PASS pre-new non-zero exit status (hook status) [split] > PASS pre-new non-zero exit status (notmuch status) [split] > PASS pre-new non-zero exit status aborts new [split] > PASS post-new non-zero exit status (hook status) [split] > PASS post-new non-zero exit status (notmuch status) [split] > PASS post-insert hook does not affect insert status [split] > PASS hook without executable permissions [split] > PASS hook execution failure [split] > PASS post-new with write access [split] > PASS pre-new with write access [split] > PASS add message in pre-new [split] > > T410-argument-parsing: Testing argument parsing > PASS sanity check > PASS sanity check zero values > PASS space instead of = between parameter name and value > PASS --boolean=true > PASS --boolean=false > PASS --no-boolean > PASS --no-flag > PASS test keyword arguments without value > PASS test keyword arguments with non-default value separated by a space > PASS test keyword arguments without value at the end > PASS test keyword arguments without value but with = (should be an error) > > T420-emacs-test-functions: Testing emacs test function sanity > PASS emacs test function sanity > > T430-emacs-address-cleaning: Testing emacs address cleaning > PASS notmuch-test-address-clean part 1 > PASS notmuch-test-address-clean part 2 > PASS notmuch-test-address-clean part 3 > > T440-emacs-hello: Testing emacs notmuch-hello view > PASS User-defined section with inbox tag > PASS User-defined section with empty, hidden entry > PASS User-defined section, unread tag filtered out > PASS User-defined section, different query for counts > PASS Empty custom tags section > PASS Empty custom queries section > PASS Column alignment for tag/queries with long names > PASS All tags show up > > T450-emacs-show: Testing emacs notmuch-show view > PASS Hiding Original Message region at beginning of a message > PASS Bare subject #1 > PASS Bare subject #2 > PASS Bare subject #3 > PASS don't process cryptographic MIME parts > PASS process cryptographic MIME parts > PASS process cryptographic MIME parts (w/ > notmuch-show-toggle-process-crypto) > PASS notmuch-show: don't elide non-matching messages > PASS notmuch-show: elide non-matching messages > PASS notmuch-show: elide non-matching messages (w/ > notmuch-show-toggle-elide-non-matching) > PASS notmuch-show: elide non-matching messages (w/ prefix arg to > notmuch-show) > PASS notmuch-show: disable indentation of thread content (w/ > notmuch-show-toggle-thread-indentation) > PASS id buttonization > PASS Show handles subprocess errors > PASS text/enriched exploit mitigation > PASS show decrypted message > BROKEN show encrypted rfc822 message > exit code 0, expected 1 fgrep "!!!" OUTPUT > !!! Bodypart handler `notmuch-show-insert-part-*/*' threw an error: > !!! Symbol’s value as variable is void: gnus-newsgroup-charset > PASS show undecryptable message > PASS show encrypted message when not processing crypto > PASS notmuch-show with nonexistent CWD > > T455-emacs-charsets: Testing emacs notmuch-show charset handling > PASS Text parts are decoded when rendering > PASS 8bit text parts are decoded when rendering > PASS HTML parts are decoded when rendering > PASS Text parts are not decoded when saving > PASS 8bit text parts are not decoded when saving > PASS HTML parts are not decoded when saving > PASS Binary parts are not decoded when saving > PASS Text message are not decoded when viewing > PASS 8bit text message are not decoded when viewing > > T460-emacs-tree: Testing emacs tree view interface > PASS Basic notmuch-tree view in emacs > PASS Refreshed notmuch-tree view in emacs > PASS Tag message in notmuch tree view (display) > PASS Tag message in notmuch tree view (database) > PASS Untag message in notmuch tree view > PASS Untag message in notmuch tree view (database) > PASS Tag thread in notmuch tree view > PASS Tag message in notmuch tree view (database) > PASS Untag thread in notmuch tree view > PASS Untag message in notmuch tree view (database) > PASS Navigation of notmuch-hello to search results > PASS Tree view of a single thread (from search) > PASS Tree view of a single thread (from show) > PASS Message window of tree view > PASS Stash id > PASS Move to next matching message > PASS Move to next thread > PASS Move to previous thread > PASS Move to previous previous thread > PASS Functions in tree-result-format > PASS notmuch-tree with nonexistent CWD > > T465-emacs-unthreaded: Testing emacs unthreaded interface > PASS large thread > PASS message from large thread (status) > PASS Functions in unthreaded-result-format > PASS notmuch-unthreaded with nonexistent CWD > > T470-missing-headers: Testing messages with missing headers > PASS Search: text > PASS Search: json > PASS Show: text > PASS Show: json > > T480-hex-escaping: Testing hex encoding and decoding > PASS round trip > PASS punctuation > PASS round trip newlines > PASS round trip 8bit chars > PASS round trip (in-place) > PASS punctuation (in-place) > PASS round trip newlines (in-place) > PASS round trip 8bit chars (in-place) > > T490-parse-time-string: Testing date/time parser module > PASS date(1) default format without TZ code > PASS date(1) --rfc-2822 format > PASS date(1) --rfc=3339=seconds format > PASS Date parser tests > PASS Second rounding tests > > T500-search-date: Testing date:since..until queries > PASS Absolute date range > PASS Absolute date range with 'same' operator > PASS Absolute date field > PASS Absolute time range with TZ > > T510-thread-replies: Testing test of proper handling of in-reply-to and > references headers > PASS Use References when In-Reply-To is broken > PASS Prefer References to dodgy In-Reply-To > PASS Use In-Reply-To when no References > PASS Use last Reference when In-Reply-To is dodgy > PASS Ignore garbage at the end of References > PASS reply to ghost > PASS reply to ghost (tree view) > PASS reply to ghost (RT) > PASS reply to ghost (RT/tree view) > PASS trusting reply-to (tree view) > > T520-show: Testing "notmuch show" > PASS exit code for show invalid query > PASS notmuch show --sort=newest-first > PASS notmuch show --sort=oldest-first > PASS notmuch show --sort for single thread > PASS sexpr query: (and "wonderful" "wizard") > PASS sexpr query: (or "php" "wizard") > PASS sexpr query: wizard > PASS sexpr query: Wizard > PASS sexpr query: (attachment notmuch-help.patch) > > T530-upgrade: Testing database upgrades > PASS upgrade is triggered by missing 'multiple paths per message' > PASS backup can be restored ['multiple paths per message'] > PASS upgrade is triggered by missing 'relative directory paths' > PASS backup can be restored ['relative directory paths'] > PASS upgrade is triggered by missing 'exact folder:/path: search' > PASS backup can be restored ['exact folder:/path: search'] > PASS upgrade is triggered by missing 'mail documents for missing messages' > PASS backup can be restored ['mail documents for missing messages'] > PASS upgrade is triggered by missing 'modification tracking' > PASS backup can be restored ['modification tracking'] > PASS upgrade not triggered by missing 'from/subject/message-ID in database' > PASS upgrade not triggered by missing 'indexed MIME types' > PASS upgrade not triggered by missing 'index body and headers separately' > PASS upgrade with configured backup dir > PASS upgrade with relative configured backup dir > > T550-db-features: Testing database version and feature compatibility > PASS future database versions abort open > PASS unknown 'rw' feature aborts read/write open > PASS unknown 'rw' feature aborts read-only open > PASS unknown 'w' feature aborts read/write open > PASS unknown 'w' feature does not abort read-only open > > T560-lib-error: Testing error reporting for library > PASS building database > PASS Open null pointer > PASS Open relative path > PASS Create database in relative path > PASS Open nonexistent database > PASS create NULL path > PASS Create database in nonexistent directory > PASS Write to read-only database > PASS Add non-existent file > PASS compact, overwriting existing backup > PASS Xapian exception finding message > PASS Xapian exception getting tags > PASS Xapian exception creating directory > PASS Xapian exception searching messages > PASS Xapian exception counting messages > > T562-lib-database: Testing notmuch_database_* API > PASS building database > PASS get status_string with closed db > PASS get path with closed db > PASS get version with closed db > PASS re-close a closed db > PASS destroy a closed db > PASS destroy an open db > PASS check a closed db for upgrade > PASS upgrade a closed db > PASS begin atomic section for a closed db > PASS end atomic section for a closed db > PASS get revision for a closed db > PASS get directory for a closed db > PASS index file with a closed db > PASS index file (relative path) > PASS index file (absolute path outside mail root) > PASS remove message file with a closed db > PASS find message by filename with a closed db > PASS Handle getting tags from closed database > PASS get config from closed database > PASS set config in closed database > PASS get indexopts from closed database > PASS get decryption policy from closed database > PASS set decryption policy with closed database > > T563-lib-directory: Testing notmuch_directory_* API > PASS building database > PASS get child directories for a closed db > PASS get child filenames for a closed db > PASS delete directory document for a closed db > PASS get/set mtime of directory for a closed db > PASS get/set mtime of directory for a closed db > > T564-lib-query: Testing notmuch_query_* API > PASS building database > PASS roundtrip query string with closed db > PASS retrieve closed db from query > PASS set omit_excluded on closed db > PASS roundtrip sort on closed db > PASS add tag_exclude on closed db > PASS search threads on closed db > PASS search messages on closed db > PASS count messages on closed db > PASS count threads on closed db > PASS destroy query with closed db > > T566-lib-message: Testing API tests for notmuch_message_* > PASS building database > PASS Handle getting message-id from closed database > PASS Handle getting thread-id from closed database > PASS Handle getting header from closed database > PASS Handle getting replies from closed database > PASS Handle getting message filename from closed database > PASS Handle getting all message filenames from closed database > PASS iterate over all message filenames from closed database > PASS Handle getting ghost flag from closed database > PASS Handle getting date from closed database > PASS Handle getting tags from closed database > PASS Handle counting files from closed database > PASS Handle adding tag with closed database > PASS Handle removing tag with closed database > PASS Handle read maildir flag with closed database > PASS Handle checking maildir flag with closed db (new API) > PASS Handle converting maildir flags to tags with closed db > PASS Handle removing all tags with closed db > PASS Handle freezing message with closed db > PASS Handle thawing message with closed db > PASS Handle destroying message with closed db > PASS Handle retrieving closed db from message > PASS Handle reindexing message with closed db > > T568-lib-thread: Testing API tests for notmuch_thread_* > PASS building database > PASS finding thread > PASS get thread-id from closed database > PASS get total messages with closed database > PASS get total files with closed database > PASS get top level messages with closed database > PASS iterate over level messages with closed database > PASS iterate over level messages with closed database > PASS iterate over replies with closed database > PASS iterate over all messages with closed database > PASS get authors from closed database > PASS get subject from closed database > PASS oldest date from closed database > PASS newest date from closed database > PASS iterate tags from closed database > PASS collect tags with closed database > PASS destroy thread with closed database > > T570-revision-tracking: Testing database revision tracking > PASS notmuch_database_get_revision > PASS output of count matches test code > PASS modification count increases > PASS search succeeds with correct uuid > PASS uuid works as global option > PASS uuid works as global option II > PASS search fails with incorrect uuid > PASS show succeeds with correct uuid > PASS show fails with incorrect uuid > PASS tag succeeds with correct uuid > PASS tag fails with incorrect uuid > PASS lastmod:0.. matches everything > PASS lastmod:1000000.. matches nothing > PASS exclude one message using lastmod > > T580-thread-search: Testing test of searching by thread-id > PASS Every message is found in exactly one thread > PASS roundtripping message-ids via thread-ids > > T585-thread-subquery: Testing test of searching by using thread subqueries > PASS Basic query that matches no messages > PASS Same query against threads > PASS Mix thread and non-threads query > PASS Compound subquery > PASS Syntax/quoting error in subquery > > T590-libconfig: Testing library config API > PASS notmuch_database_{set,get}_config > PASS notmuch_database_get_config_list: empty list > PASS notmuch_database_get_config_list: closed db > PASS notmuch_database_get_config_list: all pairs > PASS notmuch_database_get_config_list: all pairs (closed db) > PASS notmuch_database_get_config_list: one prefix > PASS dump config > PASS restore config > PASS override config from file > PASS NOTMUCH_CONFIG_HOOK_DIR: traditional > PASS NOTMUCH_CONFIG_HOOK_DIR: xdg > PASS notmuch_config_get_values > PASS notmuch_config_get_values (ignore leading/trailing whitespace) > PASS notmuch_config_get_values_string > PASS notmuch_config_get_values (restart) > PASS notmuch_config_get_values, trailing ; > PASS get config by key > PASS set config by key > PASS load default values > PASS override config from ${NOTMUCH_CONFIG} > PASS override config from ${HOME}/.notmuch-config > PASS override config from ${XDG_CONFIG_HOME}/notmuch > PASS override config from ${XDG_CONFIG_HOME}/notmuch with profile > PASS override config from ${HOME}/.notmuch-config.work (via args) > PASS no config, fail to open database > PASS open database from NOTMUCH_DATABASE > PASS NOTMUCH_DATABASE overrides config > PASS notmuch_database_get_config (ndlc) > PASS notmuch_database_get_config_list: all pairs (ndlc) > PASS notmuch_database_get_config_list: one prefix (ndlc) > PASS list by keys (ndlc) > PASS load default values (ndlc, nonexistent config) > PASS override config from ${HOME}/.notmuch-config (ndlc) > PASS notmuch_config_get_pairs: prefix (ndlc) > PASS notmuch_config_get_pairs: all pairs (ndlc) > PASS open: database set to null on missing config > PASS open: database set to null on missing config (env) > PASS create: database set to null on missing config > PASS create: database set to null on missing config (env) > PASS load_config: database set non-null on missing config > PASS load_config: database non-null on missing config (env) > PASS load_config: database set to NULL on fatal error > PASS open: database parameter overrides implicit config > PASS open/error: config=empty with no mail root in db > PASS open/error: config=empty with no mail root in db (xdg) > > T592-thread-breakage: Testing thread breakage during reindexing > PASS There should be no threads initially > PASS There should be no ghosts initially > PASS One message in: one thread > PASS looking for 1 instance of 'apple' > PASS looking for 0 instance of 'banana' > PASS Expecting 0 ghosts(s) > PASS Second message in the same thread: one thread > PASS looking for 1 instance of 'apple' > PASS looking for 1 instance of 'banana' > PASS Expecting 0 ghosts(s) > PASS First message removed: still only one thread > PASS looking for 0 instance of 'apple' > PASS looking for 1 instance of 'banana' > PASS should be one ghost after first message removed > PASS First message reappears: should return to the same thread > PASS looking for 1 instance of 'apple' > PASS looking for 1 instance of 'banana' > PASS Expecting 0 ghosts(s) > PASS Removing second message: still only one thread > PASS looking for 1 instance of 'apple' > PASS looking for 0 instance of 'banana' > BROKEN No ghosts should remain after deletion of second message > --- T592-thread-breakage.22.expected 2022-03-26 19:31:15.290835302 > +0000 > +++ T592-thread-breakage.22.output 2022-03-26 19:31:15.290835302 > +0000 > @@ -1 +1 @@ > -0 > +1 > PASS All messages gone: no threads > PASS looking for 0 instance of 'apple' > PASS looking for 0 instance of 'banana' > PASS No ghosts should remain after full thread deletion > > T595-reopen: Testing library reopen API > PASS notmuch_database_reopen (read=>write) > PASS notmuch_database_reopen (read=>read) > PASS notmuch_database_reopen (write=>read) > PASS notmuch_database_reopen (write=>write) > > T600-named-queries: Testing named queries > PASS error adding named query to DB before initialization > PASS adding named query (database) > PASS adding nested named query > PASS retrieve named query > PASS List all queries > PASS dump named queries > PASS dumping large queries > PASS delete named queries > PASS restore named queries > PASS search named query > PASS search named query with other terms > PASS search nested named query > > T610-message-property: Testing message property API > PASS notmuch_message_{add,get,remove}_property > PASS notmuch_message_remove_all_properties > PASS testing string map binary search (via message properties) > PASS notmuch_message_get_properties: empty list > PASS notmuch_message_properties: one value > PASS notmuch_message_properties: multiple values > PASS notmuch_message_properties: prefix > PASS notmuch_message_properties: modify during iteration > PASS dump message properties > PASS dump _only_ message properties > PASS restore missing message property (single line) > PASS restore missing message property (full dump) > PASS restore clear extra message property > PASS test 'property:' queries: empty > PASS test 'property:' queries: single message > PASS msg.get_property (python) > PASS msg.get_properties (python) > PASS msg.get_properties (python, prefix) > PASS msg.get_properties (python, exact) > > T620-lock: Testing locking > PASS blocking open > > T630-emacs-draft: Testing Emacs Draft Handling > PASS Saving a draft indexes it > PASS Saving a draft tags previous draft as deleted > PASS Saving a signed draft adds header > PASS Refusing to save an encrypted draft > PASS Resuming a signed draft > > T640-database-modified: Testing DatabaseModifiedError handling > PASS catching DatabaseModifiedError in _notmuch_message_ensure_metadata > > T650-regexp-query: Testing regular expression searches > PASS empty path:// search > PASS empty folder:// search > PASS unanchored folder:// specification > PASS anchored folder:// search > PASS unanchored path:// specification > PASS anchored path:// search > PASS null from: search > PASS null subject: search > PASS xapian wildcard search for from: > PASS xapian wildcard search for subject: > PASS quoted xapian keyword search for from: > PASS quoted xapian keyword search for subject: > PASS regexp from search, case sensitive > PASS empty regexp or query > PASS non-empty regexp and query > PASS regexp from search, duplicate term search > PASS long enough regexp matches only desired senders > PASS shorter regexp matches one more sender > PASS regexp subject search, non-ASCII > PASS regexp subject search, punctuation > PASS regexp subject search, no punctuation > PASS combine regexp from and subject > PASS regexp error reporting > PASS empty mid search > PASS non-empty mid regex search > PASS combine regexp mid and subject > PASS unanchored tag search > PASS anchored tag search > > T660-bad-date: Testing parsing of bad dates > PASS Bad dates translate to a date after the Unix epoch > > T670-duplicate-mid: Testing duplicate message ids > PASS at most 1 thread-id per xapian document > PASS search: first indexed subject preserved > BROKEN First subject preserved in notmuch-show (json) > --- T670-duplicate-mid.3.expected 2022-03-26 19:31:23.778843698 > +0000 > +++ T670-duplicate-mid.3.output 2022-03-26 19:31:23.778843698 +0000 > @@ -2,6 +2,7 @@ > [ > [ > { > + "crypto": {}, > "date_relative": "2001-01-05", > "excluded": false, > "filename": [ > @@ -12,7 +13,7 @@ > "headers": { > "Date": "GENERATED_DATE", > "From": "Notmuch Test Suite > <test_su...@notmuchmail.org>", > - "Subject": "message 1", > + "Subject": "message 0", > "To": "Notmuch Test Suite > <test_su...@notmuchmail.org>" > }, > "id": "XXXXX", > PASS Search for second subject > BROKEN Regexp search for second subject > --- T670-duplicate-mid.5.EXPECTED 2022-03-26 19:31:23.802843722 > +0000 > +++ T670-duplicate-mid.5.OUTPUT 2022-03-26 19:31:23.806843726 +0000 > @@ -1,3 +0,0 @@ > -MAIL_DIR/copy0 > -MAIL_DIR/copy1 > -MAIL_DIR/copy2 > PASS search for body in duplicate file > PASS reindex drops terms in duplicate file > PASS reindex choses subject from first filename > PASS Deleted first duplicate file does not stop notmuch show from working > > T680-html-indexing: Testing indexing of html parts > PASS embedded images should not be indexed > PASS ignore > in attribute text > PASS non tag text should be indexed > > T690-command-line-args: Testing command line arguments > PASS bad option to show > PASS string option with space > PASS string option with = > PASS string option with : > PASS single keyword option with space > PASS single keyword option with = > PASS single keyword option with : > PASS multiple keyword options with space > PASS multiple keyword options with = > PASS mixed space and = delimiters > PASS mixed space and : delimiters > PASS show --entire-thread > PASS show --exclude > > T700-reindex: Testing reindexing messages > PASS reindex all messages: () > PASS reindex all messages: (not) > PASS reindex all messages: (and) > PASS reindex all messages: (or ()) > PASS reindex all messages: (or (not)) > PASS reindex all messages: (or (and)) > PASS reindex all messages: (or (and) (or) (not (and))) > PASS reindex preserves threads > PASS reindex after removing duplicate file preserves threads > PASS reindex preserves message-ids > PASS reindex preserves tags > PASS reindex preserves tags with special prefixes > PASS reindex moves a message between threads > PASS reindex detects removal of all files > PASS reindex detects removal of all files > PASS reindex preserves properties > PASS reindex of lkml corpus preserves threads > PASS reindex after removing corpus > > T710-message-id: Testing message id parsing > PASS good message ids > PASS leading and trailing space is OK > PASS <> delimiters are required > PASS embedded whitespace is forbidden > PASS folded real life bad In-Reply-To values > > T720-emacs-attachment-warnings: Testing emacs attachment warnings > PASS notmuch-test-attachment-warning part 1 > > T720-lib-lifetime: Testing Lifetime constraints for library > PASS building database > PASS Message outlives parent Messages from replies > > T730-emacs-forwarding: Testing emacs forwarding > PASS Forward setting the correct references header > PASS Forwarding adding the forwarded tag > > T740-body: Testing search body > PASS search with body: prefix > PASS search without body: prefix > PASS negated body: prefix > PASS search unprefixed for prefixed term > PASS search with body: prefix for term only in subject > > T750-gzip: Testing support for gzipped messages > PASS Single new gzipped message > PASS Single new gzipped message (full-scan) > PASS Multiple new messages, one gzipped > PASS Multiple new messages, one gzipped (full-scan) > PASS Renamed (gzipped) message > PASS notmuch search with partially gzipped mail store > PASS notmuch search --output=files with partially gzipped mail store > PASS show un-gzipped message > PASS show un-gzipped message (format mbox) > PASS show un-gzipped message (format raw) > PASS show gzipped message > PASS show gzipped message (mbox) > PASS show gzipped message (raw) > PASS new doesn't run out of file descriptors with many gzipped files > > T750-user-header: Testing indexing user specified headers > PASS adding illegal prefix name, bad utf8 > PASS adding illegal prefix name, reserved for notmuch > PASS adding illegal prefix name, non-word character. > PASS adding empty prefix name. > PASS adding user header > PASS adding existing user header > PASS retrieve user header > PASS reindex after adding header preserves threads > PASS List all user headers > PASS parse user prefix > PASS parse user prefix, stemmed > PASS parse user prefix, phrase > PASS index user header > PASS index user header, config from file > > T800-asan: Testing run code with ASAN enabled against the library > PASS open and destroy > > Notmuch test suite complete. > 1835/1844 tests passed. > 8 broken tests failed as expected. > 1 test failed. > ERROR: some tests failed; first failed returned error code 1 > make[2]: *** [test/Makefile.local:75: test] Error 1 > make[2]: Leaving directory '/<<PKGBUILDDIR>>' > dh_auto_test: error: make -j8 test VERBOSE=1 V=1 returned exit code 2 The full build log is available from: http://qa-logs.debian.net/2022/03/26/notmuch_0.35-1_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please marking it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.