aboutsummaryrefslogtreecommitdiff
path: root/test/T055-path-config.sh
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2021-08-04 07:42:34 -0300
committerDavid Bremner <david@tethera.net>2021-08-17 17:07:53 -0700
commit8376e814412f8165b781aa21dac654c2fc948306 (patch)
tree83d1b47bf65cfe544e7ba8f65b82a5ef4af7bdf6 /test/T055-path-config.sh
parentf1a310b3a9b2487b7c6e3a74fa2157b96cd567a0 (diff)
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
Diffstat (limited to 'test/T055-path-config.sh')
-rwxr-xr-xtest/T055-path-config.sh44
1 files changed, 38 insertions, 6 deletions
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 <<EOF >EXPECTED
Carl Worth <cworth@cworth.org>
@@ -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 <<EOF > 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 <sender@example.com>"' \
[to]=test_suite@notmuchmail.org \
[subject]=notmuch-reply-test \
@@ -190,7 +215,9 @@ On Tue, 05 Jan 2010 15:43:56 -0000, Sender <sender@example.com> 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 <<EOF > EXPECTED
built_with.compact=true
built_with.field_processor=true