@@ -7,45 +7,47 @@ test_description='git mailinfo and git mailsplit test'
77
88. ./test-lib.sh
99
10+ DATA=" $TEST_DIRECTORY /t5100"
11+
1012test_expect_success ' split sample box' \
11- ' git mailsplit -o. "$TEST_DIRECTORY"/t5100/ sample.mbox >last &&
13+ ' git mailsplit -o. "$DATA/ sample.mbox" >last &&
1214 last=$(cat last) &&
1315 echo total is $last &&
1416 test $(cat last) = 18'
1517
1618check_mailinfo () {
1719 mail=$1 opt=$2
1820 mo=" $mail$opt "
19- git mailinfo -u $opt msg$mo patch$mo < $mail > info$mo &&
20- test_cmp " $TEST_DIRECTORY " /t5100/ msg$mo msg$mo &&
21- test_cmp " $TEST_DIRECTORY " /t5100/ patch$mo patch$mo &&
22- test_cmp " $TEST_DIRECTORY " /t5100/ info$mo info$mo
21+ git mailinfo -u $opt " msg$mo " " patch$mo " < " $mail " > " info$mo " &&
22+ test_cmp " $DATA / msg$mo " " msg$mo " &&
23+ test_cmp " $DATA / patch$mo " " patch$mo " &&
24+ test_cmp " $DATA / info$mo " " info$mo "
2325}
2426
2527
2628for mail in 00*
2729do
2830 test_expect_success " mailinfo $mail " '
29- check_mailinfo $mail "" &&
30- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--scissors
31+ check_mailinfo " $mail" "" &&
32+ if test -f "$DATA/ msg$mail--scissors"
3133 then
32- check_mailinfo $mail --scissors
34+ check_mailinfo " $mail" --scissors
3335 fi &&
34- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--no-inbody-headers
36+ if test -f "$DATA/ msg$mail--no-inbody-headers"
3537 then
36- check_mailinfo $mail --no-inbody-headers
38+ check_mailinfo " $mail" --no-inbody-headers
3739 fi &&
38- if test -f "$TEST_DIRECTORY"/t5100/ msg$mail--message-id
40+ if test -f "$DATA/ msg$mail--message-id"
3941 then
40- check_mailinfo $mail --message-id
42+ check_mailinfo " $mail" --message-id
4143 fi
4244 '
4345done
4446
4547
4648test_expect_success ' split box with rfc2047 samples' \
4749 ' mkdir rfc2047 &&
48- git mailsplit -orfc2047 "$TEST_DIRECTORY"/t5100/ rfc2047-samples.mbox \
50+ git mailsplit -orfc2047 "$DATA/ rfc2047-samples.mbox" \
4951 >rfc2047/last &&
5052 last=$(cat rfc2047/last) &&
5153 echo total is $last &&
@@ -54,73 +56,73 @@ test_expect_success 'split box with rfc2047 samples' \
5456for mail in rfc2047/00*
5557do
5658 test_expect_success " mailinfo $mail " '
57- git mailinfo -u $mail-msg $mail-patch < $mail > $mail-info &&
59+ git mailinfo -u " $mail-msg" " $mail-patch" <" $mail" >" $mail-info" &&
5860 echo msg &&
59- test_cmp "$TEST_DIRECTORY"/t5100/ empty $mail-msg &&
61+ test_cmp "$DATA/ empty" " $mail-msg" &&
6062 echo patch &&
61- test_cmp "$TEST_DIRECTORY"/t5100/ empty $mail-patch &&
63+ test_cmp "$DATA/ empty" " $mail-patch" &&
6264 echo info &&
63- test_cmp "$TEST_DIRECTORY"/t5100/ rfc2047-info-$(basename $mail) $mail-info
65+ test_cmp "$DATA/ rfc2047-info-$(basename $mail)" " $mail-info"
6466 '
6567done
6668
6769test_expect_success ' respect NULs' '
6870
69- git mailsplit -d3 -o. "$TEST_DIRECTORY"/t5100/ nul-plain &&
70- test_cmp "$TEST_DIRECTORY"/t5100/ nul-plain 001 &&
71+ git mailsplit -d3 -o. "$DATA/ nul-plain" &&
72+ test_cmp "$DATA/ nul-plain" 001 &&
7173 (cat 001 | git mailinfo msg patch) &&
7274 test_line_count = 4 patch
7375
7476'
7577
7678test_expect_success ' Preserve NULs out of MIME encoded message' '
7779
78- git mailsplit -d5 -o. "$TEST_DIRECTORY"/t5100/ nul-b64.in &&
79- test_cmp "$TEST_DIRECTORY"/t5100/ nul-b64.in 00001 &&
80+ git mailsplit -d5 -o. "$DATA/ nul-b64.in" &&
81+ test_cmp "$DATA/ nul-b64.in" 00001 &&
8082 git mailinfo msg patch <00001 &&
81- test_cmp "$TEST_DIRECTORY"/t5100/ nul-b64.expect patch
83+ test_cmp "$DATA/ nul-b64.expect" patch
8284
8385'
8486
8587test_expect_success ' mailinfo on from header without name works' '
8688
8789 mkdir info-from &&
88- git mailsplit -oinfo-from "$TEST_DIRECTORY"/t5100/ info-from.in &&
89- test_cmp "$TEST_DIRECTORY"/t5100/ info-from.in info-from/0001 &&
90+ git mailsplit -oinfo-from "$DATA/ info-from.in" &&
91+ test_cmp "$DATA/ info-from.in" info-from/0001 &&
9092 git mailinfo info-from/msg info-from/patch \
9193 <info-from/0001 >info-from/out &&
92- test_cmp "$TEST_DIRECTORY"/t5100/ info-from.expect info-from/out
94+ test_cmp "$DATA/ info-from.expect" info-from/out
9395
9496'
9597
9698test_expect_success ' mailinfo finds headers after embedded From line' '
9799 mkdir embed-from &&
98- git mailsplit -oembed-from "$TEST_DIRECTORY"/t5100/ embed-from.in &&
99- test_cmp "$TEST_DIRECTORY"/t5100/ embed-from.in embed-from/0001 &&
100+ git mailsplit -oembed-from "$DATA/ embed-from.in" &&
101+ test_cmp "$DATA/ embed-from.in" embed-from/0001 &&
100102 git mailinfo embed-from/msg embed-from/patch \
101103 <embed-from/0001 >embed-from/out &&
102- test_cmp "$TEST_DIRECTORY"/t5100/ embed-from.expect embed-from/out
104+ test_cmp "$DATA/ embed-from.expect" embed-from/out
103105'
104106
105107test_expect_success ' mailinfo on message with quoted >From' '
106108 mkdir quoted-from &&
107- git mailsplit -oquoted-from "$TEST_DIRECTORY"/t5100/ quoted-from.in &&
108- test_cmp "$TEST_DIRECTORY"/t5100/ quoted-from.in quoted-from/0001 &&
109+ git mailsplit -oquoted-from "$DATA/ quoted-from.in" &&
110+ test_cmp "$DATA/ quoted-from.in" quoted-from/0001 &&
109111 git mailinfo quoted-from/msg quoted-from/patch \
110112 <quoted-from/0001 >quoted-from/out &&
111- test_cmp "$TEST_DIRECTORY"/t5100/ quoted-from.expect quoted-from/msg
113+ test_cmp "$DATA/ quoted-from.expect" quoted-from/msg
112114'
113115
114116test_expect_success ' mailinfo unescapes with --mboxrd' '
115117 mkdir mboxrd &&
116118 git mailsplit -omboxrd --mboxrd \
117- "$TEST_DIRECTORY"/t5100/ sample.mboxrd >last &&
119+ "$DATA/ sample.mboxrd" >last &&
118120 test x"$(cat last)" = x2 &&
119121 for i in 0001 0002
120122 do
121123 git mailinfo mboxrd/msg mboxrd/patch \
122124 <mboxrd/$i >mboxrd/out &&
123- test_cmp "$TEST_DIRECTORY"/t5100/ ${i}mboxrd mboxrd/msg
125+ test_cmp "$DATA/ ${i}mboxrd" mboxrd/msg
124126 done &&
125127 sp=" " &&
126128 echo "From " >expect &&
@@ -142,4 +144,18 @@ test_expect_success 'mailinfo unescapes with --mboxrd' '
142144 test_cmp expect mboxrd/msg
143145'
144146
147+ test_expect_success ' mailinfo handles rfc2822 quoted-string' '
148+ mkdir quoted-string &&
149+ git mailinfo /dev/null /dev/null <"$DATA/quoted-string.in" \
150+ >quoted-string/info &&
151+ test_cmp "$DATA/quoted-string.expect" quoted-string/info
152+ '
153+
154+ test_expect_success ' mailinfo handles rfc2822 comment' '
155+ mkdir comment &&
156+ git mailinfo /dev/null /dev/null <"$DATA/comment.in" \
157+ >comment/info &&
158+ test_cmp "$DATA/comment.expect" comment/info
159+ '
160+
145161test_done
0 commit comments