Skip to content

Commit f49a565

Browse files
elfstromgitster
authored andcommitted
p7300: add performance tests for clean
The tests are run in dry-run mode to avoid having to restore the test directories for each timed iteration. Using dry-run is an acceptable compromise since we are mostly interested in the initial computation of what to clean and not so much in the cleaning it self. Signed-off-by: Erik Elfström <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 91479b9 commit f49a565

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

t/perf/p7300-clean.sh

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
#!/bin/sh
2+
3+
test_description="Test git-clean performance"
4+
5+
. ./perf-lib.sh
6+
7+
test_perf_default_repo
8+
test_checkout_worktree
9+
10+
test_expect_success 'setup untracked directory with many sub dirs' '
11+
rm -rf 500_sub_dirs 100000_sub_dirs clean_test_dir &&
12+
mkdir 500_sub_dirs 100000_sub_dirs clean_test_dir &&
13+
for i in $(test_seq 1 500)
14+
do
15+
mkdir 500_sub_dirs/dir$i || return $?
16+
done &&
17+
for i in $(test_seq 1 200)
18+
do
19+
cp -r 500_sub_dirs 100000_sub_dirs/dir$i || return $?
20+
done
21+
'
22+
23+
test_perf 'clean many untracked sub dirs, check for nested git' '
24+
git clean -n -q -f -d 100000_sub_dirs/
25+
'
26+
27+
test_perf 'clean many untracked sub dirs, ignore nested git' '
28+
git clean -n -q -f -f -d 100000_sub_dirs/
29+
'
30+
31+
test_done

0 commit comments

Comments
 (0)