X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2FT400-hooks.sh;h=a2b67d59b5de42abdb162e71be8c02025cd23c53;hb=7d286f0272feb08aea8c1bee0b0ec6cd9766aee7;hp=a3dd4c6308941674c96b434525faead831f042ce;hpb=13efbd0e1c88fcbdb48b4c30c7852c5bf1fbd0b7;p=notmuch diff --git a/test/T400-hooks.sh b/test/T400-hooks.sh index a3dd4c63..a2b67d59 100755 --- a/test/T400-hooks.sh +++ b/test/T400-hooks.sh @@ -2,6 +2,8 @@ test_description='hooks' . $(dirname "$0")/test-lib.sh || exit 1 +test_require_external_prereq xapian-delve + create_echo_hook () { local TOKEN="${RANDOM}" mkdir -p ${HOOK_DIR} @@ -13,6 +15,19 @@ EOF echo "${TOKEN}" > ${2} } +create_write_hook () { + local TOKEN="${RANDOM}" + mkdir -p ${HOOK_DIR} + cat <"${HOOK_DIR}/${1}" +#!/bin/sh +if xapian-delve ${MAIL_DIR}/.notmuch/xapian | grep -q "writing = false"; then + echo "${TOKEN}" > ${3} +fi +EOF + chmod +x "${HOOK_DIR}/${1}" + echo "${TOKEN}" > ${2} +} + create_failing_hook () { local HOOK_DIR=${2} mkdir -p ${HOOK_DIR} @@ -137,6 +152,19 @@ EOF chmod +x "${HOOK_DIR}/pre-new" test_expect_code 1 "notmuch new" + test_begin_subtest "post-new with write access [${config}]" + rm -rf ${HOOK_DIR} + create_write_hook "post-new" write.expected write.output $HOOK_DIR + NOTMUCH_NEW + test_expect_equal_file write.expected write.output + + test_begin_subtest "pre-new with write access [${config}]" + test_subtest_known_broken + rm -rf ${HOOK_DIR} + create_write_hook "pre-new" write.expected write.output $HOOK_DIR + NOTMUCH_NEW + test_expect_equal_file write.expected write.output + rm -rf ${HOOK_DIR} done test_done