Re: [PATCH 2/3] p7300: added performance tests for clean
- From
Torsten Bögershausen <tboegi@web.de>
- Date
- Apr 6, 2015, 20:40 UTC
- Message-ID
- <5522EF29.9000008@web.de>
- In-Reply-To
- <1428320904-12366-3-git-send-email-erik.elfstrom@gmail.com>
On 2015-04-06 13.48, Erik Elfström wrote:
Show 25 quoted lines
> Signed-off-by: Erik Elfström <erik.elfstrom@gmail.com> > --- > t/perf/p7300-clean.sh | 37 +++++++++++++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > create mode 100755 t/perf/p7300-clean.sh > > diff --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"
Show 14 quoted lines
> + 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)