unofficial mirror of notmuch@notmuchmail.org
 help / color / mirror / code / Atom feed
From: David Bremner <david@tethera.net>
To: notmuch@notmuchmail.org
Cc: David Bremner <david@tethera.net>
Subject: [PATCH 5/7] test: add known broken tests for finding database via MAILDIR
Date: Wed,  4 Aug 2021 07:42:34 -0300	[thread overview]
Message-ID: <20210804104236.3986362-6-david@tethera.net> (raw)
In-Reply-To: <20210804104236.3986362-1-david@tethera.net>

This highlights a bug reported by several users, including
Mohsin Kaleem [1].

The use of test_begin_subtest is because these tests pass even though
the database cannot be located.

[1]: id:87bl9lx864.fsf@kisara.moe
---
 test/T055-path-config.sh | 47 +++++++++++++++++++++++++++++++++++-----
 1 file changed, 41 insertions(+), 6 deletions(-)

diff --git a/test/T055-path-config.sh b/test/T055-path-config.sh
index 8271579f..4cec8f18 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
@@ -137,6 +157,7 @@ EOF
     test_expect_equal_file EXPECTED OUTPUT
 
     test_begin_subtest "dump + tag + restore ($config)"
+    [[ "$config" = "maildir_env" ]] && test_subtest_known_broken
     notmuch dump '*' > EXPECTED
     notmuch tag -inbox '*'
     notmuch restore < EXPECTED
@@ -144,22 +165,26 @@ EOF
     test_expect_equal_file_nonempty EXPECTED OUTPUT
 
     test_begin_subtest "reindex ($config)"
+    [[ "$config" = "maildir_env" ]] && test_subtest_known_broken
     notmuch search --output=messages '*' > EXPECTED
     notmuch reindex '*'
     notmuch search --output=messages '*' > OUTPUT
     test_expect_equal_file_nonempty 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 +192,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_nonempty $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 +217,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\"" \
@@ -201,12 +230,14 @@ EOF
     test_expect_equal_file_nonempty "$cur_msg_filename" "$gen_msg_filename"
 
     test_begin_subtest "compact+search ($config)"
+    [[ "$config" = "maildir_env" ]] && test_subtest_known_broken
     notmuch search --output=messages '*' | sort > EXPECTED
     notmuch compact
     notmuch search --output=messages '*' | sort > OUTPUT
     test_expect_equal_file_nonempty 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)
@@ -240,6 +271,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}
@@ -249,11 +281,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
-- 
2.30.2

  parent reply	other threads:[~2021-08-04 10:43 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-04 10:42 v2 look in MAILDIR for database David Bremner
2021-08-04 10:42 ` [PATCH 1/7] test/expect_equal_file: whitespace cleanup David Bremner
2021-08-22  2:44   ` David Bremner
2021-08-04 10:42 ` [PATCH 2/7] test: factor out test_diff_file_ David Bremner
2021-08-04 10:42 ` [PATCH 3/7] test: add test_expect_equal_file_nonempty David Bremner
2021-08-04 10:42 ` [PATCH 4/7] test/path-config: use test_expect_equal_file_nonempty David Bremner
2021-08-21 20:41   ` Tomi Ollila
2021-08-04 10:42 ` David Bremner [this message]
2021-08-04 10:42 ` [PATCH 6/7] lib/open: look in MAILDIR for database, as documented David Bremner
2021-08-04 10:42 ` [PATCH 7/7] doc: document database search algorithm David Bremner
2021-08-21 15:03   ` 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=20210804104236.3986362-6-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).