t5100-mailinfo: replace common path prefix with variable

Many tests need to store data in a file, and repeat the same pattern to
refer to that path:

    "$TEST_DIRECTORY"/t5100/

Create a variable that contains this path, and use that instead.

While we're making this change, make sure the quotes are not just around
the variable, but around the entire string to not give the impression
we want shell splitting to affect the other variables.

Signed-off-by: Kevin Daudt <me@ikke.info>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Kevin Daudt
2016-09-28 21:52:31 +02:00
committed by Junio C Hamano
parent 7c0304af62
commit ee4d679f57

View File

@ -7,8 +7,10 @@ test_description='git mailinfo and git mailsplit test'
. ./test-lib.sh . ./test-lib.sh
DATA="$TEST_DIRECTORY/t5100"
test_expect_success 'split sample box' \ test_expect_success 'split sample box' \
'git mailsplit -o. "$TEST_DIRECTORY"/t5100/sample.mbox >last && 'git mailsplit -o. "$DATA/sample.mbox" >last &&
last=$(cat last) && last=$(cat last) &&
echo total is $last && echo total is $last &&
test $(cat last) = 17' test $(cat last) = 17'
@ -16,28 +18,28 @@ test_expect_success 'split sample box' \
check_mailinfo () { check_mailinfo () {
mail=$1 opt=$2 mail=$1 opt=$2
mo="$mail$opt" mo="$mail$opt"
git mailinfo -u $opt msg$mo patch$mo <$mail >info$mo && git mailinfo -u $opt "msg$mo" "patch$mo" <"$mail" >"info$mo" &&
test_cmp "$TEST_DIRECTORY"/t5100/msg$mo msg$mo && test_cmp "$DATA/msg$mo" "msg$mo" &&
test_cmp "$TEST_DIRECTORY"/t5100/patch$mo patch$mo && test_cmp "$DATA/patch$mo" "patch$mo" &&
test_cmp "$TEST_DIRECTORY"/t5100/info$mo info$mo test_cmp "$DATA/info$mo" "info$mo"
} }
for mail in 00* for mail in 00*
do do
test_expect_success "mailinfo $mail" ' test_expect_success "mailinfo $mail" '
check_mailinfo $mail "" && check_mailinfo "$mail" "" &&
if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors if test -f "$DATA/msg$mail--scissors"
then then
check_mailinfo $mail --scissors check_mailinfo "$mail" --scissors
fi && fi &&
if test -f "$TEST_DIRECTORY"/t5100/msg$mail--no-inbody-headers if test -f "$DATA/msg$mail--no-inbody-headers"
then then
check_mailinfo $mail --no-inbody-headers check_mailinfo "$mail" --no-inbody-headers
fi && fi &&
if test -f "$TEST_DIRECTORY"/t5100/msg$mail--message-id if test -f "$DATA/msg$mail--message-id"
then then
check_mailinfo $mail --message-id check_mailinfo "$mail" --message-id
fi fi
' '
done done
@ -45,7 +47,7 @@ done
test_expect_success 'split box with rfc2047 samples' \ test_expect_success 'split box with rfc2047 samples' \
'mkdir rfc2047 && 'mkdir rfc2047 &&
git mailsplit -orfc2047 "$TEST_DIRECTORY"/t5100/rfc2047-samples.mbox \ git mailsplit -orfc2047 "$DATA/rfc2047-samples.mbox" \
>rfc2047/last && >rfc2047/last &&
last=$(cat rfc2047/last) && last=$(cat rfc2047/last) &&
echo total is $last && echo total is $last &&
@ -54,20 +56,20 @@ test_expect_success 'split box with rfc2047 samples' \
for mail in rfc2047/00* for mail in rfc2047/00*
do do
test_expect_success "mailinfo $mail" ' test_expect_success "mailinfo $mail" '
git mailinfo -u $mail-msg $mail-patch <$mail >$mail-info && git mailinfo -u "$mail-msg" "$mail-patch" <"$mail" >"$mail-info" &&
echo msg && echo msg &&
test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg && test_cmp "$DATA/empty" "$mail-msg" &&
echo patch && echo patch &&
test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch && test_cmp "$DATA/empty" "$mail-patch" &&
echo info && echo info &&
test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info test_cmp "$DATA/rfc2047-info-$(basename $mail)" "$mail-info"
' '
done done
test_expect_success 'respect NULs' ' test_expect_success 'respect NULs' '
git mailsplit -d3 -o. "$TEST_DIRECTORY"/t5100/nul-plain && git mailsplit -d3 -o. "$DATA/nul-plain" &&
test_cmp "$TEST_DIRECTORY"/t5100/nul-plain 001 && test_cmp "$DATA/nul-plain" 001 &&
(cat 001 | git mailinfo msg patch) && (cat 001 | git mailinfo msg patch) &&
test_line_count = 4 patch test_line_count = 4 patch
@ -75,52 +77,52 @@ test_expect_success 'respect NULs' '
test_expect_success 'Preserve NULs out of MIME encoded message' ' test_expect_success 'Preserve NULs out of MIME encoded message' '
git mailsplit -d5 -o. "$TEST_DIRECTORY"/t5100/nul-b64.in && git mailsplit -d5 -o. "$DATA/nul-b64.in" &&
test_cmp "$TEST_DIRECTORY"/t5100/nul-b64.in 00001 && test_cmp "$DATA/nul-b64.in" 00001 &&
git mailinfo msg patch <00001 && git mailinfo msg patch <00001 &&
test_cmp "$TEST_DIRECTORY"/t5100/nul-b64.expect patch test_cmp "$DATA/nul-b64.expect" patch
' '
test_expect_success 'mailinfo on from header without name works' ' test_expect_success 'mailinfo on from header without name works' '
mkdir info-from && mkdir info-from &&
git mailsplit -oinfo-from "$TEST_DIRECTORY"/t5100/info-from.in && git mailsplit -oinfo-from "$DATA/info-from.in" &&
test_cmp "$TEST_DIRECTORY"/t5100/info-from.in info-from/0001 && test_cmp "$DATA/info-from.in" info-from/0001 &&
git mailinfo info-from/msg info-from/patch \ git mailinfo info-from/msg info-from/patch \
<info-from/0001 >info-from/out && <info-from/0001 >info-from/out &&
test_cmp "$TEST_DIRECTORY"/t5100/info-from.expect info-from/out test_cmp "$DATA/info-from.expect" info-from/out
' '
test_expect_success 'mailinfo finds headers after embedded From line' ' test_expect_success 'mailinfo finds headers after embedded From line' '
mkdir embed-from && mkdir embed-from &&
git mailsplit -oembed-from "$TEST_DIRECTORY"/t5100/embed-from.in && git mailsplit -oembed-from "$DATA/embed-from.in" &&
test_cmp "$TEST_DIRECTORY"/t5100/embed-from.in embed-from/0001 && test_cmp "$DATA/embed-from.in" embed-from/0001 &&
git mailinfo embed-from/msg embed-from/patch \ git mailinfo embed-from/msg embed-from/patch \
<embed-from/0001 >embed-from/out && <embed-from/0001 >embed-from/out &&
test_cmp "$TEST_DIRECTORY"/t5100/embed-from.expect embed-from/out test_cmp "$DATA/embed-from.expect" embed-from/out
' '
test_expect_success 'mailinfo on message with quoted >From' ' test_expect_success 'mailinfo on message with quoted >From' '
mkdir quoted-from && mkdir quoted-from &&
git mailsplit -oquoted-from "$TEST_DIRECTORY"/t5100/quoted-from.in && git mailsplit -oquoted-from "$DATA/quoted-from.in" &&
test_cmp "$TEST_DIRECTORY"/t5100/quoted-from.in quoted-from/0001 && test_cmp "$DATA/quoted-from.in" quoted-from/0001 &&
git mailinfo quoted-from/msg quoted-from/patch \ git mailinfo quoted-from/msg quoted-from/patch \
<quoted-from/0001 >quoted-from/out && <quoted-from/0001 >quoted-from/out &&
test_cmp "$TEST_DIRECTORY"/t5100/quoted-from.expect quoted-from/msg test_cmp "$DATA/quoted-from.expect" quoted-from/msg
' '
test_expect_success 'mailinfo unescapes with --mboxrd' ' test_expect_success 'mailinfo unescapes with --mboxrd' '
mkdir mboxrd && mkdir mboxrd &&
git mailsplit -omboxrd --mboxrd \ git mailsplit -omboxrd --mboxrd \
"$TEST_DIRECTORY"/t5100/sample.mboxrd >last && "$DATA/sample.mboxrd" >last &&
test x"$(cat last)" = x2 && test x"$(cat last)" = x2 &&
for i in 0001 0002 for i in 0001 0002
do do
git mailinfo mboxrd/msg mboxrd/patch \ git mailinfo mboxrd/msg mboxrd/patch \
<mboxrd/$i >mboxrd/out && <mboxrd/$i >mboxrd/out &&
test_cmp "$TEST_DIRECTORY"/t5100/${i}mboxrd mboxrd/msg test_cmp "$DATA/${i}mboxrd" mboxrd/msg
done && done &&
sp=" " && sp=" " &&
echo "From " >expect && echo "From " >expect &&