From: David Bremner Date: Wed, 4 Aug 2021 10:42:34 +0000 (-0300) Subject: test: add known broken tests for finding database via MAILDIR X-Git-Tag: 0.32.3~6 X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=commitdiff_plain;h=8376e814412f8165b781aa21dac654c2fc948306 test: add known broken tests for finding database via MAILDIR This highlights a bug reported by several users, including Mohsin Kaleem [1]. The inconsistent use of test_begin_subtest_known_broken is because some of these tests pass even though the database cannot be located. This problem is left for a future commit. [1]: id:87bl9lx864.fsf@kisara.moe --- diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh index 8ef76aed..7c7d81b1 100755 --- a/test/T055-path-config.sh +++ b/test/T055-path-config.sh @@ -16,6 +16,7 @@ restore_config () { unset DATABASE_PATH unset NOTMUCH_PROFILE unset XAPIAN_PATH + unset MAILDIR rm -f "$HOME/mail" cp notmuch-config-backup.${test_name} ${NOTMUCH_CONFIG} } @@ -55,6 +56,18 @@ home_mail_config () { unset DATABASE_PATH } +maildir_env_config () { + local dir + backup_config + dir="${HOME}/env_points_here" + ln -s $MAIL_DIR $dir + export MAILDIR=$dir + notmuch config set database.path + notmuch config set database.mail_root + XAPIAN_PATH="${MAIL_DIR}/.notmuch/xapian" + unset DATABASE_PATH +} + xdg_config () { local dir local profile=${1:-default} @@ -79,7 +92,7 @@ xdg_config () { notmuch --config=${CONFIG_PATH} config set database.path } -for config in traditional split XDG XDG+profile symlink home_mail; do +for config in traditional split XDG XDG+profile symlink home_mail maildir_env; do #start each set of tests with an known set of messages add_email_corpus @@ -106,13 +119,18 @@ for config in traditional split XDG XDG+profile symlink home_mail; do home_mail) home_mail_config ;; + maildir_env) + maildir_env_config + ;; esac test_begin_subtest "count ($config)" + [[ "$config" = maildir_env ]] && test_subtest_known_broken output=$(notmuch count '*') test_expect_equal "$output" '52' test_begin_subtest "count+tag ($config)" + [[ "$config" = maildir_env ]] && test_subtest_known_broken tag="tag${RANDOM}" notmuch tag +$tag '*' output=$(notmuch count tag:$tag) @@ -120,6 +138,7 @@ for config in traditional split XDG XDG+profile symlink home_mail; do test_expect_equal "$output" '52' test_begin_subtest "address ($config)" + [[ "$config" = maildir_env ]] && test_subtest_known_broken notmuch address --deduplicate=no --sort=newest-first --output=sender --output=recipients path:foo >OUTPUT cat <EXPECTED Carl Worth @@ -128,6 +147,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "dump ($config)" + [[ "$config" = maildir_env ]] && test_subtest_known_broken notmuch dump is:attachment and is:signed | sort > OUTPUT cat < EXPECTED #notmuch-dump batch-tag:3 config,properties,tags @@ -150,16 +170,19 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "use existing database ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken output=$(notmuch new) test_expect_equal "$output" 'No new mail.' test_begin_subtest "create database ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken rm -rf $DATABASE_PATH/{.notmuch,}/xapian notmuch new output=$(notmuch count '*') test_expect_equal "$output" '52' test_begin_subtest "detect new files ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken generate_message generate_message notmuch new @@ -167,12 +190,14 @@ EOF test_expect_equal "$output" '54' test_begin_subtest "Show a raw message ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken add_message notmuch show --format=raw id:$gen_msg_id > OUTPUT test_expect_equal_file $gen_msg_filename OUTPUT rm -f $gen_msg_filename test_begin_subtest "reply ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken add_message '[from]="Sender "' \ [to]=test_suite@notmuchmail.org \ [subject]=notmuch-reply-test \ @@ -190,7 +215,9 @@ On Tue, 05 Jan 2010 15:43:56 -0000, Sender wrote: > basic reply test EOF test_expect_equal_file EXPECTED OUTPUT + test_begin_subtest "insert+search ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken generate_message \ "[subject]=\"insert-subject\"" \ "[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \ @@ -208,6 +235,7 @@ EOF test_expect_equal_file EXPECTED OUTPUT test_begin_subtest "upgrade backup ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken features=$(xapian-metadata get $XAPIAN_PATH features | grep -v "^relative directory paths") xapian-metadata set $XAPIAN_PATH features "$features" output=$(notmuch new | grep Welcome) @@ -241,6 +269,7 @@ EOF test_expect_equal "${output}+${output2}" "${value}+" test_begin_subtest "Set config value in database ($config)" + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken name=${RANDOM} value=${RANDOM} notmuch config set --database test${test_count}.${name} ${value} @@ -250,11 +279,14 @@ EOF test_expect_equal "${output}+${output2}" "${value}+" test_begin_subtest "Config list ($config)" - notmuch config list | notmuch_dir_sanitize | sed -e "s/^database.backup_dir=.*$/database.backup_dir/" \ - -e "s/^database.hook_dir=.*$/database.hook_dir/" \ - -e "s/^database.path=.*$/database.path/" \ - -e "s,^database.mail_root=CWD/home/mail,database.mail_root=MAIL_DIR," \ - > OUTPUT + [[ "$config" = "maildir_env" ]] && test_subtest_known_broken + notmuch config list | notmuch_dir_sanitize | \ + sed -e "s/^database.backup_dir=.*$/database.backup_dir/" \ + -e "s/^database.hook_dir=.*$/database.hook_dir/" \ + -e "s/^database.path=.*$/database.path/" \ + -e "s,^database.mail_root=CWD/home/mail,database.mail_root=MAIL_DIR," \ + -e "s,^database.mail_root=CWD/home/env_points_here,database.mail_root=MAIL_DIR," \ + > OUTPUT cat < EXPECTED built_with.compact=true built_with.field_processor=true