]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Use better trap, etc.
authorJim Meyering <jim@meyering.net>
Fri, 19 Apr 2002 21:38:32 +0000 (21:38 +0000)
committerJim Meyering <jim@meyering.net>
Fri, 19 Apr 2002 21:38:32 +0000 (21:38 +0000)
tests/cp/backup-1

index 9ea2ba9f2e14127f114a36055eb5488185339c6e..a5bfee6033e7341d3897e352803e197fda43da3c 100755 (executable)
@@ -5,24 +5,36 @@ if test "$VERBOSE" = yes; then
   cp --version
 fi
 
+pwd=`pwd`
+tmp=`echo "$0"|sed 's,.*/,,'`.tmp
+trap 'status=$?; cd $pwd; rm -rf $tmp && exit $status' 0
+trap '(exit $?); exit' 1 2 13 15
+
+framework_failure=0
+mkdir -p $tmp || framework_failure=1
+cd $tmp || framework_failure=1
+
+if test $framework_failure = 1; then
+  echo '$0: failure in testing framework' 1>&2
+  (exit 1); exit
+fi
+
 suffix=.b
-tmp=b1.$$
-tmp_backup="$tmp$suffix"
-temp_files="$tmp $tmp_backup"
+file=b1.$$
+file_backup="$file$suffix"
+temp_files="$file $file_backup"
 rm -f $temp_files
 
 fail=0
-echo test > $tmp || fail=1
+echo test > $file || fail=1
 
 # Specify both version control and suffix so the environment variables
 # (possibly set by the user running these tests) aren't used.
-cp --force --backup=simple --suffix=$suffix $tmp $tmp \
+cp --force --backup=simple --suffix=$suffix $file $file \
   || fail=1
 
-test -f $tmp || fail=1
-test -f $tmp_backup || fail=1
-cmp $tmp $tmp_backup > /dev/null || fail=1
-
-rm -f $temp_files
+test -f $file || fail=1
+test -f $file_backup || fail=1
+cmp $file $file_backup > /dev/null || fail=1
 
-exit $fail
+(exit $fail); exit