aboutsummaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
authorGravatar Austin Clements <amdragon@MIT.EDU>2013-12-23 15:20:36 -0500
committerGravatar David Bremner <david@tethera.net>2013-12-28 09:19:51 -0400
commitef7b77ea3b1b23d29af3f0d8d9393b94b3ada993 (patch)
tree33bf2f80a39cdf5f34cc5f3bea12bfe076e1c4e6 /test
parent30cde97ba87d7eb60ce4b0aa1c60d0ee6487fac9 (diff)
test: Fix transient error in 'new' test
This fixes a non-deterministic failure in "Ignore files and directories specified in new.ignore (multiple occurrences)". The test assumed that all directories would be scanned, even though nothing updated the mtime of ${MAIL_DIR}. It *usually* worked nevertheless because the tests run quickly enough that the directory mtime is usually the same as the current time, so notmuch new does not update the mtime in the database (because more changes could occur in the same second). However, when it occasionally did update the mtime in the database, the notmuch new call in this test would (correctly) skip "pass 2" of scanning ${MAIL_DIR}, causing it to skip the following expected lines: (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/.git (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/.ignored_hidden_file (D) add_files_recursive, pass 2: explicitly ignoring ${MAIL_DIR}/ignored_file This patch fixes this problem by touching ${MAIL_DIR} to ensure it gets scanned and by rearranging the test to ensure the directories are touched immediately before the main notmuch new call in the test.
Diffstat (limited to 'test')
-rwxr-xr-xtest/new3
1 files changed, 2 insertions, 1 deletions
diff --git a/test/new b/test/new
index 3eff2fe9..f27423da 100755
--- a/test/new
+++ b/test/new
@@ -218,9 +218,10 @@ test_expect_equal "$output" "Added 1 new message to the database."
test_begin_subtest "Ignore files and directories specified in new.ignore (multiple occurrences)"
notmuch config set new.ignore .git ignored_file .ignored_hidden_file
+notmuch new > /dev/null # ensure that files/folders will be printed in ASCII order.
touch "${MAIL_DIR}"/.git # change .git's mtime for notmuch new to rescan.
+touch "${MAIL_DIR}" # likewise for MAIL_DIR
mkdir -p "${MAIL_DIR}"/one/two/three/.git
-notmuch new > /dev/null # ensure that files/folders will be printed in ASCII order.
touch "${MAIL_DIR}"/{one,one/two,one/two/three}/ignored_file
output=$(NOTMUCH_NEW --debug 2>&1 | sort)
test_expect_equal "$output" \