From: David Bremner <david@tethera.net>
To: notmuch@notmuchmail.org
Cc: David Bremner <david@tethera.net>
Subject: [PATCH 1/8] test/path-config: define config_subtest
Date: Mon, 2 Aug 2021 12:09:15 -0300 [thread overview]
Message-ID: <20210802150922.3234616-2-david@tethera.net> (raw)
In-Reply-To: <20210802150922.3234616-1-david@tethera.net>
This will allow adding "hook code" to be run for a particular
configuration, in particular marking all tests in a given
configuration as broken.
---
test/T055-path-config.sh | 48 ++++++++++++++++++++++++----------------
1 file changed, 29 insertions(+), 19 deletions(-)
diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
index bb3bf665..2061b116 100755
--- a/test/T055-path-config.sh
+++ b/test/T055-path-config.sh
@@ -79,6 +79,13 @@ xdg_config () {
notmuch --config=${CONFIG_PATH} config set database.path
}
+config_subtest () {
+ local title=$1
+ local config=$2
+
+ test_begin_subtest "$title ($config)"
+}
+
for config in traditional split XDG XDG+profile symlink home_mail; do
#start each set of tests with an known set of messages
add_email_corpus
@@ -106,20 +113,23 @@ 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_subtest "count" "$config"
output=$(notmuch count '*')
test_expect_equal "$output" '52'
- test_begin_subtest "count+tag ($config)"
+ config_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)"
+ config_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>
@@ -127,7 +137,7 @@ notmuch@notmuchmail.org
EOF
test_expect_equal_file EXPECTED OUTPUT
- test_begin_subtest "dump ($config)"
+ config_subtest "dump" "$config"
notmuch dump is:attachment and is:signed | sort > OUTPUT
cat <<EOF > EXPECTED
#notmuch-dump batch-tag:3 config,properties,tags
@@ -136,43 +146,43 @@ EOF
EOF
test_expect_equal_file EXPECTED OUTPUT
- test_begin_subtest "dump + tag + restore ($config)"
+ config_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)"
+ config_subtest "reindex" "$config"
notmuch search --output=messages '*' > EXPECTED
notmuch reindex '*'
notmuch search --output=messages '*' > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
- test_begin_subtest "use existing database ($config)"
+ config_subtest "use existing database" "$config"
output=$(notmuch new)
test_expect_equal "$output" 'No new mail.'
- test_begin_subtest "create database ($config)"
+ config_subtest "create database" "$config"
rm -rf $DATABASE_PATH/{.notmuch,}/xapian
notmuch new
output=$(notmuch count '*')
test_expect_equal "$output" '52'
- test_begin_subtest "detect new files ($config)"
+ config_subtest "detect new files" "$config"
generate_message
generate_message
notmuch new
output=$(notmuch count '*')
test_expect_equal "$output" '54'
- test_begin_subtest "Show a raw message ($config)"
+ config_subtest "Show a raw message" "$config"
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_subtest "reply" "$config"
add_message '[from]="Sender <sender@example.com>"' \
[to]=test_suite@notmuchmail.org \
[subject]=notmuch-reply-test \
@@ -190,7 +200,7 @@ 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_subtest "insert+search" "$config"
generate_message \
"[subject]=\"insert-subject\"" \
"[date]=\"Sat, 01 Jan 2000 12:00:00 -0000\"" \
@@ -201,13 +211,13 @@ EOF
test_expect_equal_file "$cur_msg_filename" "$gen_msg_filename"
- test_begin_subtest "compact+search ($config)"
+ config_subtest "compact+search" "$config"
notmuch search --output=messages '*' | sort > EXPECTED
notmuch compact
notmuch search --output=messages '*' | sort > OUTPUT
test_expect_equal_file EXPECTED OUTPUT
- test_begin_subtest "upgrade backup ($config)"
+ config_subtest "upgrade backup" "$config"
features=$(xapian-metadata get $XAPIAN_PATH features | grep -v "^relative directory paths")
xapian-metadata set $XAPIAN_PATH features "$features"
output=$(notmuch new | grep Welcome)
@@ -215,7 +225,7 @@ EOF
"$output" \
"Welcome to a new version of notmuch! Your database will now be upgraded."
- test_begin_subtest "notmuch +config -database suggests notmuch new ($config)"
+ config_subtest "notmuch +config -database suggests notmuch new" "$config"
mv "$XAPIAN_PATH" "${XAPIAN_PATH}.bak"
notmuch > OUTPUT
cat <<EOF > EXPECTED
@@ -231,7 +241,7 @@ EOF
test_expect_equal_file EXPECTED OUTPUT
- test_begin_subtest "Set config value ($config)"
+ config_subtest "Set config value" "$config"
name=${RANDOM}
value=${RANDOM}
notmuch config set test${test_count}.${name} ${value}
@@ -240,7 +250,7 @@ EOF
output2=$(notmuch config get test${test_count}.${name})
test_expect_equal "${output}+${output2}" "${value}+"
- test_begin_subtest "Set config value in database ($config)"
+ config_subtest "Set config value in database" "$config"
name=${RANDOM}
value=${RANDOM}
notmuch config set --database test${test_count}.${name} ${value}
@@ -249,7 +259,7 @@ EOF
output2=$(notmuch config get test${test_count}.${name})
test_expect_equal "${output}+${output2}" "${value}+"
- test_begin_subtest "Config list ($config)"
+ config_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/" \
@@ -276,7 +286,7 @@ EOF
case $config in
XDG*)
- test_begin_subtest "Set shadowed config value in database ($config)"
+ config_subtest "Set shadowed config value in database" "$config"
name=${RANDOM}
value=${RANDOM}
key=test${test_count}.${name}
--
2.30.2
next prev parent reply other threads:[~2021-08-02 15:10 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-08 20:49 [kisara.moe] notmuch doesn't respect MAILDIR env for database path mohsin kaleem
2021-08-02 15:09 ` look in MAILDIR for database David Bremner
2021-08-02 15:09 ` David Bremner [this message]
2021-08-03 20:26 ` [PATCH 1/8] test/path-config: define config_subtest Tomi Ollila
2021-08-02 15:09 ` [PATCH 2/8] test/expect_equal_file: whitespace cleanup David Bremner
2021-08-02 15:09 ` [PATCH 3/8] test: factor out test_diff_file_ David Bremner
2021-08-02 15:09 ` [PATCH 4/8] test: add test_expect_equal_file_nonempty David Bremner
2021-08-02 15:09 ` [PATCH 5/8] test/path-config: use test_expect_equal_file_nonempty David Bremner
2021-08-02 15:09 ` [PATCH 6/8] test: add known broken tests for finding database via MAILDIR David Bremner
2021-08-02 15:09 ` [PATCH 7/8] lib/open: look in MAILDIR for database, as documented David Bremner
2021-08-02 15:09 ` [PATCH 8/8] doc: document database search algorithm David Bremner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://notmuchmail.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210802150922.3234616-2-david@tethera.net \
--to=david@tethera.net \
--cc=notmuch@notmuchmail.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).