From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0.migadu.com with LMTPS id MJ3CJDpvCmEfAQEAgWs5BA (envelope-from ) for ; Wed, 04 Aug 2021 12:43:06 +0200 Received: from aspmx1.migadu.com ([2001:41d0:8:6d80::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id mFV0IDpvCmEdZwAAB5/wlQ (envelope-from ) for ; Wed, 04 Aug 2021 10:43:06 +0000 Received: from mail.notmuchmail.org (nmbug.tethera.net [IPv6:2607:5300:201:3100::1657]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 1E218AABE for ; Wed, 4 Aug 2021 12:43:06 +0200 (CEST) Received: from nmbug.tethera.net (localhost [127.0.0.1]) by mail.notmuchmail.org (Postfix) with ESMTP id AC9902C0E3; Wed, 4 Aug 2021 06:42:50 -0400 (EDT) Received: from fethera.tethera.net (fethera.tethera.net [IPv6:2607:5300:60:c5::1]) by mail.notmuchmail.org (Postfix) with ESMTP id 53EBC2C0B0 for ; Wed, 4 Aug 2021 06:42:45 -0400 (EDT) Received: by fethera.tethera.net (Postfix, from userid 1001) id 4A53E5FD5C; Wed, 4 Aug 2021 06:42:45 -0400 (EDT) Received: (nullmailer pid 3986528 invoked by uid 1000); Wed, 04 Aug 2021 10:42:42 -0000 From: David Bremner To: notmuch@notmuchmail.org Cc: David Bremner Subject: [PATCH 5/7] test: add known broken tests for finding database via MAILDIR Date: Wed, 4 Aug 2021 07:42:34 -0300 Message-Id: <20210804104236.3986362-6-david@tethera.net> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210804104236.3986362-1-david@tethera.net> References: <20210804104236.3986362-1-david@tethera.net> MIME-Version: 1.0 Message-ID-Hash: APIHHEQUOBEUECRLAE36VDQZ6YHJUU4S X-Message-ID-Hash: APIHHEQUOBEUECRLAE36VDQZ6YHJUU4S X-MailFrom: bremner@tethera.net X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-notmuch.notmuchmail.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header X-Mailman-Version: 3.2.1 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Help: List-Post: List-Subscribe: List-Unsubscribe: Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Migadu-Flow: FLOW_IN ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1628073786; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:list-id:list-help: list-unsubscribe:list-subscribe:list-post; bh=2ZvkajDCiBBzL3dhPM6pmsOjh/zh1AQ7vLp1TnF8i+k=; b=VxHpROwnHHtJ0zY3qoNnKod0g/DbF6TClWTGK2eXTy5JpU0ulj78kKahs16m2rpUG+GSPw dYF+qvR5jQy7VH/YGqU8rl3jTHIpJT4nQfLRiT2TfhngejrJsM077FurcMkVUjn5pYWu9h feiqOzxnbAxxUfiR7F0k9IgUDhvGT5a0+L3L/kV0RdUT9sBRNSOQOAyDinrw5yZo2s67G+ b9XOqxsp9I2TxhMbma5GAT9Hy4pvttaSfs4ywmm/qBjtxDkD6fVN4+bitei1dleUmrcnVU 2HlHAJn2CTNHBStnnclgr5Tu4Xwhm6Gt7NwzDfOgbgE4EUoD5hpzgEmpp3bUuw== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1628073786; a=rsa-sha256; cv=none; b=Tci1zhpPcGEBXMJHSVIEtjgdbdUtCeKsUyB+9xYW5ByLPz9XoocDW83Rr6PG4SeOSguA0O cZZ4e2J+kxZ0ihk318Yhf+neI8xaBFPsO9TtpsTZg1gvfIOAkSF6XoV+pELGgeJgb+2xAI 6ZX8muOvVhs3E0iQdCUz4rWETmAL9IsValTmHeXbHllF4bsAWdmQqOeeYh2bviArppaNAl qF/Oz8q6Ui4rVb7o+UPhWP2vMlQdrGqMSflSj/ZsCuW60N+XZdgRsDr/NvY5Ud5+2+L1Bi Q1g+PmR2V6YNJ3gmQegX3xq2Uwc0SSRLemmTTIKrKlRoQ7XhEIabL/CRVUBkZA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2607:5300:201:3100::1657 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Spam-Score: -0.98 Authentication-Results: aspmx1.migadu.com; dkim=none; dmarc=none; spf=pass (aspmx1.migadu.com: domain of notmuch-bounces@notmuchmail.org designates 2607:5300:201:3100::1657 as permitted sender) smtp.mailfrom=notmuch-bounces@notmuchmail.org X-Migadu-Queue-Id: 1E218AABE X-Spam-Score: -0.98 X-Migadu-Scanner: scn0.migadu.com X-TUID: rl6maAoCKG5m 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 <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 @@ -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 "' \ [to]=test_suite@notmuchmail.org \ [subject]=notmuch-reply-test \ @@ -190,7 +217,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\"" \ @@ -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 < EXPECTED built_with.compact=true built_with.field_processor=true -- 2.30.2