[LTP] [PATCH] commands/which: Added new testcase to test which(1).
    Cyril Hrubis 
    chrubis@suse.cz
       
    Thu Dec  3 14:33:18 CET 2015
    
    
  
Hi!
> +setup()
> +{
> +	tst_require_root
Do we really need root for the test?
> +	tst_check_cmds which
> +
> +	tst_tmpdir
> +
> +	TST_CLEANUP="cleanup"
> +
> +	touch programname
> +	chmod +x programname
> +	PATH=$PATH:.
> +
> +	mkdir bin
> +	touch bin/programname
> +	chmod +x bin/programname
> +	PATH=$PATH:./bin
> +
> +	alias programname='programname -i'
> +}
> +
> +cleanup()
> +{
> +	tst_rmdir
> +}
> +
> +which_verify()
> +{
> +	local which_op=$1
> +	local prog_name=$2
> +
> +	if [ -z "$which_op" ]; then
> +		grep -q `pwd`/"$prog_name" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +	elif [ "$which_op" = "--all" ] || [ "$which_op" = "-a" ]; then
> +		grep -q `pwd`/"$prog_name" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +		grep -q `pwd`/bin/"$prog_name" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +	elif [ "$which_op" = "--read-alias" ] || [ "$which_op" = "-i" ]; then
> +		grep -q "programname='programname -i'" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +		grep -q `pwd`/"$prog_name" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +	elif [ "$which_op" = "--skip-alias" ]; then
> +		grep -q "programname='programname -i'" temp
> +		if [ $? -eq 0 ]; then
> +			return 1
> +		fi
> +		grep -q `pwd`/"$prog_name" temp
> +		if [ $? -ne 0 ]; then
> +			return 1
> +		fi
> +	fi
Again, why don't we rather pass the expected paths as the parameters to
the which_test function? For example:
which_test "-a" "programname" "$PWD/programname" $PWD/bin/programname"
Then we will do shift twice in the which_test() and loop over the rest
of the $@ doing grep in the temp for each iteration.
-- 
Cyril Hrubis
chrubis@suse.cz
    
    
More information about the Ltp
mailing list