@matheusbsbs / matheus-bagliano / commits / e9b20943b7
Fork 0

t/t3800: do not use a temporary file to hold expected result.

It is a good practice to write program output to a temporary file during the test, as it would allow easier postmortem when the tested program does break. But there is no benefit in writing the expected output out to the temporary. This actually fixes a bug in check_verify_failure() routine. The intention of the test seems to make sure the "git mktag" command fails, and it spits out the expected error message. But if the command did not fail as expected, the shell function as originally written would not have detected the failure. Signed-off-by: Junio C Hamano <gitster@pobox.com>

Junio C Hamano committed Jan 4, 2008 at 22:45 UTC e9b20943b7713ed7c051621f97e12713ccf98e1f
1 file changed +25 -64
t/t3800-mktag.sh
+25 -64
@@ -12,10 +12,11 @@ test_description='git-mktag: tag object verify test'
12 # given in the expect.pat file.
13
14 check_verify_failure () {
15 - test_expect_success \
16 - "$1" \
17 - 'git-mktag <tag.sig 2>message ||
18 - grep -q -f expect.pat message'
15 + expect="$2"
16 + test_expect_success "$1" '
17 + ( ! git-mktag <tag.sig 2>message ) &&
18 + grep -q "$expect" message
19 + '
20 }
21
22 ###########################################################
@@ -33,11 +34,8 @@ cat >tag.sig <<EOF
34 too short for a tag
35 EOF
36
36 -cat >expect.pat <<EOF
37 -^error: .*size wrong.*$
38 -EOF
39 -
40 -check_verify_failure 'Tag object length check'
37 +check_verify_failure 'Tag object length check' \
38 + '^error: .*size wrong.*$'
39
40 ############################################################
41 # 2. object line label check
@@ -48,11 +46,7 @@ type tag
46 tag mytag
47 EOF
48
51 -cat >expect.pat <<EOF
52 -^error: char0: .*"object "$
53 -EOF
54 -
55 -check_verify_failure '"object" line label check'
49 +check_verify_failure '"object" line label check' '^error: char0: .*"object "$'
50
51 ############################################################
52 # 3. object line SHA1 check
@@ -63,11 +57,7 @@ type tag
57 tag mytag
58 EOF
59
66 -cat >expect.pat <<EOF
67 -^error: char7: .*SHA1 hash$
68 -EOF
69 -
70 -check_verify_failure '"object" line SHA1 check'
60 +check_verify_failure '"object" line SHA1 check' '^error: char7: .*SHA1 hash$'
61
62 ############################################################
63 # 4. type line label check
@@ -78,11 +68,7 @@ xxxx tag
68 tag mytag
69 EOF
70
81 -cat >expect.pat <<EOF
82 -^error: char47: .*"[\]ntype "$
83 -EOF
84 -
85 -check_verify_failure '"type" line label check'
71 +check_verify_failure '"type" line label check' '^error: char47: .*"\\ntype "$'
72
73 ############################################################
74 # 5. type line eol check
@@ -90,11 +76,7 @@ check_verify_failure '"type" line label check'
76 echo "object 779e9b33986b1c2670fff52c5067603117b3e895" >tag.sig
77 printf "type tagsssssssssssssssssssssssssssssss" >>tag.sig
78
93 -cat >expect.pat <<EOF
94 -^error: char48: .*"[\]n"$
95 -EOF
96 -
97 -check_verify_failure '"type" line eol check'
79 +check_verify_failure '"type" line eol check' '^error: char48: .*"\\n"$'
80
81 ############################################################
82 # 6. tag line label check #1
@@ -105,11 +87,8 @@ type tag
87 xxx mytag
88 EOF
89
108 -cat >expect.pat <<EOF
109 -^error: char57: no "tag " found$
110 -EOF
111 -
112 -check_verify_failure '"tag" line label check #1'
90 +check_verify_failure '"tag" line label check #1' \
91 + '^error: char57: no "tag " found$'
92
93 ############################################################
94 # 7. tag line label check #2
@@ -120,11 +99,8 @@ type taggggggggggggggggggggggggggggggg
99 tag
100 EOF
101
123 -cat >expect.pat <<EOF
124 -^error: char87: no "tag " found$
125 -EOF
126 -
127 -check_verify_failure '"tag" line label check #2'
102 +check_verify_failure '"tag" line label check #2' \
103 + '^error: char87: no "tag " found$'
104
105 ############################################################
106 # 8. type line type-name length check
@@ -135,11 +111,8 @@ type taggggggggggggggggggggggggggggggg
111 tag mytag
112 EOF
113
138 -cat >expect.pat <<EOF
139 -^error: char53: type too long$
140 -EOF
141 -
142 -check_verify_failure '"type" line type-name length check'
114 +check_verify_failure '"type" line type-name length check' \
115 + '^error: char53: type too long$'
116
117 ############################################################
118 # 9. verify object (SHA1/type) check
@@ -150,11 +123,8 @@ type tagggg
123 tag mytag
124 EOF
125
153 -cat >expect.pat <<EOF
154 -^error: char7: could not verify object.*$
155 -EOF
156 -
157 -check_verify_failure 'verify object (SHA1/type) check'
126 +check_verify_failure 'verify object (SHA1/type) check' \
127 + '^error: char7: could not verify object.*$'
128
129 ############################################################
130 # 10. verify tag-name check
@@ -165,11 +135,8 @@ type commit
135 tag my tag
136 EOF
137
168 -cat >expect.pat <<EOF
169 -^error: char67: could not verify tag name$
170 -EOF
171 -
172 -check_verify_failure 'verify tag-name check'
138 +check_verify_failure 'verify tag-name check' \
139 + '^error: char67: could not verify tag name$'
140
141 ############################################################
142 # 11. tagger line label check #1
@@ -180,11 +147,8 @@ type commit
147 tag mytag
148 EOF
149
183 -cat >expect.pat <<EOF
184 -^error: char70: could not find "tagger"$
185 -EOF
186 -
187 -check_verify_failure '"tagger" line label check #1'
150 +check_verify_failure '"tagger" line label check #1' \
151 + '^error: char70: could not find "tagger"$'
152
153 ############################################################
154 # 12. tagger line label check #2
@@ -196,11 +160,8 @@ tag mytag
160 tagger
161 EOF
162
199 -cat >expect.pat <<EOF
200 -^error: char70: could not find "tagger"$
201 -EOF
202 -
203 -check_verify_failure '"tagger" line label check #2'
163 +check_verify_failure '"tagger" line label check #2' \
164 + '^error: char70: could not find "tagger"$'
165
166 ############################################################
167 # 13. create valid tag