notmuch new > /dev/null
}
-pass_if_equal ()
+test_begin_subtest ()
{
- output=$1
- expected=$2
+ test_subtest_name="$1"
+}
- if [ "$output" = "$expected" ]; then
- true
- else
- testname=$this_test.$test_count
- echo "$expected" > $testname.expected
- echo "$output" > $testname.output
- diff -u $testname.expected $testname.output
- false
+# Pass test if two arguments match
+#
+# Note: Unlike all other test_expect_* functions, this function does
+# not accept a test name. Instead, the caller should call
+# test_begin_subtest before calling this function in order to set the
+# name.
+test_expect_equal ()
+{
+ test "$#" = 3 && { prereq=$1; shift; } || prereq=
+ test "$#" = 2 ||
+ error "bug in the test script: not 2 or 3 parameters to test_expect_equal"
+
+ output="$1"
+ expected="$2"
+ if ! test_skip "$@"
+ then
+ say >&3 "expecting success: diff $output $expected"
+ if [ "$output" = "$expected" ]; then
+ test_ok_ "$test_subtest_name"
+ else
+ testname=$this_test.$test_count
+ echo "$expected" > $testname.expected
+ echo "$output" > $testname.output
+ test_failure_ "$test_subtest_name" "$(diff -u $testname.expected $testname.output)"
+ fi
+ echo >&3 ""
fi
}
# Test the binaries we have just built. The tests are kept in
# test/ subdirectory and are run in 'trash directory' subdirectory.
TEST_DIRECTORY=$(pwd)
-# FIXME: Only the normal case bellow is updated to notmuch
if test -n "$valgrind"
then
make_symlink () {
# override all git executables in TEST_DIRECTORY/..
GIT_VALGRIND=$TEST_DIRECTORY/valgrind
mkdir -p "$GIT_VALGRIND"/bin
- for file in $TEST_DIRECTORY/../git* $TEST_DIRECTORY/../test-*
- do
- make_valgrind_symlink $file
- done
+ make_valgrind_symlink $TEST_DIRECTORY/../notmuch
OLDIFS=$IFS
IFS=:
for path in $PATH
do
- ls "$path"/git-* 2> /dev/null |
+ ls "$path"/notmuch 2> /dev/null |
while read file
do
make_valgrind_symlink "$file"
PATH=$GIT_VALGRIND/bin:$PATH
GIT_EXEC_PATH=$GIT_VALGRIND/bin
export GIT_VALGRIND
-elif test -n "$GIT_TEST_INSTALLED" ; then
- GIT_EXEC_PATH=$($GIT_TEST_INSTALLED/git --exec-path) ||
- error "Cannot run git from $GIT_TEST_INSTALLED."
- PATH=$GIT_TEST_INSTALLED:$TEST_DIRECTORY/..:$PATH
- GIT_EXEC_PATH=${GIT_TEST_EXEC_PATH:-$GIT_EXEC_PATH}
else # normal case
notmuch_path=`find_notmuch_path "$TEST_DIRECTORY"`
test -n "$notmuch_path" && PATH="$notmuch_path:$PATH"