aboutsummaryrefslogtreecommitdiffstats
path: root/t/lib-diff.sh
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2021-02-22 16:12:43 -0800
committerJunio C Hamano <gitster@pobox.com>2021-02-22 16:12:43 -0800
commitd68fccef86af1ceb5ae3a9abb02c8fe4f6ff3317 (patch)
tree020527039643bd7dcf1c498e6d1c90b2aabc612d /t/lib-diff.sh
parentMerge branch 'ab/diff-deferred-free' (diff)
parenttest-lib-functions: assert correct parameter count (diff)
downloadgit-d68fccef86af1ceb5ae3a9abb02c8fe4f6ff3317.tar.gz
git-d68fccef86af1ceb5ae3a9abb02c8fe4f6ff3317.zip
Merge branch 'ab/test-lib'
Test framework clean-up. * ab/test-lib: test-lib-functions: assert correct parameter count test-lib-functions: remove bug-inducing "diagnostics" helper param test libs: rename "diff-lib" to "lib-diff" t/.gitattributes: sort lines test-lib-functions: move function to lib-bitmap.sh test libs: rename gitweb-lib.sh to lib-gitweb.sh test libs: rename bundle helper to "lib-bundle.sh" test-lib-functions: remove generate_zero_bytes() wrapper test-lib-functions: move test_set_index_version() to its user test lib: change "error" to "BUG" as appropriate test-lib: remove check_var_migration
Diffstat (limited to 't/lib-diff.sh')
-rw-r--r--t/lib-diff.sh39
1 files changed, 39 insertions, 0 deletions
diff --git a/t/lib-diff.sh b/t/lib-diff.sh
new file mode 100644
index 0000000000..2de880f7a5
--- /dev/null
+++ b/t/lib-diff.sh
@@ -0,0 +1,39 @@
+:
+
+sanitize_diff_raw='/^:/s/ '"\($OID_REGEX\)"' '"\($OID_REGEX\)"' \([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/ '"$OID_REGEX"' '"$OID_REGEX"' \([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
+}