Add a new case to test 'mv -b':
* Create file1 and file2
* Mv -b file1 to file2
* Check backup file of file2

Signed-off-by: Cui Bixuan <cuibix...@huawei.com>
Helped-by: Alexey Kodanev <alexey.koda...@oracle.com>
---
v3: Add helped-by message.
v2: Changing the commit message and check the patch with 'checkpatch.pl' script

 .../commands/fileutils/mv/00_Descriptions.txt      |    3 +-
 testcases/commands/fileutils/mv/mv_tests.sh        |   84 ++++++++++++++++++++
 2 files changed, 86 insertions(+), 1 deletions(-)

diff --git a/testcases/commands/fileutils/mv/00_Descriptions.txt 
b/testcases/commands/fileutils/mv/00_Descriptions.txt
index 6d52868..57199bf 100644
--- a/testcases/commands/fileutils/mv/00_Descriptions.txt
+++ b/testcases/commands/fileutils/mv/00_Descriptions.txt
@@ -1,3 +1,4 @@
 test01
        mv <dir1> <dir2> will move dir1 to dir2 and all its contents.
-
+test02
+       mv -b <file1> <file2> will move file1 to file2 and backup the file2.
diff --git a/testcases/commands/fileutils/mv/mv_tests.sh 
b/testcases/commands/fileutils/mv/mv_tests.sh
index 207e945..cda9901 100755
--- a/testcases/commands/fileutils/mv/mv_tests.sh
+++ b/testcases/commands/fileutils/mv/mv_tests.sh
@@ -24,6 +24,8 @@
 # Description:  Test basic functionality of mv command
 #                              - Test #1:  mv <dir1> <dir2> will move dir1 to 
dir2 and all its
 #                                          contents.
+#                              - Test #2:  mv -b <file1> <file2> will move 
file1 to file2 and
+#                                          backup the file2.
 #
 # Author:       Manoj Iyer, ma...@mail.utexas.edu
 #
@@ -238,6 +240,79 @@ test01()
        return $RC
 }
 
+# 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.
+#
+# 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.
+
+       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"
+
+       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.*
+
+init || return $RC      # Exit if initializing testcases fails.
+
+test02 || RC=$?
+if [ $RC -ne 0 ]
+then
+       TFAILCNT=$(($TFAILCNT+1))
+fi
 
 rm -fr $LTPTMP/tst_mv.*
 
-- 
1.6.0.2


------------------------------------------------------------------------------
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