summaryrefslogtreecommitdiff
path: root/t/lib-log-graph.sh
diff options
context:
space:
mode:
authorLibravatar Abhishek Kumar <abhishekkumar8222@gmail.com>2020-02-24 19:08:13 +0530
committerLibravatar Junio C Hamano <gitster@pobox.com>2020-02-24 13:11:50 -0800
commit989eea958bb3a334c73abcfffb9aa3ec3ed56766 (patch)
tree23f00c9f6d8a88952c955e97bbae7509aa15c6c7 /t/lib-log-graph.sh
parentThe sixth batch for 2.26 (diff)
downloadtgif-989eea958bb3a334c73abcfffb9aa3ec3ed56766.tar.xz
lib-log-graph: consolidate test_cmp_graph logic
Log graph comparision logic is duplicated many times in: - t3430-rebase-merges.sh - t4202-log.sh - t4214-log-graph-octopus.sh - t4215-log-skewed-merges.sh Consolidate the core of the comparision and sanitization logic in lib-log-graph, and use it to replace the existing tests. While at it, lose the singular/plural transition magic from the sanitize_output helper, which was necessary around 7f814632 ("Use correct grammar in diffstat summary line", 2012-02-01), that has long outlived its usefulness. Signed-off-by: Abhishek Kumar <abhishekkumar8222@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 't/lib-log-graph.sh')
-rwxr-xr-xt/lib-log-graph.sh22
1 files changed, 22 insertions, 0 deletions
diff --git a/t/lib-log-graph.sh b/t/lib-log-graph.sh
new file mode 100755
index 0000000000..f9c6526eff
--- /dev/null
+++ b/t/lib-log-graph.sh
@@ -0,0 +1,22 @@
+# Helps shared by the test scripts for comparing log graphs.
+
+sanitize_log_output () {
+ sed -e 's/ *$//' \
+ -e 's/commit [0-9a-f]*$/commit COMMIT_OBJECT_NAME/' \
+ -e 's/Merge: [ 0-9a-f]*$/Merge: MERGE_PARENTS/' \
+ -e 's/Merge tag.*/Merge HEADS DESCRIPTION/' \
+ -e 's/Merge commit.*/Merge HEADS DESCRIPTION/' \
+ -e 's/index [0-9a-f]*\.\.[0-9a-f]*/index BEFORE..AFTER/'
+}
+
+lib_test_cmp_graph () {
+ git log --graph "$@" >output &&
+ sed 's/ *$//' >output.sanitized <output &&
+ test_i18ncmp expect output.sanitized
+}
+
+lib_test_cmp_short_graph () {
+ git log --graph --pretty=short "$@" >output &&
+ sanitize_log_output >output.sanitized <output &&
+ test_i18ncmp expect output.sanitized
+}