Your message dated Mon, 28 Mar 2022 18:34:29 +0000
with message-id <e1nyucd-0007l2...@fasolo.debian.org>
and subject line Bug#1008462: fixed in notmuch 0.35-2
has caused the Debian Bug report #1008462,
regarding notmuch: FTBFS: dh_auto_test: error: make -j8 test VERBOSE=1 V=1 
returned exit code 2
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
1008462: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1008462
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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.

--- End Message ---
--- Begin Message ---
Source: notmuch
Source-Version: 0.35-2
Done: David Bremner <brem...@debian.org>

We believe that the bug you reported is fixed in the latest version of
notmuch, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1008...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
David Bremner <brem...@debian.org> (supplier of updated notmuch package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Mon, 28 Mar 2022 11:45:11 -0600
Source: notmuch
Architecture: source
Version: 0.35-2
Distribution: unstable
Urgency: medium
Maintainer: Carl Worth <cwo...@debian.org>
Changed-By: David Bremner <brem...@debian.org>
Closes: 1008462
Changes:
 notmuch (0.35-2) unstable; urgency=medium
 .
   * Disable test smime.4, which is broken by gmime 3.2.9 thanks to Lucas
     Nussbaum for the report (Closes: #1008462).
Checksums-Sha1:
 d8dcb1332981524f014f783985b95485676c3de6 3262 notmuch_0.35-2.dsc
 1bafc11cf9473b7e8547735e534eb71d7fc904f3 20080 notmuch_0.35-2.debian.tar.xz
Checksums-Sha256:
 997ce6c8a9cc25ea775294ba01d5892d024a17ac6804b19b73cdbb5be8b60fe4 3262 
notmuch_0.35-2.dsc
 c454784a19f1484943fae9ddf03f26b6fa44f72bfd563251e898b5e58f8795c8 20080 
notmuch_0.35-2.debian.tar.xz
Files:
 3b567f3d887d1599c780acd25205e4b7 3262 mail optional notmuch_0.35-2.dsc
 18f75db42819021723be773a9c03d6b0 20080 mail optional 
notmuch_0.35-2.debian.tar.xz

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEkiyHYXwaY0SiY6fqA0U5G1WqFSEFAmJB+1AACgkQA0U5G1Wq
FSE2BhAAinRwZ26cOPfLDKfCMk38KiqeFjHUpqgNDaklZwcUKkYRaQvlRd+S9UUh
57jiOvuzmJjPEE3UVvAgIzNRS1VwRGxsFP/QH0AJw1FumeCi9Y1NYq0F7WFnuSqq
KurH3As43acQgawxtpEd6U332HZd9WZrN4JXgZZFVxoLE8HC5JgMWV9r2lfhKow1
6trkCTXVhMUeYSvAvIJ2ZEQWXHcq9VVp+oOQwF0kkbaWWTXsGKri7HwLa+GpHvjS
1DAhuguHciKZRVfAptnQkf5QswKtG1nGGGuLumC36MjHCraArTHHkS2Nle41qx+6
FFWLY1SanQMzB0A0LNMtET7fp7rvdILGFMGFCP+Xly+aXmgu4VqA50INlr0QS0bQ
S9zx6sTvtvFo5oyuHedSOYwP0OFoX2MHOuas3Sf+S74QLcY4e1jxem/76nCsjaVR
UI1n/2E3B1TTHx1+5OgKqlvTx3Mx+fAEWC6pOGGWJUWtqC2hq8l5MJqbCXEo2M25
25DEOB/+DZ5aEA8GNLCqApLN+SBGhzX7ZAjsf6ZBDAJQ38bQdQ0lV8LwH8kbXl2f
Qktmwm/nzY0KV7UVLwgYBvMRLPsu5tDToGmGYzzUopsbIqZfnIscHNJ9Y6eLYw0O
Ub9rj/P4LOa0sELw07q3KGNKz1KO0CUSzf/EBKpwDdIt3EgYOsU=
=Iwi+
-----END PGP SIGNATURE-----

--- End Message ---

Reply via email to