[PATCH RFC 2/5] t/perf: add blame-tree perf script

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux