Re: [PATCH 2/3] p7300: added performance tests for clean
From: Torsten Bögershausen <hidden>
Date: 2016-06-15 23:04:23
On 2015-04-06 13.48, Erik Elfström wrote:
quoted hunk ↗ jump to hunk
Signed-off-by: Erik Elfström <redacted> --- t/perf/p7300-clean.sh | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100755 t/perf/p7300-clean.shdiff --git a/t/perf/p7300-clean.sh b/t/perf/p7300-clean.sh new file mode 100755 index 0000000..3f56fb2 --- /dev/null +++ b/t/perf/p7300-clean.sh@@ -0,0 +1,37 @@ +#!/bin/sh + +test_description="Test git-clean performance" + +. ./perf-lib.sh + +test_perf_large_repo +test_checkout_worktree + +test_expect_success 'setup untracked directory with many sub dirs' ' + rm -rf 500_sub_dirs 50000_sub_dirs clean_test_dir && + mkdir 500_sub_dirs 50000_sub_dirs clean_test_dir && + for i in $(seq 1 500)
I think "seq" is bash-only, and can be easily replaced by "test_seq"
quoted hunk ↗ jump to hunk
+ do + mkdir 500_sub_dirs/dir$i + done && + for i in $(seq 1 100) + do + cp -r 500_sub_dirs 50000_sub_dirs/dir$i + done +' + +test_perf 'clean many untracked sub dirs, check for nested git' ' + rm -rf clean_test_dir/50000_sub_dirs_cpy && + cp -r 50000_sub_dirs clean_test_dir/50000_sub_dirs_cpy && + git clean -q -f -d clean_test_dir/ && + test 0 = $(ls -A clean_test_dir/ | wc -l)
Is the "ls -A" portable on all systems: http://pubs.opengroup.org/onlinepubs/009695399/utilities/ls.html My feeling is that the "emptiness" of a directory can by tested by simply removing it:
+ git clean -q -f -d clean_test_dir/ && + rmdir clean_test_dir
(And similar below)