t5100-mailinfo: replace common path prefix with variable
authorKevin Daudt <me@ikke.info>
Wed, 28 Sep 2016 19:52:31 +0000 (21:52 +0200)
committerJunio C Hamano <gitster@pobox.com>
Wed, 28 Sep 2016 20:16:59 +0000 (13:16 -0700)
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>
t/t5100-mailinfo.sh
index 1a5a546230b9d971594af754fa5f11e5decd3cef..56988b7116e7d3951f53ddb202570af2ea60a09e 100755 (executable)
@@ -7,8 +7,10 @@ test_description='git mailinfo and git mailsplit test'
 
 . ./test-lib.sh
 
+DATA="$TEST_DIRECTORY/t5100"
+
 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) &&
        echo total is $last &&
        test $(cat last) = 17'
@@ -16,28 +18,28 @@ test_expect_success 'split sample box' \
 check_mailinfo () {
        mail=$1 opt=$2
        mo="$mail$opt"
-       git mailinfo -u $opt msg$mo patch$mo <$mail >info$mo &&
-       test_cmp "$TEST_DIRECTORY"/t5100/msg$mo msg$mo &&
-       test_cmp "$TEST_DIRECTORY"/t5100/patch$mo patch$mo &&
-       test_cmp "$TEST_DIRECTORY"/t5100/info$mo info$mo
+       git mailinfo -u $opt "msg$mo" "patch$mo" <"$mail" >"info$mo" &&
+       test_cmp "$DATA/msg$mo" "msg$mo" &&
+       test_cmp "$DATA/patch$mo" "patch$mo" &&
+       test_cmp "$DATA/info$mo" "info$mo"
 }
 
 
 for mail in 00*
 do
        test_expect_success "mailinfo $mail" '
-               check_mailinfo $mail "" &&
-               if test -f "$TEST_DIRECTORY"/t5100/msg$mail--scissors
+               check_mailinfo "$mail" "" &&
+               if test -f "$DATA/msg$mail--scissors"
                then
-                       check_mailinfo $mail --scissors
+                       check_mailinfo "$mail" --scissors
                fi &&
-               if test -f "$TEST_DIRECTORY"/t5100/msg$mail--no-inbody-headers
+               if test -f "$DATA/msg$mail--no-inbody-headers"
                then
-                       check_mailinfo $mail --no-inbody-headers
+                       check_mailinfo "$mail" --no-inbody-headers
                fi &&
-               if test -f "$TEST_DIRECTORY"/t5100/msg$mail--message-id
+               if test -f "$DATA/msg$mail--message-id"
                then
-                       check_mailinfo $mail --message-id
+                       check_mailinfo "$mail" --message-id
                fi
        '
 done
@@ -45,7 +47,7 @@ done
 
 test_expect_success 'split box with rfc2047 samples' \
        'mkdir rfc2047 &&
-       git mailsplit -orfc2047 "$TEST_DIRECTORY"/t5100/rfc2047-samples.mbox \
+       git mailsplit -orfc2047 "$DATA/rfc2047-samples.mbox" \
          >rfc2047/last &&
        last=$(cat rfc2047/last) &&
        echo total is $last &&
@@ -54,20 +56,20 @@ test_expect_success 'split box with rfc2047 samples' \
 for mail in rfc2047/00*
 do
        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 &&
-               test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-msg &&
+               test_cmp "$DATA/empty" "$mail-msg" &&
                echo patch &&
-               test_cmp "$TEST_DIRECTORY"/t5100/empty $mail-patch &&
+               test_cmp "$DATA/empty" "$mail-patch" &&
                echo info &&
-               test_cmp "$TEST_DIRECTORY"/t5100/rfc2047-info-$(basename $mail) $mail-info
+               test_cmp "$DATA/rfc2047-info-$(basename $mail)" "$mail-info"
        '
 done
 
 test_expect_success 'respect NULs' '
 
-       git mailsplit -d3 -o. "$TEST_DIRECTORY"/t5100/nul-plain &&
-       test_cmp "$TEST_DIRECTORY"/t5100/nul-plain 001 &&
+       git mailsplit -d3 -o. "$DATA/nul-plain" &&
+       test_cmp "$DATA/nul-plain" 001 &&
        (cat 001 | git mailinfo msg 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' '
 
-       git mailsplit -d5 -o. "$TEST_DIRECTORY"/t5100/nul-b64.in &&
-       test_cmp "$TEST_DIRECTORY"/t5100/nul-b64.in 00001 &&
+       git mailsplit -d5 -o. "$DATA/nul-b64.in" &&
+       test_cmp "$DATA/nul-b64.in" 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' '
 
        mkdir info-from &&
-       git mailsplit -oinfo-from "$TEST_DIRECTORY"/t5100/info-from.in &&
-       test_cmp "$TEST_DIRECTORY"/t5100/info-from.in info-from/0001 &&
+       git mailsplit -oinfo-from "$DATA/info-from.in" &&
+       test_cmp "$DATA/info-from.in" info-from/0001 &&
        git mailinfo info-from/msg info-from/patch \
          <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' '
        mkdir embed-from &&
-       git mailsplit -oembed-from "$TEST_DIRECTORY"/t5100/embed-from.in &&
-       test_cmp "$TEST_DIRECTORY"/t5100/embed-from.in embed-from/0001 &&
+       git mailsplit -oembed-from "$DATA/embed-from.in" &&
+       test_cmp "$DATA/embed-from.in" embed-from/0001 &&
        git mailinfo embed-from/msg embed-from/patch \
          <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' '
        mkdir quoted-from &&
-       git mailsplit -oquoted-from "$TEST_DIRECTORY"/t5100/quoted-from.in &&
-       test_cmp "$TEST_DIRECTORY"/t5100/quoted-from.in quoted-from/0001 &&
+       git mailsplit -oquoted-from "$DATA/quoted-from.in" &&
+       test_cmp "$DATA/quoted-from.in" quoted-from/0001 &&
        git mailinfo quoted-from/msg quoted-from/patch \
          <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' '
        mkdir mboxrd &&
        git mailsplit -omboxrd --mboxrd \
-               "$TEST_DIRECTORY"/t5100/sample.mboxrd >last &&
+               "$DATA/sample.mboxrd" >last &&
        test x"$(cat last)" = x2 &&
        for i in 0001 0002
        do
                git mailinfo mboxrd/msg mboxrd/patch \
                  <mboxrd/$i >mboxrd/out &&
-               test_cmp "$TEST_DIRECTORY"/t5100/${i}mboxrd mboxrd/msg
+               test_cmp "$DATA/${i}mboxrd" mboxrd/msg
        done &&
        sp=" " &&
        echo "From " >expect &&