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

t7102: abstract away SHA-1-specific constants

Adjust the test so that it computes variables for object IDs instead of using hard-coded hashes. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Reviewed-by: Eric Sunshine <sunshine@sunshineco.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>

brian m. carlson committed Jul 29, 2020 at 23:14 UTC d62607d1e95bd0df237de125270dce4037e256c6
1 file changed +53 -40
t/t7102-reset.sh
+53 -40
@@ -37,17 +37,23 @@ test_expect_success 'creating initial files and commits' '
37
38 echo "2nd line 1st file" >>first &&
39 git commit -a -m "modify 1st file" &&
40 + head5p2=$(git rev-parse --verify HEAD) &&
41 + head5p2f=$(git rev-parse --short HEAD:first) &&
42
43 git rm first &&
44 git mv second secondfile &&
45 git commit -a -m "remove 1st and rename 2nd" &&
46 + head5p1=$(git rev-parse --verify HEAD) &&
47 + head5p1s=$(git rev-parse --short HEAD:secondfile) &&
48
49 echo "1st line 2nd file" >secondfile &&
50 echo "2nd line 2nd file" >>secondfile &&
51 # "git commit -m" would break MinGW, as Windows refuse to pass
52 # $test_encoding encoded parameter to git.
53 commit_msg $test_encoding | git -c "i18n.commitEncoding=$test_encoding" commit -a -F - &&
50 - head5=$(git rev-parse --verify HEAD)
54 + head5=$(git rev-parse --verify HEAD) &&
55 + head5s=$(git rev-parse --short HEAD:secondfile) &&
56 + head5sl=$(git rev-parse HEAD:secondfile)
57 '
58 # git log --pretty=oneline # to see those SHA1 involved
59
@@ -94,7 +100,7 @@ test_expect_success 'giving a non existing revision should fail' '
100
101 test_expect_success 'reset --soft with unmerged index should fail' '
102 touch .git/MERGE_HEAD &&
97 - echo "100644 44c5b5884550c17758737edcced463447b91d42b 1 un" |
103 + echo "100644 $head5sl 1 un" |
104 git update-index --index-info &&
105 test_must_fail git reset --soft HEAD &&
106 rm .git/MERGE_HEAD &&
@@ -192,7 +198,7 @@ test_expect_success \
198 >.diff_expect
199 cat >.cached_expect <<EOF
200 diff --git a/secondfile b/secondfile
195 -index 1bbba79..44c5b58 100644
201 +index $head5p1s..$head5s 100644
202 --- a/secondfile
203 +++ b/secondfile
204 @@ -1 +1,2 @@
@@ -207,7 +213,7 @@ secondfile:
213 EOF
214 test_expect_success '--soft reset only should show changes in diff --cached' '
215 git reset --soft HEAD^ &&
210 - check_changes d1a4bc3abce4829628ae2dcb0d60ef3d1a78b1c4 &&
216 + check_changes $head5p1 &&
217 test "$(git rev-parse ORIG_HEAD)" = \
218 $head5
219 '
@@ -242,7 +248,7 @@ EOF
248 test_expect_success \
249 '--hard reset should change the files and undo commits permanently' '
250 git reset --hard HEAD~2 &&
245 - check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
251 + check_changes $head5p2 &&
252 test "$(git rev-parse ORIG_HEAD)" = \
253 $head4
254 '
@@ -251,7 +257,7 @@ test_expect_success \
257 cat >.cached_expect <<EOF
258 diff --git a/first b/first
259 deleted file mode 100644
254 -index 8206c22..0000000
260 +index $head5p2f..0000000
261 --- a/first
262 +++ /dev/null
263 @@ -1,2 +0,0 @@
@@ -259,14 +265,14 @@ index 8206c22..0000000
265 -2nd line 1st file
266 diff --git a/second b/second
267 deleted file mode 100644
262 -index 1bbba79..0000000
268 +index $head5p1s..0000000
269 --- a/second
270 +++ /dev/null
271 @@ -1 +0,0 @@
272 -2nd file
273 diff --git a/secondfile b/secondfile
274 new file mode 100644
269 -index 0000000..44c5b58
275 +index 0000000..$head5s
276 --- /dev/null
277 +++ b/secondfile
278 @@ -0,0 +1,2 @@
@@ -286,13 +292,13 @@ test_expect_success \
292 echo "1st line 2nd file" >secondfile &&
293 echo "2nd line 2nd file" >>secondfile &&
294 git add secondfile &&
289 - check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e
295 + check_changes $head5p2
296 '
297
298 cat >.diff_expect <<EOF
299 diff --git a/first b/first
300 deleted file mode 100644
295 -index 8206c22..0000000
301 +index $head5p2f..0000000
302 --- a/first
303 +++ /dev/null
304 @@ -1,2 +0,0 @@
@@ -300,7 +306,7 @@ index 8206c22..0000000
306 -2nd line 1st file
307 diff --git a/second b/second
308 deleted file mode 100644
303 -index 1bbba79..0000000
309 +index $head5p1s..0000000
310 --- a/second
311 +++ /dev/null
312 @@ -1 +0,0 @@
@@ -314,9 +320,8 @@ secondfile:
320 EOF
321 test_expect_success '--mixed reset to HEAD should unadd the files' '
322 git reset &&
317 - check_changes ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
318 - test "$(git rev-parse ORIG_HEAD)" = \
319 - ddaefe00f1da16864591c61fdc7adb5d7cd6b74e
323 + check_changes $head5p2 &&
324 + test "$(git rev-parse ORIG_HEAD)" = $head5p2
325 '
326
327 >.diff_expect
@@ -328,7 +333,7 @@ secondfile:
333 EOF
334 test_expect_success 'redoing the last two commits should succeed' '
335 git add secondfile &&
331 - git reset --hard ddaefe00f1da16864591c61fdc7adb5d7cd6b74e &&
336 + git reset --hard $head5p2 &&
337
338 git rm first &&
339 git mv second secondfile &&
@@ -389,47 +394,55 @@ test_expect_success \
394 check_changes $head5
395 '
396
392 -cat > expect << EOF
393 -diff --git a/file1 b/file1
394 -index d00491f..7ed6ff8 100644
395 ---- a/file1
396 -+++ b/file1
397 -@@ -1 +1 @@
398 --1
399 -+5
400 -diff --git a/file2 b/file2
401 -deleted file mode 100644
402 -index 0cfbf08..0000000
403 ---- a/file2
404 -+++ /dev/null
405 -@@ -1 +0,0 @@
406 --2
407 -EOF
408 -cat > cached_expect << EOF
409 -diff --git a/file4 b/file4
410 -new file mode 100644
411 -index 0000000..b8626c4
412 ---- /dev/null
413 -+++ b/file4
414 -@@ -0,0 +1 @@
415 -+4
416 -EOF
397 test_expect_success 'test --mixed <paths>' '
398 echo 1 > file1 &&
399 echo 2 > file2 &&
400 git add file1 file2 &&
401 test_tick &&
402 git commit -m files &&
403 + before1=$(git rev-parse --short HEAD:file1) &&
404 + before2=$(git rev-parse --short HEAD:file2) &&
405 git rm file2 &&
406 echo 3 > file3 &&
407 echo 4 > file4 &&
408 echo 5 > file1 &&
409 + after1=$(git rev-parse --short $(git hash-object file1)) &&
410 + after4=$(git rev-parse --short $(git hash-object file4)) &&
411 git add file1 file3 file4 &&
412 git reset HEAD -- file1 file2 file3 &&
413 test_must_fail git diff --quiet &&
414 git diff > output &&
415 +
416 + cat > expect <<-EOF &&
417 + diff --git a/file1 b/file1
418 + index $before1..$after1 100644
419 + --- a/file1
420 + +++ b/file1
421 + @@ -1 +1 @@
422 + -1
423 + +5
424 + diff --git a/file2 b/file2
425 + deleted file mode 100644
426 + index $before2..0000000
427 + --- a/file2
428 + +++ /dev/null
429 + @@ -1 +0,0 @@
430 + -2
431 + EOF
432 +
433 test_cmp expect output &&
434 git diff --cached > output &&
435 +
436 + cat > cached_expect <<-EOF &&
437 + diff --git a/file4 b/file4
438 + new file mode 100644
439 + index 0000000..$after4
440 + --- /dev/null
441 + +++ b/file4
442 + @@ -0,0 +1 @@
443 + +4
444 + EOF
445 +
446 test_cmp cached_expect output
447 '
448