From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id C4CC06DE0319 for ; Wed, 6 Apr 2016 03:27:35 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.02 X-Spam-Level: X-Spam-Status: No, score=-0.02 tagged_above=-999 required=5 tests=[AWL=-0.009, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id omclZ2_7KJsS for ; Wed, 6 Apr 2016 03:27:28 -0700 (PDT) Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id AD6BA6DE02C2 for ; Wed, 6 Apr 2016 03:27:20 -0700 (PDT) Received: from remotemail by fethera.tethera.net with local (Exim 4.84) (envelope-from ) id 1ankgk-00033U-17; Wed, 06 Apr 2016 06:27:54 -0400 Received: (nullmailer pid 28742 invoked by uid 1000); Wed, 06 Apr 2016 10:27:16 -0000 From: David Bremner To: David Bremner , notmuch@notmuchmail.org Subject: [PATCH 3/3] test: cope with glass backend file naming variations Date: Wed, 6 Apr 2016 07:27:11 -0300 Message-Id: <1459938431-28670-4-git-send-email-david@tethera.net> X-Mailer: git-send-email 2.8.0.rc3 In-Reply-To: <1459938431-28670-1-git-send-email-david@tethera.net> References: <1459855082-5715-2-git-send-email-david@tethera.net> <1459938431-28670-1-git-send-email-david@tethera.net> X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Apr 2016 10:27:35 -0000 In several places in the test suite we intentionally corrupt the Xapian database in order to test error handling. This corruption is specific to the on-disk organization of the database, and that changed with the glass backend. Hopefully introducing a new backend will be a relatively rare event, so that hardcoding the names of backends in the test suite is good enough. --- test/T050-new.sh | 2 +- test/T060-count.sh | 2 ++ test/T150-tagging.sh | 4 ++-- test/T360-symbol-hiding.sh | 4 ++-- test/T560-lib-error.sh | 10 ++++++++-- 5 files changed, 15 insertions(+), 7 deletions(-) diff --git a/test/T050-new.sh b/test/T050-new.sh index 93a6fa9..fc93bfd 100755 --- a/test/T050-new.sh +++ b/test/T050-new.sh @@ -284,7 +284,7 @@ notmuch config set new.tags $OLDCONFIG test_begin_subtest "Xapian exception: read only files" -chmod u-w ${MAIL_DIR}/.notmuch/xapian/*.DB +chmod u-w ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass} output=$(NOTMUCH_NEW --debug 2>&1 | sed 's/: .*$//' ) chmod u+w ${MAIL_DIR}/.notmuch/xapian/*.DB test_expect_equal "$output" "A Xapian exception occurred opening database" diff --git a/test/T060-count.sh b/test/T060-count.sh index 3fec94e..f1df4a2 100755 --- a/test/T060-count.sh +++ b/test/T060-count.sh @@ -96,6 +96,7 @@ test_expect_equal_file EXPECTED OUTPUT backup_database test_begin_subtest "error message for database open" dd if=/dev/zero of="${MAIL_DIR}/.notmuch/xapian/postlist.DB" count=3 +dd if=/dev/zero of="${MAIL_DIR}/.notmuch/xapian/postlist.glass" count=3 notmuch count '*' 2>OUTPUT 1>/dev/null output=$(sed 's/^\(A Xapian exception [^:]*\):.*$/\1/' OUTPUT) test_expect_equal "${output}" "A Xapian exception occurred opening database" @@ -106,6 +107,7 @@ set breakpoint pending on break count_files commands shell cp /dev/null ${MAIL_DIR}/.notmuch/xapian/postlist.DB +shell cp /dev/null ${MAIL_DIR}/.notmuch/xapian/postlist.glass continue end run diff --git a/test/T150-tagging.sh b/test/T150-tagging.sh index 8adcabc..601d091 100755 --- a/test/T150-tagging.sh +++ b/test/T150-tagging.sh @@ -287,9 +287,9 @@ test_expect_code 1 "Empty tag names" 'notmuch tag + One' test_expect_code 1 "Tag name beginning with -" 'notmuch tag +- One' test_begin_subtest "Xapian exception: read only files" -chmod u-w ${MAIL_DIR}/.notmuch/xapian/*.DB +chmod u-w ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass} output=$(notmuch tag +something '*' 2>&1 | sed 's/: .*$//' ) -chmod u+w ${MAIL_DIR}/.notmuch/xapian/*.DB +chmod u+w ${MAIL_DIR}/.notmuch/xapian/{*.DB,*.glass} test_expect_equal "$output" "A Xapian exception occurred opening database" test_done diff --git a/test/T360-symbol-hiding.sh b/test/T360-symbol-hiding.sh index 89e7f16..2ccdc63 100755 --- a/test/T360-symbol-hiding.sh +++ b/test/T360-symbol-hiding.sh @@ -15,11 +15,11 @@ test_begin_subtest 'running test' run_test mkdir -p ${PWD}/fakedb/.notmuch ( LD_LIBRARY_PATH="$TEST_DIRECTORY/../lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" \ $TEST_DIRECTORY/symbol-test ${PWD}/fakedb ${PWD}/nonexistent \ - 2>&1 | notmuch_dir_sanitize | sed "s,\`,\',g") > OUTPUT + 2>&1 | notmuch_dir_sanitize | sed -e "s,\`,\',g" -e 's,chert\|glass,foo,g') > OUTPUT cat < EXPECTED A Xapian exception occurred opening database: Couldn't stat 'CWD/fakedb/.notmuch/xapian' -caught No chert database found at path 'CWD/nonexistent' +caught No foo database found at path 'CWD/nonexistent' EOF test_expect_equal_file EXPECTED OUTPUT diff --git a/test/T560-lib-error.sh b/test/T560-lib-error.sh index 49d3674..7c5748b 100755 --- a/test/T560-lib-error.sh +++ b/test/T560-lib-error.sh @@ -189,7 +189,13 @@ Path already exists: MAIL_DIR EOF test_expect_equal_file EXPECTED OUTPUT -cat <<'EOF' > c_head +if [ -f "${MAIL_DIR}"/.notmuch/xapian/iamglass ]; then + db_ending=glass +else + db_ending=DB +fi + +cat < c_head #include #include #include @@ -210,7 +216,7 @@ int main (int argc, char** argv) fprintf (stderr, "error opening database: %d %s\n", stat, msg ? msg : ""); exit (1); } - path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.DB", argv[1]); + path = talloc_asprintf (db, "%s/.notmuch/xapian/postlist.${db_ending}", argv[1]); fd = open(path,O_WRONLY|O_TRUNC); if (fd < 0) { fprintf (stderr, "error opening %s\n", argv[1]); -- 2.8.0.rc3