diff options
| -rwxr-xr-x | contrib/maxlen.bash | 37 | ||||
| -rw-r--r-- | tests/defaults/main_test.go | 5 | 
2 files changed, 25 insertions, 17 deletions
| diff --git a/contrib/maxlen.bash b/contrib/maxlen.bash index 14d40da..99ffb1f 100755 --- a/contrib/maxlen.bash +++ b/contrib/maxlen.bash @@ -32,25 +32,36 @@ while true ; do  		echo "error: file $PWD/$NEXT already exists"  		exit 1  	fi -	touch $NEXT 2> /dev/null || break +	echo -n 2> /dev/null > $NEXT || break  	rm $NEXT  	NAME="$NEXT"  done  echo "${#NAME}" -echo -n "  Maximum dirname length:  " -# Add one character at a time until we hit an error -NAME="" -while true ; do -	NEXT="${NAME}x" -	mkdir $NEXT 2> /dev/null || break -	rmdir $NEXT -	NAME="$NEXT" -done -MAX_DIRNAME=${#NAME} -echo "${#NAME}" +# Set to 0 if undefined +: ${QUICK:=0} + +if [[ $QUICK -ne 1 ]]; then +	echo -n "  Maximum dirname length:  " +	# Add one character at a time until we hit an error +	NAME="" +	while true ; do +		NEXT="${NAME}x" +		mkdir $NEXT 2> /dev/null || break +		rmdir $NEXT +		NAME="$NEXT" +	done +	MAX_DIRNAME=${#NAME} +	echo "${#NAME}" +fi + +if [[ $QUICK -eq 1 ]]; then +	CHARS_TODO=100 +else +	CHARS_TODO="1 10 100 $MAX_DIRNAME" +fi -for CHARS_PER_SUBDIR in 1 10 100 $MAX_DIRNAME ; do +for CHARS_PER_SUBDIR in $CHARS_TODO ; do  	echo -n "  Maximum path length with $(printf %3d $CHARS_PER_SUBDIR) chars per subdir: "  	if [[ $INTERACTIVE -eq 1 ]] ; then  		echo -n "    " diff --git a/tests/defaults/main_test.go b/tests/defaults/main_test.go index 4e5ffea..b356f41 100644 --- a/tests/defaults/main_test.go +++ b/tests/defaults/main_test.go @@ -380,6 +380,7 @@ func TestMaxlen(t *testing.T) {  		t.Fatal(err)  	}  	cmd := exec.Command("../../contrib/maxlen.bash", workDir) +	cmd.Env = []string{"QUICK=1"}  	out, err := cmd.CombinedOutput()  	if err != nil {  		t.Log(string(out)) @@ -387,11 +388,7 @@ func TestMaxlen(t *testing.T) {  	}  	want := `    Maximum filename length: 255 -  Maximum dirname length:  255 -  Maximum path length with   1 chars per subdir: 4095 -  Maximum path length with  10 chars per subdir: 4095    Maximum path length with 100 chars per subdir: 4095 -  Maximum path length with 255 chars per subdir: 4095  `  	if !strings.HasSuffix(string(out), want) {  		t.Errorf("wrong output: %s", string(out)) | 
