Hi!
The test as it is is messy and needs to be cleaned up before it gets new
testcases. Have a look at:

http://github.com/linux-test-project/ltp/wiki/Test-Writing-Guidelines#23-writing-a-testcase-in-shell

A few comments on the code follow:

> +# Function:             test02
> +#
> +# Description   - Test #2: Test that mv -b <file1> <file2> will move
> +#                 file1 to file2 and backup the file2.
> +#               - create file1 and file2.
> +#               - get the MD5 message of file2.
> +#               - mv -b file1 to file2
> +#               - get the MD5 message of backup file2.
> +#               - compare  with MD5 messages.

That is too much of comments, I can pretty much see what the code below
does. What should be here is that the test is testing mv -b
functionality.

> +# Return                - zero on success
> +#               - non zero on failure. return value from commands ($RC)
> +
> +test02()
> +{
> +     RC=0                    # Return value from commands.
> +     export TCID=mv02        # Name of the test case.
> +     export TST_COUNT=1      # Test number.

The TCID and TST_COUNT should be initialized only once in the test.

> +     tmpfile1=$LTPTMP/tst_mv.tmp/tmpfile1
> +     tmpfile2=$LTPTMP/tst_mv.tmp/tmpfile2
> +     backup_tmpfile2=$LTPTMP/tst_mv.tmp/tmpfile2~
> +
> +     $LTPBIN/tst_resm TINFO \
> +             "Test #2: mv -b <file1> <file2> will move dir1 to dir2"

The path to tst_resm must be in $PATH prior to the test execution, and
these should be executed without the global path.

> +     touch $tmpfile1 $tmpfile2 > $LTPTMP/tst_mv.err 2>&1 || RC=$?
> +     if [ $RC -ne 0 ]
> +     then
> +             $LTPBIN/tst_brk TBROK $LTPTMP/tst_mv.err NULL \
> +                     "Test #2: can not touch file1 and file2. Reason:"
> +             return $RC
> +     fi
> +
> +     MD5_old=`md5sum $tmpfile2 |awk '{print $1}'` > $LTPTMP/tst_mv.err \
> +             2>&1 || RC=$?
> +     if [ $RC -ne 0 ]
> +     then
> +             $LTPBIN/tst_brk TBROK $LTPTMP/tst_mv.err NULL \
> +                     "Test #2: can't get the MD5 message of file2. Reason:"
> +             return $RC
> +     fi
> +
> +     mv -b $tmpfile1 $tmpfile2  > $LTPTMP/tst_mv.err 2>&1 || RC=$?
> +     if [ $RC -ne 0 ]
> +     then
> +             $LTPBIN/tst_brk TBROK $LTPTMP/tst_mv.err NULL \
> +                     "Test #2: mv -b file1 file2 failed. Reason:"
> +             return $RC
> +     fi
> +
> +     # if mv  -b file1 file2 succeed,there will be "file2~" file
> +
> +     MD5_backup=`md5sum $tmpfile2 |awk '{print $1}'` > $LTPTMP/tst_mv.err \
> +             2>&1 || RC=$?
> +     if [ $RC -ne 0 ]
> +     then
> +             $LTPBIN/tst_brk TBROK $LTPTMP/tst_mv.err NULL \
> +             "Test #2: can not get the MD5 message of backup file2. Reason:"
> +             return $RC
> +     fi
> +
> +     if [ "$MD5_old" != "$MD5_backup" ]
> +     then
> +             $LTPBIN/tst_resm TFAIL \
> +                     "Test #2: mv -b failed"
> +             return $(($RC+1))
> +     else
> +             $LTPBIN/tst_resm TPASS "Test #2: mv -b success"
> +     fi
> +
> +     return $RC
> +}
>  
>  # Function:          main
>  #
> @@ -258,6 +333,15 @@ then
>       TFAILCNT=$(($TFAILCNT+1))
>  fi
>  
> +rm -fr $LTPTMP/tst_mv.*

We have tst_tmpdir() and tst_rmdir() to simplify this.

> +init || return $RC      # Exit if initializing testcases fails.
> +
> +test02 || RC=$?
> +if [ $RC -ne 0 ]
> +then
> +     TFAILCNT=$(($TFAILCNT+1))
> +fi
>  
>  rm -fr $LTPTMP/tst_mv.*

-- 
Cyril Hrubis
chru...@suse.cz

------------------------------------------------------------------------------
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list

Reply via email to