OSDN Git Service

test script was improved.
authorarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Wed, 23 May 2007 15:04:10 +0000 (15:04 +0000)
committerarai <arai@6a8cc165-1e22-0410-a132-eb4e3f353aba>
Wed, 23 May 2007 15:04:10 +0000 (15:04 +0000)
* tests/lha-test.in: added an optional numeric command-line argument, and a command-line switch -n.
when the numeric argument is specified, only the testsuite is performed.
and the -n switch is specified, it is not made cleanup trash files which is result of the test.

* tests/lha-test11: On MS-Windows, should consider the length of current path.

* tests/lha-test11: On MS-Windows, if current directory is too deep, skip this test.

git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/lha/lha/trunk@871 6a8cc165-1e22-0410-a132-eb4e3f353aba

ChangeLog
tests/lha-test.in
tests/lha-test11

index d2e13f4..a849ce5 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,19 @@
 2007-05-23  Koji Arai  <arai@users.sourceforge.jp>
 
+       * tests/lha-test.in: added an optional numeric command-line
+       argument, and a command-line switch -n.
+        when the numeric argument is specified, only the testsuite is
+       performed.  and the -n switch is specified, it is not made cleanup
+       trash files which is result of the test.
+
+       * tests/lha-test11: On MS-Windows, should consider the length of
+       current path.
+
+       * tests/lha-test11: On MS-Windows, if current directory is too
+       deep, skip this test.
+
+2007-05-23  Koji Arai  <arai@users.sourceforge.jp>
+
        * config.h.in, configure.ac, src/lharc.c: the option -X was deprecated.
        In place of it, added a long option --ignore-mac-files which
        ignore Mac specific files ._*, .DS_Store and Icon\r when the
index cbd647c..3d64b21 100644 (file)
@@ -1,5 +1,13 @@
 #!/bin/bash
 
+for _opt
+do
+   case $_opt in
+   -n) no_cleanup=true; shift ;;
+   *) perform_number=$1; shift ;;
+   esac
+done
+
 # Be Bourne compatible
 # -- followings are derived from configure script generated by autoconf 2.59 --
 if test -n "${ZSH_VERSION+set}" && (emulate ksh) >/dev/null 2>&1; then
@@ -18,7 +26,9 @@ DUALCASE=1; export DUALCASE # for MKS sh
 : ${srcdir=@srcdir@}
 : ${builddir=$(cd @builddir@ && pwd)}
 
-trap '_stat=$?; rm -rf test-*; exit $_stat' 0 1 2 3 15
+if [[ x$no_cleanup = x ]]; then
+  trap '_stat=$?; rm -rf test-*; exit $_stat' 0 1 2 3 15
+fi
 
 typeset -i i   # for loop
 typeset -i test_number=0 error_num=0
@@ -60,7 +70,9 @@ check()
 
 cleanup()
 {
-  rm -rf test-tmp*
+  if [[ x$no_cleanup = x ]]; then
+    rm -rf test-tmp*
+  fi
 }
 
 testsuite()
@@ -94,29 +106,34 @@ message testing $lha_cmd
 message `$lha --version 2>&1`
 
 testsuite lha-test1            # create test data. it is needed for each test
-testsuite lha-test2
-testsuite lha-test3
-testsuite lha-test4
-testsuite lha-test5
-#testsuite lha-test6           # this feature was removed.
-testsuite lha-test7
-testsuite lha-test8
-#testsuite lha-test9           # incomplete
-testsuite lha-test10
-testsuite lha-test11
-testsuite lha-test12
-testsuite lha-test13
-case `$lha --version 2>&1` in
-*djgpp* | *-pc-mingw*)
-  # No symlink support on DJGPP and MinGW
-  message testing to handle symbolic links ... skip
-  ;;
-*)
-  testsuite lha-test14
-esac
-testsuite lha-test15
-testsuite lha-test16
-testsuite lha-test17
+
+if [[ $perform_number != "" ]]; then
+  testsuite lha-test$perform_number
+else
+  testsuite lha-test2
+  testsuite lha-test3
+  testsuite lha-test4
+  testsuite lha-test5
+  #testsuite lha-test6         # this feature was removed.
+  testsuite lha-test7
+  testsuite lha-test8
+  #testsuite lha-test9         # incomplete
+  testsuite lha-test10
+  testsuite lha-test11
+  testsuite lha-test12
+  testsuite lha-test13
+  case `$lha --version 2>&1` in
+  *djgpp* | *-pc-mingw*)
+    # No symlink support on DJGPP and MinGW
+    message testing to handle symbolic links ... skip
+    ;;
+  *)
+    testsuite lha-test14
+  esac
+  testsuite lha-test15
+  testsuite lha-test16
+  testsuite lha-test17
+fi
 
 if (( $error_num != 0 )); then
   message $error_num tests failed!
index 93c4ae0..3fe96e9 100644 (file)
@@ -8,14 +8,17 @@ message testing the long filename support
 # Note that on Cygwin/MinGW, on NTFS, the maximam length of whole path
 # name (contain the drive letter) is limited probably. it seems to be 259 (?)
 #
+
+# 255 bytes
+file=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345
+
 mkdir test-tmp1
 case $(uname) in
 MS-DOS* | CYGWIN*)
-  # 190 bytes
-  file=1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890 ;;
+  # omit the length of current path.
+  file=$(echo $file | cut -c$((echo X: && cd test-tmp1 && pwd && echo test-tmp1-hg) | wc -c)-)
+  ;;
 *)
-  # 255 bytes
-  file=123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345 ;;
 esac
 (cd test-tmp1 && touch $file)
                                                        check $? $LINENO
@@ -77,16 +80,22 @@ test -f test-tmp1-h2/test-tmp1/$file
 # 0x100 is never set on the header size field on level 2 header
 file=test-tmp9012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890
 touch $file
+if [ $? -ne 0 ]; then
+  echo "$FILENAME: Warning: current directory is too deep. skip this test..." >&2
+else
+
+  $lha c2 test-tmp4-h2.lzh $file
                                                        check $? $LINENO
-$lha c2 test-tmp4-h2.lzh $file
+  $lha vv test-tmp4-h2.lzh
                                                        check $? $LINENO
-$lha vv test-tmp4-h2.lzh
+  $lha vv test-tmp4-h2.lzh | egrep '\[2\].?$'
                                                        check $? $LINENO
-$lha vv test-tmp4-h2.lzh | egrep '\[2\].?$'
+  rm -f $file
                                                        check $? $LINENO
-$lha xw=test-tmp4 test-tmp4-h2.lzh
+  $lha x test-tmp4-h2.lzh
                                                        check $? $LINENO
-test x"`$lha vvvq test-tmp4-h2.lzh | head -1`" = x"00  2: 257(0x0101)"
+  test x"`$lha vvvq test-tmp4-h2.lzh | head -1`" = x"00  2: 257(0x0101)"
                                                        check $? $LINENO
-test -f test-tmp4/$file
+  test -f $file
                                                        check $? $LINENO
+fi