t/diff-lib: check exact object names in compare_diff_raw
authorJunio C Hamano <gitster@pobox.com>
Sun, 15 Feb 2015 21:47:36 +0000 (13:47 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sun, 15 Feb 2015 23:38:16 +0000 (15:38 -0800)
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>
t/diff-lib.sh
index 75a35fcd0699940aea51534b5fe954847bed7bb9..c211dc40eed98fc58c953d2e3b1f7ba752f98a02 100644 (file)
@@ -1,6 +1,6 @@
 :
 
-sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]*  / X X \1#       /'
+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.