[v2] tests: replace perl usage with shell built-in

Message ID 1520881857-8692-1-git-send-email-adilger@dilger.ca
State Superseded
Headers show
Series
  • [v2] tests: replace perl usage with shell built-in
Related show

Commit Message

Andreas Dilger March 12, 2018, 7:10 p.m.
A couple of tests use perl only for generating a string of N characters
long.  Instead, expand an environment variable to the required length
to avoid the need for perl to be installed to run the regression tests.

Signed-off-by: Andreas Dilger <adilger@dilger.ca>
---
 tests/d_xattr_sorting/script   | 3 ++-
 tests/f_create_symlinks/script | 8 +++++---
 2 files changed, 7 insertions(+), 4 deletions(-)

Comments

Lukas Czerner March 12, 2018, 7:43 p.m. | #1
On Mon, Mar 12, 2018 at 01:10:57PM -0600, Andreas Dilger wrote:
> A couple of tests use perl only for generating a string of N characters
> long.  Instead, expand an environment variable to the required length
> to avoid the need for perl to be installed to run the regression tests.

Yeah, good point. Thanks!

> 
> Signed-off-by: Andreas Dilger <adilger@dilger.ca>
> ---
>  tests/d_xattr_sorting/script   | 3 ++-
>  tests/f_create_symlinks/script | 8 +++++---
>  2 files changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/tests/d_xattr_sorting/script b/tests/d_xattr_sorting/script
> index 459a66a..9db385f 100644
> --- a/tests/d_xattr_sorting/script
> +++ b/tests/d_xattr_sorting/script
> @@ -19,7 +19,8 @@ echo Exit status is $status >> $OUT
>  
>  B=$(mktemp ${TMPDIR:-/tmp}/b.XXXXXX)
>  
> -perl -e 'print "x" x 256;' > $B
> +F="xxxxxxxx"; F+=$F; F+=$F; F+=$F; F+=$F; F+=$F
> +echo "$F" | dd of=$B bs=256 count=1 2> /dev/null

How about this instead ?

B=`printf '%0.sx' $(seq 256)`


>  
>  echo "ea_set -f /tmp/b / security.SMEG64" > $OUT.new
>  $DEBUGFS -w -R "ea_set -f $B / security.SMEG64" $TMPFILE >> $OUT.new 2>&1
> diff --git a/tests/f_create_symlinks/script b/tests/f_create_symlinks/script
> index 779d92e..1d10d32 100644
> --- a/tests/f_create_symlinks/script
> +++ b/tests/f_create_symlinks/script
> @@ -23,11 +23,13 @@ echo Exit status is $status >> $OUT.new
>  sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
>  rm -f $OUT.new
>  
> +B="xxxxxxx"; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B
>  for i in 30 70 500 1023 1024 1500; do
> -	echo "debugfs -R \"symlink /l_$i /$(perl -e "print 'x' x $i;")\" test.img" >> $OUT
> -	$DEBUGFS -w -R "symlink /l_$i /$(perl -e "print 'x' x $i;")" $TMPFILE \
> -		 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT

	echo "debugfs -R \"symlink /l_$i /$(printf '%0.sx' $(seq $i))\" test.img"
	$DEBUGFS -w -R "symlink /l_$i /$(printf '%0.sx' $(seq $i))" $TMPFILE \
		 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT

untested but shoud work


> +	echo "debugfs -R \"symlink /l_$i /${B:1:i}\" test.img" >> $OUT
> +	$DEBUGFS -w -R "symlink /l_$i /${B:1:i}" $TMPFILE 2>&1 |
> +		sed -f $cmd_dir/filter.sed >> $OUT
>  done
> +unset B
>  
>  for i in 30 70 500 1023 1024 1500; do
>  	echo "debugfs -R \"stat /l_$i\" test.img" >> $OUT
> -- 
> 1.8.0
>

Patch

diff --git a/tests/d_xattr_sorting/script b/tests/d_xattr_sorting/script
index 459a66a..9db385f 100644
--- a/tests/d_xattr_sorting/script
+++ b/tests/d_xattr_sorting/script
@@ -19,7 +19,8 @@  echo Exit status is $status >> $OUT
 
 B=$(mktemp ${TMPDIR:-/tmp}/b.XXXXXX)
 
-perl -e 'print "x" x 256;' > $B
+F="xxxxxxxx"; F+=$F; F+=$F; F+=$F; F+=$F; F+=$F
+echo "$F" | dd of=$B bs=256 count=1 2> /dev/null
 
 echo "ea_set -f /tmp/b / security.SMEG64" > $OUT.new
 $DEBUGFS -w -R "ea_set -f $B / security.SMEG64" $TMPFILE >> $OUT.new 2>&1
diff --git a/tests/f_create_symlinks/script b/tests/f_create_symlinks/script
index 779d92e..1d10d32 100644
--- a/tests/f_create_symlinks/script
+++ b/tests/f_create_symlinks/script
@@ -23,11 +23,13 @@  echo Exit status is $status >> $OUT.new
 sed -f $cmd_dir/filter.sed -e "s;$TMPFILE;test.img;" $OUT.new >> $OUT
 rm -f $OUT.new
 
+B="xxxxxxx"; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B; B+=$B
 for i in 30 70 500 1023 1024 1500; do
-	echo "debugfs -R \"symlink /l_$i /$(perl -e "print 'x' x $i;")\" test.img" >> $OUT
-	$DEBUGFS -w -R "symlink /l_$i /$(perl -e "print 'x' x $i;")" $TMPFILE \
-		 2>&1 | sed -f $cmd_dir/filter.sed >> $OUT
+	echo "debugfs -R \"symlink /l_$i /${B:1:i}\" test.img" >> $OUT
+	$DEBUGFS -w -R "symlink /l_$i /${B:1:i}" $TMPFILE 2>&1 |
+		sed -f $cmd_dir/filter.sed >> $OUT
 done
+unset B
 
 for i in 30 70 500 1023 1024 1500; do
 	echo "debugfs -R \"stat /l_$i\" test.img" >> $OUT