X-Git-Url: https://git.notmuchmail.org/git?a=blobdiff_plain;ds=sidebyside;f=test%2Ftest-lib.sh;h=5f7fa14172efc7a01d5c337540f9e771f84811f9;hb=5497b01c27ed217bc351d9995e0f46c3d6ff2442;hp=42dfde1399b8d43a5baef038411c53d8b2a5e7ad;hpb=60c599036e528bc8a856c3312f0222cc7b1fd32a;p=notmuch diff --git a/test/test-lib.sh b/test/test-lib.sh index 42dfde13..5f7fa141 100644 --- a/test/test-lib.sh +++ b/test/test-lib.sh @@ -49,15 +49,6 @@ unset CDPATH unset GREP_OPTIONS -case $(echo $GIT_TRACE |tr "[A-Z]" "[a-z]") in - 1|2|true) - echo "* warning: Some tests will not work if GIT_TRACE" \ - "is set as to trace on STDERR ! *" - echo "* warning: Please set GIT_TRACE to something" \ - "other than 1, 2 or true ! *" - ;; -esac - # Convenience # # A regexp to match 5 and 40 hexdigits @@ -163,7 +154,7 @@ then exit 0 fi -echo "Testing ${test_description}" +echo $(basename "$0"): "Testing ${test_description}" exec 5>&1 if test "$verbose" = "t" @@ -363,7 +354,7 @@ EOF increment_mtime "$(dirname "${gen_msg_filename}")" } -# Generate a new message and add it to the index. +# Generate a new message and add it to the database. # # All of the arguments and return values supported by generate_message # are also supported here, so see that function for details. @@ -373,6 +364,24 @@ add_message () notmuch new > /dev/null } +# Generate a corpus of email and add it to the database. +# +# This corpus is fixed, (it happens to be 50 messages from early in +# the history of the notmuch mailing list), which allows for reliably +# testing commands that need to operate on a not-totally-trivial +# number of messages. +add_email_corpus () +{ + rm -rf ${MAIL_DIR} + if [ -d ../corpus.mail ]; then + cp -a ../corpus.mail ${MAIL_DIR} + else + cp -a ../corpus ${MAIL_DIR} + notmuch new + cp -a ${MAIL_DIR} ../corpus.mail + fi +} + test_begin_subtest () { test_subtest_name="$1" @@ -394,7 +403,6 @@ test_expect_equal () expected="$2" if ! test_skip "$@" then - say >&3 "expecting success: diff $output $expected" if [ "$output" = "$expected" ]; then test_ok_ "$test_subtest_name" else @@ -403,15 +411,9 @@ test_expect_equal () echo "$output" > $testname.output test_failure_ "$test_subtest_name" "$(diff -u $testname.expected $testname.output)" fi - echo >&3 "" fi } -TEST_DIR=$(pwd)/test.$$ -MAIL_DIR=${TEST_DIR}/mail -export NOTMUCH_CONFIG=${TEST_DIR}/notmuch-config -NOTMUCH=notmuch - NOTMUCH_NEW () { notmuch new | grep -v -E -e '^Processed [0-9]*( total)? file|Found [0-9]* total file' @@ -500,7 +502,7 @@ test_run_ () { test_skip () { test_count=$(($test_count+1)) to_skip= - for skp in $GIT_SKIP_TESTS + for skp in $NOTMUCH_SKIP_TESTS do case $this_test.$test_count in $skp) @@ -531,7 +533,6 @@ test_expect_failure () { error "bug in the test script: not 2 or 3 parameters to test-expect-failure" if ! test_skip "$@" then - say >&3 "checking known breakage: $2" test_run_ "$2" if [ "$?" = 0 -a "$eval_ret" = 0 ] then @@ -540,7 +541,6 @@ test_expect_failure () { test_known_broken_failure_ "$1" fi fi - echo >&3 "" } test_expect_success () { @@ -549,7 +549,6 @@ test_expect_success () { error "bug in the test script: not 2 or 3 parameters to test-expect-success" if ! test_skip "$@" then - say >&3 "expecting success: $2" test_run_ "$2" if [ "$?" = 0 -a "$eval_ret" = 0 ] then @@ -558,7 +557,6 @@ test_expect_success () { test_failure_ "$@" fi fi - echo >&3 "" } test_expect_code () { @@ -567,7 +565,6 @@ test_expect_code () { error "bug in the test script: not 3 or 4 parameters to test-expect-code" if ! test_skip "$@" then - say >&3 "expecting exit code $1: $3" test_run_ "$3" if [ "$?" = 0 -a "$eval_ret" = "$1" ] then @@ -576,7 +573,6 @@ test_expect_code () { test_failure_ "$@" fi fi - echo >&3 "" } # test_external runs external test scripts that provide continuous @@ -622,7 +618,6 @@ test_external_without_stderr () { [ -f "$stderr" ] || error "Internal error: $stderr disappeared." descr="no stderr: $1" shift - say >&3 "expecting no stderr from previous command" if [ ! -s "$stderr" ]; then rm "$stderr" test_ok_ "$descr" @@ -782,7 +777,7 @@ then make_symlink "$symlink_target" "$GIT_VALGRIND/bin/$base" || exit } - # override all git executables in TEST_DIRECTORY/.. + # override notmuch executable in TEST_DIRECTORY/.. GIT_VALGRIND=$TEST_DIRECTORY/valgrind mkdir -p "$GIT_VALGRIND"/bin make_valgrind_symlink $TEST_DIRECTORY/../notmuch @@ -824,7 +819,7 @@ MAIL_DIR="${TMP_DIRECTORY}/mail" export NOTMUCH_CONFIG="${TMP_DIRECTORY}/notmuch-config" mkdir -p "${test}" -mkdir "$MAIL_DIR" +mkdir -p "${MAIL_DIR}" cat <"${NOTMUCH_CONFIG}" [database] @@ -843,10 +838,10 @@ cd -P "$test" || error "Cannot setup test environment" this_test=${0##*/} this_test=${this_test%%-*} -for skp in $GIT_SKIP_TESTS +for skp in $NOTMUCH_SKIP_TESTS do to_skip= - for skp in $GIT_SKIP_TESTS + for skp in $NOTMUCH_SKIP_TESTS do case "$this_test" in $skp)