${additional_headers}"
fi
+ # Note that in the way we're setting it above and using it below,
+ # `additional_headers' will also serve as the header / body separator
+ # (empty line in between).
-cat <<EOF >"$gen_msg_filename"
+ cat <<EOF >"$gen_msg_filename"
From: ${template[from]}
To: ${template[to]}
Message-Id: <${gen_msg_id}>
test_begin_subtest ()
{
+ if [ -n "$inside_subtest" ]; then
+ exec 1>&6 2>&7 # Restore stdout and stderr
+ error "bug in test script: Missing test_expect_equal in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}"
+ fi
test_subtest_name="$1"
# Remember stdout and stderr file descriptios and redirect test
# output to the previously prepared file descriptors 3 and 4 (see
- # bellow)
+ # below)
if test "$verbose" != "t"; then exec 4>test.output 3>&4; fi
exec 6>&1 7>&2 >&3 2>&4
+ inside_subtest=t
}
# Pass test if two arguments match
test_expect_equal ()
{
exec 1>&6 2>&7 # Restore stdout and stderr
+ inside_subtest=
test "$#" = 3 && { prereq=$1; shift; } || prereq=
test "$#" = 2 ||
error "bug in the test script: not 2 or 3 parameters to test_expect_equal"
test_expect_equal_failure ()
{
+ exec 1>&6 2>&7 # Restore stdout and stderr
+ inside_subtest=
test "$#" = 3 && { prereq=$1; shift; } || prereq=
test "$#" = 2 ||
error "bug in the test script: not 2 or 3 parameters to test_expect_equal"
test_known_broken_ok_ "$test_subtest_name"
else
test_known_broken_failure_ "$test_subtest_name"
+ testname=$this_test.$test_count
+ echo "$expected" > $testname.expected
+ echo "$output" > $testname.output
fi
fi
}
echo
if [ "$test_failure" = "0" ]; then
- rm -rf "$remove_tmp"
+ if [ "$test_broken" = "0" ]; then
+ rm -rf "$remove_tmp"
+ fi
exit 0
else
exit 1