OSDN Git Service

test script was improved.
[lha/lha.git] / tests / lha-test.in
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!