lib-log-graph: move check_graph function

check_graph is a function shared in the test files t4215 and t6016 used
to format the output graph, but instead of being in a file called by
both test, the function code is repeated in each file.

Move check_graph to lib-log-graph.sh file which both tests already
import graph functions from, renaming it to lib_test_check_graph.

This function is needed for the following commit which includes graph
tests in a new file and requires check_graph.

Mentored-by: Karthik Nayak <karthik.188@gmail.com>
Mentored-by: Chandra Pratap <chandrapratap3519@gmail.com>
Signed-off-by: Pablo Sabater <pabloosabaterr@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
jch
Pablo Sabater 2026-06-20 12:11:50 +02:00 committed by Junio C Hamano
parent ea97ad8d01
commit 440158567f
3 changed files with 29 additions and 34 deletions

View File

@ -26,3 +26,8 @@ lib_test_cmp_colored_graph () {
test_decode_color <output.colors.raw | sed "s/ *\$//" >output.colors &&
test_cmp expect.colors output.colors
}

lib_test_check_graph () {
cat >expect &&
lib_test_cmp_graph --format=%s "$@"
}

View File

@ -5,11 +5,6 @@ test_description='git log --graph of skewed merges'
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-log-graph.sh

check_graph () {
cat >expect &&
lib_test_cmp_graph --format=%s "$@"
}

test_expect_success 'log --graph with merge fusing with its left and right neighbors' '
git checkout --orphan _p &&
test_commit A &&
@ -21,7 +16,7 @@ test_expect_success 'log --graph with merge fusing with its left and right neigh
git checkout _p && git merge --no-ff _r -m G &&
git checkout @^^ && git merge --no-ff _p -m H &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
* H
|\
| * G
@ -49,7 +44,7 @@ test_expect_success 'log --graph with left-skewed merge' '
git checkout 0_p && git merge --no-ff 0_s -m 0_G &&
git checkout @^ && git merge --no-ff 0_q 0_r 0_t 0_p -m 0_H &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
*-----. 0_H
|\ \ \ \
| | | | * 0_G
@ -83,7 +78,7 @@ test_expect_success 'log --graph with nested left-skewed merge' '
git checkout 1_p && git merge --no-ff 1_r -m 1_G &&
git checkout @^^ && git merge --no-ff 1_p -m 1_H &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
* 1_H
|\
| * 1_G
@ -115,7 +110,7 @@ test_expect_success 'log --graph with nested left-skewed merge following normal
git checkout -b 2_s @^^ && git merge --no-ff 2_q -m 2_J &&
git checkout 2_p && git merge --no-ff 2_s -m 2_K &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
* 2_K
|\
| * 2_J
@ -151,7 +146,7 @@ test_expect_success 'log --graph with nested right-skewed merge following left-s
git checkout 3_p && git merge --no-ff 3_r -m 3_H &&
git checkout @^^ && git merge --no-ff 3_p -m 3_J &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
* 3_J
|\
| * 3_H
@ -182,7 +177,7 @@ test_expect_success 'log --graph with right-skewed merge following a left-skewed
git merge --no-ff 4_p -m 4_G &&
git checkout @^^ && git merge --no-ff 4_s -m 4_H &&

check_graph --date-order <<-\EOF
lib_test_check_graph --date-order <<-\EOF
* 4_H
|\
| * 4_G
@ -218,7 +213,7 @@ test_expect_success 'log --graph with octopus merge with column joining its penu
git checkout 5_r &&
git merge --no-ff 5_s -m 5_H &&

check_graph <<-\EOF
lib_test_check_graph <<-\EOF
* 5_H
|\
| *-. 5_G
@ -257,7 +252,7 @@ test_expect_success 'log --graph with multiple tips' '
git checkout 6_1 &&
git merge --no-ff 6_2 -m 6_I &&

check_graph 6_1 6_3 6_5 <<-\EOF
lib_test_check_graph 6_1 6_3 6_5 <<-\EOF
* 6_I
|\
| | * 6_H
@ -334,7 +329,7 @@ test_expect_success 'log --graph with multiple tips' '
git checkout -b M_7 7_1 &&
git merge --no-ff 7_2 7_3 -m 7_M4 &&

check_graph M_1 M_3 M_5 M_7 <<-\EOF
lib_test_check_graph M_1 M_3 M_5 M_7 <<-\EOF
* 7_M1
|\
| | * 7_M2
@ -371,7 +366,7 @@ test_expect_success 'log --graph with multiple tips' '
'

test_expect_success 'log --graph --graph-lane-limit=2 limited to two lanes' '
check_graph --graph-lane-limit=2 M_7 <<-\EOF
lib_test_check_graph --graph-lane-limit=2 M_7 <<-\EOF
*-. 7_M4
|\ \
| | * 7_G
@ -388,7 +383,7 @@ test_expect_success 'log --graph --graph-lane-limit=2 limited to two lanes' '
'

test_expect_success 'log --graph --graph-lane-limit=1 truncate mid octopus merge' '
check_graph --graph-lane-limit=1 M_7 <<-\EOF
lib_test_check_graph --graph-lane-limit=1 M_7 <<-\EOF
*-~ 7_M4
|\~
| ~ 7_G
@ -405,7 +400,7 @@ test_expect_success 'log --graph --graph-lane-limit=1 truncate mid octopus merge
'

test_expect_success 'log --graph --graph-lane-limit=3 limited to three lanes' '
check_graph --graph-lane-limit=3 M_1 M_3 M_5 M_7 <<-\EOF
lib_test_check_graph --graph-lane-limit=3 M_1 M_3 M_5 M_7 <<-\EOF
* 7_M1
|\
| | * 7_M2
@ -441,7 +436,7 @@ test_expect_success 'log --graph --graph-lane-limit=3 limited to three lanes' '
'

test_expect_success 'log --graph --graph-lane-limit=6 check if it only shows first of 3 parent merge' '
check_graph --graph-lane-limit=6 M_1 M_3 M_5 M_7 <<-\EOF
lib_test_check_graph --graph-lane-limit=6 M_1 M_3 M_5 M_7 <<-\EOF
* 7_M1
|\
| | * 7_M2
@ -478,7 +473,7 @@ test_expect_success 'log --graph --graph-lane-limit=6 check if it only shows fir
'

test_expect_success 'log --graph --graph-lane-limit=7 check if it shows all 3 parent merge' '
check_graph --graph-lane-limit=7 M_1 M_3 M_5 M_7 <<-\EOF
lib_test_check_graph --graph-lane-limit=7 M_1 M_3 M_5 M_7 <<-\EOF
* 7_M1
|\
| | * 7_M2

View File

@ -13,11 +13,6 @@ export GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
. ./test-lib.sh
. "$TEST_DIRECTORY"/lib-log-graph.sh

check_graph () {
cat >expect &&
lib_test_cmp_graph --format=%s "$@"
}

test_expect_success 'set up rev-list --graph test' '
# 3 commits on branch A
test_commit A1 foo.txt &&
@ -54,7 +49,7 @@ test_expect_success 'set up rev-list --graph test' '
'

test_expect_success '--graph --all' '
check_graph --all <<-\EOF
lib_test_check_graph --all <<-\EOF
* A7
* A6
|\
@ -82,7 +77,7 @@ test_expect_success '--graph --all' '
# that undecorated merges are interesting, even with --simplify-by-decoration
test_expect_success '--graph --simplify-by-decoration' '
git tag -d A4 &&
check_graph --all --simplify-by-decoration <<-\EOF
lib_test_check_graph --all --simplify-by-decoration <<-\EOF
* A7
* A6
|\
@ -114,7 +109,7 @@ test_expect_success 'setup: get rid of decorations on B' '

# Graph with branch B simplified away
test_expect_success '--graph --simplify-by-decoration prune branch B' '
check_graph --simplify-by-decoration --all <<-\EOF
lib_test_check_graph --simplify-by-decoration --all <<-\EOF
* A7
* A6
|\
@ -133,7 +128,7 @@ test_expect_success '--graph --simplify-by-decoration prune branch B' '
'

test_expect_success '--graph --full-history -- bar.txt' '
check_graph --full-history --all -- bar.txt <<-\EOF
lib_test_check_graph --full-history --all -- bar.txt <<-\EOF
* A7
* A6
|\
@ -148,7 +143,7 @@ test_expect_success '--graph --full-history -- bar.txt' '
'

test_expect_success '--graph --full-history --simplify-merges -- bar.txt' '
check_graph --full-history --simplify-merges --all -- bar.txt <<-\EOF
lib_test_check_graph --full-history --simplify-merges --all -- bar.txt <<-\EOF
* A7
* A6
|\
@ -161,7 +156,7 @@ test_expect_success '--graph --full-history --simplify-merges -- bar.txt' '
'

test_expect_success '--graph -- bar.txt' '
check_graph --all -- bar.txt <<-\EOF
lib_test_check_graph --all -- bar.txt <<-\EOF
* A7
* A5
* A3
@ -172,7 +167,7 @@ test_expect_success '--graph -- bar.txt' '
'

test_expect_success '--graph --sparse -- bar.txt' '
check_graph --sparse --all -- bar.txt <<-\EOF
lib_test_check_graph --sparse --all -- bar.txt <<-\EOF
* A7
* A6
* A5
@ -189,7 +184,7 @@ test_expect_success '--graph --sparse -- bar.txt' '
'

test_expect_success '--graph ^C4' '
check_graph --all ^C4 <<-\EOF
lib_test_check_graph --all ^C4 <<-\EOF
* A7
* A6
* A5
@ -202,7 +197,7 @@ test_expect_success '--graph ^C4' '
'

test_expect_success '--graph ^C3' '
check_graph --all ^C3 <<-\EOF
lib_test_check_graph --all ^C3 <<-\EOF
* A7
* A6
|\
@ -220,7 +215,7 @@ test_expect_success '--graph ^C3' '
# that important, but this test depends on it. If the ordering ever changes
# in the code, we'll need to update this test.
test_expect_success '--graph --boundary ^C3' '
check_graph --boundary --all ^C3 <<-\EOF
lib_test_check_graph --boundary --all ^C3 <<-\EOF
* A7
* A6
|\