mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
test: initial tests for external commands
The main goal is to test the setting of NOTMUCH_CONFIG, but also include a basic sanity test for execing scripts.
This commit is contained in:
parent
82957c9632
commit
eaa5199f5b
1 changed files with 55 additions and 0 deletions
55
test/T405-external.sh
Executable file
55
test/T405-external.sh
Executable file
|
@ -0,0 +1,55 @@
|
|||
#!/usr/bin/env bash
|
||||
test_description='hooks'
|
||||
. $(dirname "$0")/test-lib.sh || exit 1
|
||||
|
||||
create_echo_script () {
|
||||
local TOKEN="${RANDOM}"
|
||||
mkdir -p ${BIN_DIR}
|
||||
cat <<EOF >"${BIN_DIR}/${1}"
|
||||
#!/bin/sh
|
||||
echo "${TOKEN}" > ${3}
|
||||
EOF
|
||||
chmod +x "${BIN_DIR}/${1}"
|
||||
echo "${TOKEN}" > ${2}
|
||||
}
|
||||
|
||||
create_printenv_script () {
|
||||
mkdir -p ${BIN_DIR}
|
||||
cat <<EOF >"${BIN_DIR}/${1}"
|
||||
#!/bin/sh
|
||||
printenv "${2}" > "${3}"
|
||||
EOF
|
||||
chmod +x "${BIN_DIR}/${1}"
|
||||
}
|
||||
|
||||
# add a message to generate mail dir and database
|
||||
add_message
|
||||
|
||||
BIN_DIR=`pwd`/bin
|
||||
PATH=$BIN_DIR:$PATH
|
||||
|
||||
test_begin_subtest "'notmuch foo' runs notmuch-foo"
|
||||
rm -rf ${BIN_DIR}
|
||||
create_echo_script "notmuch-foo" EXPECTED OUTPUT $HOOK_DIR
|
||||
notmuch foo
|
||||
test_expect_equal_file_nonempty EXPECTED OUTPUT
|
||||
|
||||
create_printenv_script "notmuch-printenv" NOTMUCH_CONFIG OUTPUT
|
||||
|
||||
test_begin_subtest "NOTMUCH_CONFIG is set"
|
||||
notmuch printenv
|
||||
cat <<EOF > EXPECTED
|
||||
${NOTMUCH_CONFIG}
|
||||
EOF
|
||||
test_expect_equal_file_nonempty EXPECTED OUTPUT
|
||||
|
||||
test_begin_subtest "NOTMUCH_CONFIG is set by --config"
|
||||
test_subtest_known_broken
|
||||
cp "${NOTMUCH_CONFIG}" "${NOTMUCH_CONFIG}.alternate"
|
||||
cat <<EOF > EXPECTED
|
||||
${NOTMUCH_CONFIG}.alternate
|
||||
EOF
|
||||
notmuch --config "${NOTMUCH_CONFIG}.alternate" printenv
|
||||
test_expect_equal_file_nonempty EXPECTED OUTPUT
|
||||
|
||||
test_done
|
Loading…
Reference in a new issue