On Mon, Apr 6, 2015 at 4:40 PM, Torsten Bögershausen <[email protected]> wrote:
> On 2015-04-06 13.48, Erik Elfström wrote:
>> Signed-off-by: Erik Elfström <[email protected]>
>> ---
>> 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"
test_seq is definitely desirable. 'seq' is not present on some systems I use.
>
>> + do
>> + mkdir 500_sub_dirs/dir$i
You may want:
mkdir 500_sub_dirs/dir$i || return $?
to catch failure of 'mkdir'.
>> + done &&
>> + for i in $(seq 1 100)
>> + do
>> + cp -r 500_sub_dirs 50000_sub_dirs/dir$i
Ditto:
cp -r 500_sub_dirs 50000_sub_dirs/dir$i || return $?
>> + 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)
There's also the test_dir_is_empty() function which makes the intent
even clearer than 'rmdir'.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html