Re: [PATCH 3/3] test: cope with glass backend file naming variations
authorTomi Ollila <tomi.ollila@iki.fi>
Thu, 7 Apr 2016 13:57:56 +0000 (16:57 +0300)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 23:21:30 +0000 (16:21 -0700)
5f/2b81eed46891db5d755121073752638294a454 [new file with mode: 0644]

diff --git a/5f/2b81eed46891db5d755121073752638294a454 b/5f/2b81eed46891db5d755121073752638294a454
new file mode 100644 (file)
index 0000000..5bd765c
--- /dev/null
@@ -0,0 +1,188 @@
+Return-Path: <tomi.ollila@iki.fi>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+ by arlo.cworth.org (Postfix) with ESMTP id D83C46DE02B5\r
+ for <notmuch@notmuchmail.org>; Thu,  7 Apr 2016 06:57:56 -0700 (PDT)\r
+X-Virus-Scanned: Debian amavisd-new at cworth.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 0.624\r
+X-Spam-Level: \r
+X-Spam-Status: No, score=0.624 tagged_above=-999 required=5 tests=[AWL=-0.028,\r
+  SPF_NEUTRAL=0.652] autolearn=disabled\r
+Received: from arlo.cworth.org ([127.0.0.1])\r
+ by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024)\r
+ with ESMTP id Sk1rRZAQ4V2x for <notmuch@notmuchmail.org>;\r
+ Thu,  7 Apr 2016 06:57:48 -0700 (PDT)\r
+Received: from guru.guru-group.fi (guru.guru-group.fi [46.183.73.34])\r
+ by arlo.cworth.org (Postfix) with ESMTP id 9C6DB6DE0134\r
+ for <notmuch@notmuchmail.org>; Thu,  7 Apr 2016 06:57:47 -0700 (PDT)\r
+Received: from guru.guru-group.fi (localhost [IPv6:::1])\r
+ by guru.guru-group.fi (Postfix) with ESMTP id A05A91000E0;\r
+ Thu,  7 Apr 2016 16:57:56 +0300 (EEST)\r
+From: Tomi Ollila <tomi.ollila@iki.fi>\r
+To: David Bremner <david@tethera.net>, David Bremner <david@tethera.net>,\r
+ notmuch@notmuchmail.org\r
+Subject: Re: [PATCH 3/3] test: cope with glass backend file naming variations\r
+In-Reply-To: <1459938431-28670-4-git-send-email-david@tethera.net>\r
+References: <1459855082-5715-2-git-send-email-david@tethera.net>\r
+ <1459938431-28670-1-git-send-email-david@tethera.net>\r
+ <1459938431-28670-4-git-send-email-david@tethera.net>\r
+User-Agent: Notmuch/0.21+99~g7cbc880 (http://notmuchmail.org) Emacs/24.3.1\r
+ (x86_64-unknown-linux-gnu)\r
+X-Face: HhBM'cA~<r"^Xv\KRN0P{vn'Y"Kd;zg_y3S[4)KSN~s?O\"QPoL\r
+ $[Xv_BD:i/F$WiEWax}R(MPS`^UaptOGD`*/=@\1lKoVa9tnrg0TW?"r7aRtgk[F\r
+ !)g;OY^,BjTbr)Np:%c_o'jj,Z\r
+Date: Thu, 07 Apr 2016 16:57:56 +0300\r
+Message-ID: <m27fg9ldwb.fsf@guru.guru-group.fi>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.20\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+ <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <https://notmuchmail.org/mailman/options/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch/>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <https://notmuchmail.org/mailman/listinfo/notmuch>,\r
+ <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Thu, 07 Apr 2016 13:57:57 -0000\r
+\r
+On Wed, Apr 06 2016, David Bremner <david@tethera.net> wrote:\r
+\r
+> In several places in the test suite we intentionally corrupt the Xapian\r
+> database in order to test error handling. This corruption is specific to\r
+> the on-disk organization of the database, and that changed with the\r
+> glass backend.  Hopefully introducing a new backend will be a relatively\r
+> rare event, so that hardcoding the names of backends in the test suite\r
+> is good enough.\r
+> ---\r
+>  test/T050-new.sh           |  2 +-\r
+>  test/T060-count.sh         |  2 ++\r
+>  test/T150-tagging.sh       |  4 ++--\r
+>  test/T360-symbol-hiding.sh |  4 ++--\r
+>  test/T560-lib-error.sh     | 10 ++++++++--\r
+>  5 files changed, 15 insertions(+), 7 deletions(-)\r
+>\r
+> diff --git a/test/T050-new.sh b/test/T050-new.sh\r
+> index 93a6fa9..fc93bfd 100755\r
+> --- a/test/T050-new.sh\r
+> +++ b/test/T050-new.sh\r
+> @@ -284,7 +284,7 @@ notmuch config set new.tags $OLDCONFIG\r
+>  \r
+>  \r
+>  test_begin_subtest "Xapian exception: read only files"\r
+> -chmod u-w  ${MAIL_DIR}/.notmuch/xapian/*.DB\r
+> +chmod u-w  ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass}\r
+\r
+if either of these is missing, bash will by default expand like\r
+.../.notmuch/xapian/*.DB or .../.notmuch/xapian/*.glass\r
+\r
+shopt -s nullglob\r
+\r
+could be added to remove this expansion (and make chmod not yell on error)\r
+\r
+>  output=$(NOTMUCH_NEW --debug 2>&1 | sed 's/: .*$//' )\r
+>  chmod u+w  ${MAIL_DIR}/.notmuch/xapian/*.DB\r
+\r
+Why here the same expansion as above is not done ?\r
+\r
+>  test_expect_equal "$output" "A Xapian exception occurred opening database"\r
+> diff --git a/test/T060-count.sh b/test/T060-count.sh\r
+> index 3fec94e..f1df4a2 100755\r
+> --- a/test/T060-count.sh\r
+> +++ b/test/T060-count.sh\r
+> @@ -96,6 +96,7 @@ test_expect_equal_file EXPECTED OUTPUT\r
+>  backup_database\r
+>  test_begin_subtest "error message for database open"\r
+>  dd if=/dev/zero of="${MAIL_DIR}/.notmuch/xapian/postlist.DB" count=3\r
+> +dd if=/dev/zero of="${MAIL_DIR}/.notmuch/xapian/postlist.glass" count=3\r
+>  notmuch count '*' 2>OUTPUT 1>/dev/null\r
+>  output=$(sed 's/^\(A Xapian exception [^:]*\):.*$/\1/' OUTPUT)\r
+>  test_expect_equal "${output}" "A Xapian exception occurred opening database"\r
+> @@ -106,6 +107,7 @@ set breakpoint pending on\r
+>  break count_files\r
+>  commands\r
+>  shell cp /dev/null ${MAIL_DIR}/.notmuch/xapian/postlist.DB\r
+> +shell cp /dev/null ${MAIL_DIR}/.notmuch/xapian/postlist.glass\r
+>  continue\r
+>  end\r
+>  run\r
+> diff --git a/test/T150-tagging.sh b/test/T150-tagging.sh\r
+> index 8adcabc..601d091 100755\r
+> --- a/test/T150-tagging.sh\r
+> +++ b/test/T150-tagging.sh\r
+> @@ -287,9 +287,9 @@ test_expect_code 1 "Empty tag names" 'notmuch tag + One'\r
+>  test_expect_code 1 "Tag name beginning with -" 'notmuch tag +- One'\r
+>  \r
+>  test_begin_subtest "Xapian exception: read only files"\r
+> -chmod u-w  ${MAIL_DIR}/.notmuch/xapian/*.DB\r
+> +chmod u-w  ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass}\r
+\r
+nullglob again\r
+\r
+>  output=$(notmuch tag +something '*' 2>&1 | sed 's/: .*$//' )\r
+> -chmod u+w  ${MAIL_DIR}/.notmuch/xapian/*.DB\r
+> +chmod u+w  ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass}\r
+\r
+Here you've done that same expansion :D\r
+\r
+>  test_expect_equal "$output" "A Xapian exception occurred opening database"\r
+>  \r
+>  test_done\r
+> diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh\r
+> index 89e7f16..2ccdc63 100755\r
+> --- a/test/T360-symbol-hiding.sh\r
+> +++ b/test/T360-symbol-hiding.sh\r
+> @@ -15,11 +15,11 @@ test_begin_subtest 'running test' run_test\r
+>  mkdir -p ${PWD}/fakedb/.notmuch\r
+>  ( LD_LIBRARY_PATH="$TEST_DIRECTORY/../lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \\r
+>               $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent \\r
+> -             2>&1 | notmuch_dir_sanitize | sed "s,\`,\',g") > OUTPUT\r
+> +             2>&1 | notmuch_dir_sanitize | sed -e "s,\`,\',g" -e 's,chert\|glass,foo,g') > OUTPUT\r
+>  \r
+>  cat <<EOF > EXPECTED\r
+>  A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian'\r
+> -caught No chert database found at path 'CWD/nonexistent'\r
+> +caught No foo database found at path 'CWD/nonexistent'\r
+>  EOF\r
+>  test_expect_equal_file EXPECTED OUTPUT\r
+>  \r
+> diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh\r
+> index 49d3674..7c5748b 100755\r
+> --- a/test/T560-lib-error.sh\r
+> +++ b/test/T560-lib-error.sh\r
+> @@ -189,7 +189,13 @@ Path already exists: MAIL_DIR\r
+>  EOF\r
+>  test_expect_equal_file EXPECTED OUTPUT\r
+>  \r
+> -cat <<'EOF' > c_head\r
+> +if [ -f "${MAIL_DIR}"/.notmuch/xapian/iamglass ]; then\r
+> +    db_ending=glass\r
+> +else\r
+> +    db_ending=DB\r
+> +fi\r
+> +\r
+> +cat <<EOF > c_head\r
+>  #include <stdio.h>\r
+>  #include <sys/types.h>\r
+>  #include <sys/stat.h>\r
+> @@ -210,7 +216,7 @@ int main (int argc, char** argv)\r
+>       fprintf (stderr, "error opening database: %d %s\n", stat, msg ? msg : "");\r
+>       exit (1);\r
+>     }\r
+> -   path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.DB", argv[1]);\r
+> +   path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.${db_ending}", argv[1]);\r
+>     fd = open(path,O_WRONLY|O_TRUNC);\r
+>     if (fd < 0) {\r
+>         fprintf (stderr, "error opening %s\n", argv[1]);\r
+> -- \r
+> 2.8.0.rc3\r
+>\r
+> _______________________________________________\r
+> notmuch mailing list\r
+> notmuch@notmuchmail.org\r
+> https://notmuchmail.org/mailman/listinfo/notmuch\r