[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