summaryrefslogtreecommitdiff
path: root/t/diff-lib.sh
diff options
context:
space:
mode:
authorJunio C Hamano <junkio@cox.net>2005-05-31 14:47:25 -0700
committerLinus Torvalds <torvalds@ppc970.osdl.org>2005-05-31 16:17:27 -0700
commitedb0c724287a0ee7cefa11f28ef43d8c5cfa1985 (patch)
treea57cf3c72cf79ee8fea2f9aeae921d8bcc9fd34e /t/diff-lib.sh
parent1d9e6f92bc6a1a1a37d187db72dcc02642ba04f6 (diff)
downloadgit-edb0c724287a0ee7cefa11f28ef43d8c5cfa1985.tar.gz
[PATCH] diff: consolidate test helper script pieces.
There were duplicate script pieces to help comparing diff output, which this patch consolidates into the t/diff-lib.sh library. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 't/diff-lib.sh')
-rw-r--r--t/diff-lib.sh35
1 files changed, 35 insertions, 0 deletions
diff --git a/t/diff-lib.sh b/t/diff-lib.sh
new file mode 100644
index 0000000000..a912f435aa
--- /dev/null
+++ b/t/diff-lib.sh
@@ -0,0 +1,35 @@
+:
+
+_x40='[0-9a-f][0-9a-f][0-9a-f][0-9a-f][0-9a-f]'
+_x40="$_x40$_x40$_x40$_x40$_x40$_x40$_x40$_x40"
+sanitize_diff_raw='/^:/s/ '"$_x40"' '"$_x40"' \([A-Z]\)[0-9]* / X X \1# /'
+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
+ diff -u .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
+
+ tr '\0' '\012' <"$1" | sed -e "$sanitize_diff_raw_z" >.tmp-1
+ tr '\0' '\012' <"$2" | sed -e "$sanitize_diff_raw_z" >.tmp-2
+ diff -u .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' <"$1" >.tmp-1
+ sed -e '/^[dis]*imilarity index [0-9]*%$/d' <"$2" >.tmp-2
+ diff -u .tmp-1 .tmp-2 && rm -f .tmp-1 .tmp-2
+}