From: Jeff King <peff@xxxxxxxx> This just runs some simple blame-tree's. We already test correctness in the regular suite, so this is just about finding performance regressions from one version to another. Signed-off-by: Toon Claes <toon@xxxxxxxxx> --- t/perf/p8020-blame-tree.sh | 21 +++++++++++++++++++++ t/t8020-blame-tree.sh | 19 ++++++++++--------- 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/t/perf/p8020-blame-tree.sh b/t/perf/p8020-blame-tree.sh new file mode 100755 index 0000000000..6c4c2a369e --- /dev/null +++ b/t/perf/p8020-blame-tree.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +test_description='blame-tree perf tests' +. ./perf-lib.sh + +test_perf_default_repo + +test_perf 'top-level blame-tree' ' + git blame-tree HEAD +' + +test_perf 'top-level recursive blame-tree' ' + git blame-tree -r HEAD +' + +test_perf 'subdir blame-tree' ' + path=$(git ls-tree HEAD | grep ^040000 | head -n 1 | cut -f2) + git blame-tree -r HEAD -- "$path" +' + +test_done diff --git a/t/t8020-blame-tree.sh b/t/t8020-blame-tree.sh index c11876c210..6a1db7efaa 100755 --- a/t/t8020-blame-tree.sh +++ b/t/t8020-blame-tree.sh @@ -43,7 +43,7 @@ check_blame() { } test_expect_success 'blame recursive' ' - check_blame --recursive <<-\EOF + check_blame -r <<-\EOF 1 file 2 a/file 3 a/b/file @@ -51,7 +51,7 @@ test_expect_success 'blame recursive' ' ' test_expect_success 'blame non-recursive' ' - check_blame --no-recursive <<-\EOF + check_blame <<-\EOF 1 file 3 a EOF @@ -64,40 +64,41 @@ test_expect_success 'blame subdir' ' ' test_expect_success 'blame subdir recursive' ' - check_blame --recursive a <<-\EOF + check_blame -r a <<-\EOF 2 a/file 3 a/b/file EOF ' test_expect_success 'blame from non-HEAD commit' ' - check_blame --no-recursive HEAD^ <<-\EOF + check_blame HEAD^ <<-\EOF 1 file 2 a EOF ' test_expect_success 'blame from subdir defaults to root' ' - check_blame -C a --no-recursive <<-\EOF + check_blame -C a <<-\EOF 1 file 3 a EOF ' test_expect_success 'blame from subdir uses relative pathspecs' ' - check_blame -C a --recursive b <<-\EOF + check_blame -C a -r b <<-\EOF 3 a/b/file EOF ' -test_expect_failure 'limit blame traversal by count' ' - check_blame --no-recursive -1 <<-\EOF +test_expect_success 'limit blame traversal by count' ' + check_blame <<-\EOF 3 a + ^2 file EOF ' test_expect_success 'limit blame traversal by commit' ' - check_blame --no-recursive HEAD~2..HEAD <<-\EOF + check_blame HEAD~2..HEAD <<-\EOF 3 a ^1 file EOF -- 2.49.0.rc2