Re: [PATCH 5/6] t/diff-lib: check exact object names in compare_diff_raw
From: Johannes Sixt <hidden>
Date: 2016-06-15 23:03:53
Subsystem:
the rest · Maintainer:
Linus Torvalds
Am 16.02.2015 um 00:43 schrieb Junio C Hamano:
quoted hunk ↗ jump to hunk
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 <redacted> --- t/diff-lib.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/t/diff-lib.sh b/t/diff-lib.sh index 75a35fc..c211dc4 100644 --- a/t/diff-lib.sh +++ b/t/diff-lib.sh@@ -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.
This reveals a minor bug in test_ln_s_add: ---- 8< ---- Subject: [PATCH] test_ln_s_add: refresh stat info of fake symbolic links We have a helper function test_ln_s_add that inserts a symbolic link into the index even if the file system does not support symbolic links. There is a small flaw in the emulation path: the added entry does not pick up stat information of the fake symbolic link from the file system, as a consequence, the index is not exactly the same as for the "regular" path (where symbolic links are available). To fix this, just call git update-index again. This flaw was revealed by the earlier change that tightened compare_diff_raw(), because a test case in t4008 depends on the correctly updated index. Signed-off-by: Johannes Sixt <redacted> --- t/test-lib-functions.sh | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/t/test-lib-functions.sh b/t/test-lib-functions.sh
index cb132cf..bd1069b 100644
--- a/t/test-lib-functions.sh
+++ b/t/test-lib-functions.sh@@ -749,7 +749,9 @@ test_ln_s_add () { else printf '%s' "$1" >"$2" && ln_s_obj=$(git hash-object -w "$2") && - git update-index --add --cacheinfo 120000 $ln_s_obj "$2" + git update-index --add --cacheinfo 120000 $ln_s_obj "$2" && + # pick up stat info from the file + git update-index "$2" fi }
--
2.3.0.rc0.21.g454f6cd