diff --git a/testsuite/testing.sh b/testsuite/testing.sh
index 08f4200..bec5976 100755
--- a/testsuite/testing.sh
+++ b/testsuite/testing.sh
@@ -56,45 +56,41 @@
 
 testing ()
 {
+  NAME="$1"
+  [ -z "$1" ] && NAME=$2
+
   if [ $# -ne 5 ]
   then
-    echo "Test $1 has the wrong number of arguments ($# $*)" >&2
+    echo "Test $NAME has the wrong number of arguments ($# $*)" >&2
     exit
   fi
 
-  if [ -n "$DEBUG" ] ; then
-    set -x
-  fi
+  [ -n "$DEBUG" ] && set -x
 
   if [ -n "$SKIP" ]
   then
-    echo "SKIPPED: $1"
+    echo "SKIPPED: $NAME"
     return 0
   fi
 
   echo -ne "$3" > expected
   echo -ne "$4" > input
-  echo -ne "$5" | eval "$COMMAND $2" > actual
+  [ -z "$VERBOSE" ] || echo "echo '$5' | $COMMAND $2"
+  echo -ne "$5" | eval "$2" > actual
   RETVAL=$?
 
   cmp expected actual > /dev/null
   if [ $? -ne 0 ]
   then
     FAILCOUNT=$[$FAILCOUNT+1]
-    echo "FAIL: $1"
-    if [ -n "$VERBOSE" ]
-    then
-      diff -u expected actual
-    fi
+    echo "FAIL: $NAME"
+    [ -n "$VERBOSE" ] && diff -u expected actual
   else
-    echo "PASS: $1"
+    echo "PASS: $NAME"
   fi
   rm -f input expected actual
 
-  if [ -n "$DEBUG" ]
-  then
-    set +x
-  fi
+  [ -n "$DEBUG" ] && set +x
 
   return $RETVAL
 }
@@ -108,6 +104,8 @@
 {
   [ $# -lt 2 ] && return
 
+  echo -n .
+
   dest=$1
   shift
   for i in "$@"
@@ -119,9 +117,38 @@
       mkdir -p "$dest/$d" &&
       cat "$i" > "$dest/$i" &&
       chmod +x "$dest/$i"
-    else
-      i="$dest/$i"
     fi
     mkchroot "$dest" $(ldd "$i" | egrep -o '/.* ')
   done
 }
+
+# Set up a chroot environment and run commands within it.
+# Needed commands listed on command line
+# Script fed to stdin.
+
+function dochroot
+{
+  mkdir tmpdir4chroot
+  mount -t ramfs tmpdir4chroot tmpdir4chroot
+  mkdir -p tmpdir4chroot/{etc,sys,proc,tmp,dev}
+  cp -L testing.sh tmpdir4chroot
+
+  # Copy utilities from command line arguments
+
+  echo -n "Setup chroot"
+  mkchroot tmpdir4chroot $*
+  echo
+
+  mknod tmpdir4chroot/dev/tty c 5 0
+  mknod tmpdir4chroot/dev/null c 1 3
+  mknod tmpdir4chroot/dev/zero c 1 5
+
+  # Copy script from stdin
+
+  cat > tmpdir4chroot/test.sh
+  chmod +x tmpdir4chroot/test.sh
+  chroot tmpdir4chroot /test.sh
+  umount -l tmpdir4chroot
+  rmdir tmpdir4chroot
+}
+
