t3701: don't hard code sha1 hash values
Use a filter when comparing diffs to fix the value of non-zero hashes in diff index lines so we're not hard coding sha1 hash values in the expected output. This makes it easier to change the expected output if a test is edited as we don't need to worry about the exact hash value and means the tests will work when the hash algorithm is transitioned away from sha1. Thanks-to: Junio C Hamano <gitster@pobox.com> Signed-off-by: Phillip Wood <phillip.wood@dunelm.org.uk> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
11489a6539
commit
902f414a72
@ -10,6 +10,19 @@ then
|
|||||||
test_done
|
test_done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
diff_cmp () {
|
||||||
|
for x
|
||||||
|
do
|
||||||
|
sed -e '/^index/s/[0-9a-f]*[1-9a-f][0-9a-f]*\.\./1234567../' \
|
||||||
|
-e '/^index/s/\.\.[0-9a-f]*[1-9a-f][0-9a-f]*/..9abcdef/' \
|
||||||
|
-e '/^index/s/ 00*\.\./ 0000000../' \
|
||||||
|
-e '/^index/s/\.\.00*$/..0000000/' \
|
||||||
|
-e '/^index/s/\.\.00* /..0000000 /' \
|
||||||
|
"$x" >"$x.filtered"
|
||||||
|
done
|
||||||
|
test_cmp "$1.filtered" "$2.filtered"
|
||||||
|
}
|
||||||
|
|
||||||
test_expect_success 'setup (initial)' '
|
test_expect_success 'setup (initial)' '
|
||||||
echo content >file &&
|
echo content >file &&
|
||||||
git add file &&
|
git add file &&
|
||||||
@ -35,7 +48,7 @@ test_expect_success 'setup expected' '
|
|||||||
test_expect_success 'diff works (initial)' '
|
test_expect_success 'diff works (initial)' '
|
||||||
(echo d; echo 1) | git add -i >output &&
|
(echo d; echo 1) | git add -i >output &&
|
||||||
sed -ne "/new file/,/content/p" <output >diff &&
|
sed -ne "/new file/,/content/p" <output >diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
test_expect_success 'revert works (initial)' '
|
test_expect_success 'revert works (initial)' '
|
||||||
git add file &&
|
git add file &&
|
||||||
@ -72,7 +85,7 @@ test_expect_success 'setup expected' '
|
|||||||
test_expect_success 'diff works (commit)' '
|
test_expect_success 'diff works (commit)' '
|
||||||
(echo d; echo 1) | git add -i >output &&
|
(echo d; echo 1) | git add -i >output &&
|
||||||
sed -ne "/^index/,/content/p" <output >diff &&
|
sed -ne "/^index/,/content/p" <output >diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
test_expect_success 'revert works (commit)' '
|
test_expect_success 'revert works (commit)' '
|
||||||
git add file &&
|
git add file &&
|
||||||
@ -91,7 +104,7 @@ test_expect_success 'dummy edit works' '
|
|||||||
test_set_editor : &&
|
test_set_editor : &&
|
||||||
(echo e; echo a) | git add -p &&
|
(echo e; echo a) | git add -p &&
|
||||||
git diff > diff &&
|
git diff > diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup patch' '
|
test_expect_success 'setup patch' '
|
||||||
@ -159,7 +172,7 @@ test_expect_success 'setup expected' '
|
|||||||
test_expect_success 'real edit works' '
|
test_expect_success 'real edit works' '
|
||||||
(echo e; echo n; echo d) | git add -p &&
|
(echo e; echo n; echo d) | git add -p &&
|
||||||
git diff >output &&
|
git diff >output &&
|
||||||
test_cmp expected output
|
diff_cmp expected output
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'skip files similarly as commit -a' '
|
test_expect_success 'skip files similarly as commit -a' '
|
||||||
@ -171,7 +184,7 @@ test_expect_success 'skip files similarly as commit -a' '
|
|||||||
git reset &&
|
git reset &&
|
||||||
git commit -am commit &&
|
git commit -am commit &&
|
||||||
git diff >expected &&
|
git diff >expected &&
|
||||||
test_cmp expected output &&
|
diff_cmp expected output &&
|
||||||
git reset --hard HEAD^
|
git reset --hard HEAD^
|
||||||
'
|
'
|
||||||
rm -f .gitignore
|
rm -f .gitignore
|
||||||
@ -248,7 +261,7 @@ test_expect_success 'add first line works' '
|
|||||||
git apply patch &&
|
git apply patch &&
|
||||||
(echo s; echo y; echo y) | git add -p file &&
|
(echo s; echo y; echo y) | git add -p file &&
|
||||||
git diff --cached > diff &&
|
git diff --cached > diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup expected' '
|
test_expect_success 'setup expected' '
|
||||||
@ -271,7 +284,7 @@ test_expect_success 'deleting a non-empty file' '
|
|||||||
rm non-empty &&
|
rm non-empty &&
|
||||||
echo y | git add -p non-empty &&
|
echo y | git add -p non-empty &&
|
||||||
git diff --cached >diff &&
|
git diff --cached >diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'setup expected' '
|
test_expect_success 'setup expected' '
|
||||||
@ -290,7 +303,7 @@ test_expect_success 'deleting an empty file' '
|
|||||||
rm empty &&
|
rm empty &&
|
||||||
echo y | git add -p empty &&
|
echo y | git add -p empty &&
|
||||||
git diff --cached >diff &&
|
git diff --cached >diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'split hunk setup' '
|
test_expect_success 'split hunk setup' '
|
||||||
@ -355,7 +368,7 @@ test_expect_success 'patch mode ignores unmerged entries' '
|
|||||||
+changed
|
+changed
|
||||||
EOF
|
EOF
|
||||||
git diff --cached >diff &&
|
git diff --cached >diff &&
|
||||||
test_cmp expected diff
|
diff_cmp expected diff
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success TTY 'diffs can be colorized' '
|
test_expect_success TTY 'diffs can be colorized' '
|
||||||
@ -384,7 +397,7 @@ test_expect_success 'patch-mode via -i prompts for files' '
|
|||||||
|
|
||||||
echo test >expect &&
|
echo test >expect &&
|
||||||
git diff --cached --name-only >actual &&
|
git diff --cached --name-only >actual &&
|
||||||
test_cmp expect actual
|
diff_cmp expect actual
|
||||||
'
|
'
|
||||||
|
|
||||||
test_expect_success 'add -p handles globs' '
|
test_expect_success 'add -p handles globs' '
|
||||||
|
Loading…
Reference in New Issue
Block a user