mirror of
https://github.com/git/git
synced 2024-08-28 12:09:19 +00:00
![Junio C Hamano](/assets/img/avatar_default.png)
The "sanitize" helper wanted to strip the similarity and dissimilarity scores when making comparison, but it was stripping away the object names as well. While we do not want to require the exact object names the tests expect to be maintained, as it would be seen as an extra burden, this would have prevented us catching a silly bug such as showing non 0{40} object name on the preimage side of an addition or on the postimage side of a deletion, because all [0-9a-f]{40} strings were considered equally OK. In the longer term, when a test only wants to see the status of the change without having to worry about object names, it should be rewritten not to inspect the raw format. Signed-off-by: Junio C Hamano <gitster@pobox.com>
40 lines
1.3 KiB
Bash
40 lines
1.3 KiB
Bash
:
|
|
|
|
sanitize_diff_raw='/^:/s/ '"\($_x40\)"' '"\($_x40\)"' \([A-Z]\)[0-9]* / \1 \2 \3# /'
|
|
compare_diff_raw () {
|
|
# When heuristics are improved, the score numbers would change.
|
|
# Ignore them while comparing.
|
|
# Also we do not check SHA1 hash generation in this test, which
|
|
# is a job for t0000-basic.sh
|
|
|
|
sed -e "$sanitize_diff_raw" <"$1" >.tmp-1
|
|
sed -e "$sanitize_diff_raw" <"$2" >.tmp-2
|
|
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
}
|
|
|
|
sanitize_diff_raw_z='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*$/ X X \1#/'
|
|
compare_diff_raw_z () {
|
|
# When heuristics are improved, the score numbers would change.
|
|
# Ignore them while comparing.
|
|
# Also we do not check SHA1 hash generation in this test, which
|
|
# is a job for t0000-basic.sh
|
|
|
|
perl -pe 'y/\000/\012/' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
|
|
perl -pe 'y/\000/\012/' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
|
|
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
}
|
|
|
|
compare_diff_patch () {
|
|
# When heuristics are improved, the score numbers would change.
|
|
# Ignore them while comparing.
|
|
sed -e '
|
|
/^[dis]*imilarity index [0-9]*%$/d
|
|
/^index [0-9a-f]*\.\.[0-9a-f]/d
|
|
' <"$1" >.tmp-1
|
|
sed -e '
|
|
/^[dis]*imilarity index [0-9]*%$/d
|
|
/^index [0-9a-f]*\.\.[0-9a-f]/d
|
|
' <"$2" >.tmp-2
|
|
test_cmp .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
|
|
}
|