mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-21 18:38:08 +01:00
02a2eeb427
The files (test) scripts source (with builtin command `.`) provides information which the scripts depend, and without the `source` to succeed allowing script to continue may lead to dangerous situations (e.g. rm -rf "${undefined_variable}"/*). At the end of all source (.) lines construct ' || exit 1' was added; In our case the script script will exit if it cannot find (or read) the file to be sourced. Additionally script would also exits if the last command of the sourced file exited nonzero.
48 lines
1.9 KiB
Bash
Executable file
48 lines
1.9 KiB
Bash
Executable file
#!/usr/bin/env bash
|
|
test_description="database version and feature compatibility"
|
|
|
|
. ./test-lib.sh || exit 1
|
|
|
|
test_begin_subtest "future database versions abort open"
|
|
${TEST_DIRECTORY}/make-db-version ${MAIL_DIR} 9999 ""
|
|
output=$(notmuch search x 2>&1 | sed 's/\(database at\) .*/\1 FILENAME/')
|
|
rm -rf ${MAIL_DIR}/.notmuch
|
|
test_expect_equal "$output" "\
|
|
Error: Notmuch database at FILENAME
|
|
has a newer database format version (9999) than supported by this
|
|
version of notmuch (3)."
|
|
|
|
test_begin_subtest "unknown 'rw' feature aborts read/write open"
|
|
${TEST_DIRECTORY}/make-db-version ${MAIL_DIR} 3 $'test feature\trw'
|
|
output=$(notmuch new 2>&1 | sed 's/\(database at\) .*/\1 FILENAME/')
|
|
rm -rf ${MAIL_DIR}/.notmuch
|
|
test_expect_equal "$output" "\
|
|
Error: Notmuch database at FILENAME
|
|
requires features (test feature)
|
|
not supported by this version of notmuch."
|
|
|
|
test_begin_subtest "unknown 'rw' feature aborts read-only open"
|
|
${TEST_DIRECTORY}/make-db-version ${MAIL_DIR} 3 $'test feature\trw'
|
|
output=$(notmuch search x 2>&1 | sed 's/\(database at\) .*/\1 FILENAME/')
|
|
rm -rf ${MAIL_DIR}/.notmuch
|
|
test_expect_equal "$output" "\
|
|
Error: Notmuch database at FILENAME
|
|
requires features (test feature)
|
|
not supported by this version of notmuch."
|
|
|
|
test_begin_subtest "unknown 'w' feature aborts read/write open"
|
|
${TEST_DIRECTORY}/make-db-version ${MAIL_DIR} 3 $'test feature\tw'
|
|
output=$(notmuch new 2>&1 | sed 's/\(database at\) .*/\1 FILENAME/')
|
|
rm -rf ${MAIL_DIR}/.notmuch
|
|
test_expect_equal "$output" "\
|
|
Error: Notmuch database at FILENAME
|
|
requires features (test feature)
|
|
not supported by this version of notmuch."
|
|
|
|
test_begin_subtest "unknown 'w' feature does not abort read-only open"
|
|
${TEST_DIRECTORY}/make-db-version ${MAIL_DIR} 3 $'test feature\tw'
|
|
output=$(notmuch search x 2>&1 | sed 's/\(database at\) .*/\1 FILENAME/')
|
|
rm -rf ${MAIL_DIR}/.notmuch
|
|
test_expect_equal "$output" ""
|
|
|
|
test_done
|