mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 03:48:10 +01:00
91 lines
2.4 KiB
Bash
91 lines
2.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
test_description='Configuration of mail-root and database path'
|
||
|
. $(dirname "$0")/test-lib.sh || exit 1
|
||
|
|
||
|
backup_config () {
|
||
|
local test_name=$(basename $0 .sh)
|
||
|
cp ${NOTMUCH_CONFIG} notmuch-config-backup.${test_name}
|
||
|
}
|
||
|
|
||
|
restore_config () {
|
||
|
local test_name=$(basename $0 .sh)
|
||
|
export NOTMUCH_CONFIG="${TMP_DIRECTORY}/notmuch-config"
|
||
|
unset CONFIG_PATH
|
||
|
unset DATABASE_PATH
|
||
|
unset NOTMUCH_PROFILE
|
||
|
cp notmuch-config-backup.${test_name} ${NOTMUCH_CONFIG}
|
||
|
}
|
||
|
|
||
|
split_config () {
|
||
|
local dir
|
||
|
backup_config
|
||
|
dir="$TMP_DIRECTORY/database.$test_count"
|
||
|
rm -rf $dir
|
||
|
mkdir $dir
|
||
|
notmuch config set database.path $dir
|
||
|
notmuch config set database.mail_root $MAIL_DIR
|
||
|
DATABASE_PATH=$dir
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
for config in traditional split; do
|
||
|
# start each set of tests with a known set of messages
|
||
|
add_email_corpus
|
||
|
|
||
|
case $config in
|
||
|
traditional)
|
||
|
backup_config
|
||
|
;;
|
||
|
split)
|
||
|
split_config
|
||
|
mv mail/.notmuch/xapian $DATABASE_PATH
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
test_begin_subtest "count ($config)"
|
||
|
output=$(notmuch count '*')
|
||
|
test_expect_equal "$output" '52'
|
||
|
|
||
|
test_begin_subtest "count+tag ($config)"
|
||
|
tag="tag${RANDOM}"
|
||
|
notmuch tag +$tag '*'
|
||
|
output=$(notmuch count tag:$tag)
|
||
|
notmuch tag -$tag '*'
|
||
|
test_expect_equal "$output" '52'
|
||
|
|
||
|
test_begin_subtest "address ($config)"
|
||
|
notmuch address --deduplicate=no --sort=newest-first --output=sender --output=recipients path:foo >OUTPUT
|
||
|
cat <<EOF >EXPECTED
|
||
|
Carl Worth <cworth@cworth.org>
|
||
|
notmuch@notmuchmail.org
|
||
|
EOF
|
||
|
test_expect_equal_file EXPECTED OUTPUT
|
||
|
|
||
|
test_begin_subtest "dump ($config)"
|
||
|
notmuch dump is:attachment and is:signed | sort > OUTPUT
|
||
|
cat <<EOF > EXPECTED
|
||
|
#notmuch-dump batch-tag:3 config,properties,tags
|
||
|
+attachment +inbox +signed +unread -- id:20091118005829.GB25380@dottiness.seas.harvard.edu
|
||
|
+attachment +inbox +signed +unread -- id:20091118010116.GC25380@dottiness.seas.harvard.edu
|
||
|
EOF
|
||
|
test_expect_equal_file EXPECTED OUTPUT
|
||
|
|
||
|
test_begin_subtest "dump + tag + restore ($config)"
|
||
|
notmuch dump '*' > EXPECTED
|
||
|
notmuch tag -inbox '*'
|
||
|
notmuch restore < EXPECTED
|
||
|
notmuch dump > OUTPUT
|
||
|
test_expect_equal_file EXPECTED OUTPUT
|
||
|
|
||
|
test_begin_subtest "reindex ($config)"
|
||
|
notmuch search --output=messages '*' > EXPECTED
|
||
|
notmuch reindex '*'
|
||
|
notmuch search --output=messages '*' > OUTPUT
|
||
|
test_expect_equal_file EXPECTED OUTPUT
|
||
|
|
||
|
restore_config
|
||
|
done
|
||
|
|
||
|
test_done
|