diff --git a/Magick++/Makefile.am b/Magick++/Makefile.am
index 2188f26..c2e4373 100644
--- a/Magick++/Makefile.am
+++ b/Magick++/Makefile.am
@@ -37,42 +37,8 @@
 	Magick++/lib/ImageMagick++.pc
 
 MAGICKPP_TEST_SCRIPTS_OPT = \
-	Magick++/tests/exceptions.sh \
-	Magick++/tests/appendImages.sh \
-	Magick++/tests/attributes.sh \
-	Magick++/tests/averageImages.sh \
-	Magick++/tests/coalesceImages.sh \
-	Magick++/tests/coderInfo.sh \
-	Magick++/tests/colorHistogram.sh \
-	Magick++/tests/color.sh \
-	Magick++/tests/montageImages.sh \
-	Magick++/tests/morphImages.sh \
-	Magick++/tests/readWriteBlob.sh \
-	Magick++/tests/readWriteImages.sh \
-	Magick++/demo/analyze.sh \
-	Magick++/demo/button.sh \
-	Magick++/demo/demo.sh \
-	Magick++/demo/flip.sh \
-	Magick++/demo/gravity.sh \
-	Magick++/demo/piddle.sh \
-	Magick++/demo/shapes.sh \
-	Magick++/demo/zoom_bessel.sh \
-	Magick++/demo/zoom_blackman.sh \
-	Magick++/demo/zoom_box.sh \
-	Magick++/demo/zoom_catrom.sh \
-	Magick++/demo/zoom_cubic.sh \
-	Magick++/demo/zoom_gaussian.sh \
-	Magick++/demo/zoom_hamming.sh \
-	Magick++/demo/zoom_hanning.sh \
-	Magick++/demo/zoom_hermite.sh \
-	Magick++/demo/zoom_lanczos.sh \
-	Magick++/demo/zoom_mitchell.sh \
-	Magick++/demo/zoom_point.sh \
-	Magick++/demo/zoom_quadratic.sh \
-	Magick++/demo/zoom_sample.sh \
-	Magick++/demo/zoom_scale.sh \
-	Magick++/demo/zoom_sinc.sh \
-	Magick++/demo/zoom_triangle.sh
+	Magick++/tests/tests.tap \
+	Magick++/demo/demos.tap
 
 MAGICKPP_EXTRA_DIST = \
 	Magick++/AUTHORS \
diff --git a/Magick++/demo/analyze.sh b/Magick++/demo/analyze.sh
deleted file mode 100755
index 5690f72..0000000
--- a/Magick++/demo/analyze.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} ./analyze "$SRCDIR/model.miff" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/button.sh b/Magick++/demo/button.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/button.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/demo.sh b/Magick++/demo/demo.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/demo.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/demos.tap b/Magick++/demo/demos.tap
new file mode 100755
index 0000000..cbeca5e
--- /dev/null
+++ b/Magick++/demo/demos.tap
@@ -0,0 +1,26 @@
+#!/bin/sh
+#
+# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
+#
+# This file is part of Magick++, the C++ API for ImageMagick and
+# ImageMagick.  Please see the file "COPYING" included with Magick++
+# for usage and copying restrictions.
+#
+SRCDIR=`dirname $0`
+SRCDIR=`cd $SRCDIR && pwd`/
+echo "1..24"
+
+cd Magick++/demo || exit 1
+
+./analyze "$SRCDIR/model.miff" && echo "ok" || echo "not ok"
+
+for demo in button demo flip gravity piddle shapes
+do
+  ${demo} && echo "ok" || echo "not ok"
+done
+
+for filter in bessel blackman box catrom cubic gaussian hamming hanning hermite lanczos mitchell point quadratic sample scale sinc triangle
+do
+  ./zoom -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff && echo "ok" || echo "not ok"
+done
+:
diff --git a/Magick++/demo/detrans.sh b/Magick++/demo/detrans.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/detrans.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/flip.sh b/Magick++/demo/flip.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/flip.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/gravity.sh b/Magick++/demo/gravity.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/gravity.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/piddle.sh b/Magick++/demo/piddle.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/piddle.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/shapes.sh b/Magick++/demo/shapes.sh
deleted file mode 100755
index 9fdb5d4..0000000
--- a/Magick++/demo/shapes.sh
+++ /dev/null
@@ -1,29 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-executable=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-
-outfile="test_${executable}.out"
-
-rm -f $outfile
-${MEMCHECK} "./${executable}" 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_bessel.sh b/Magick++/demo/zoom_bessel.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_bessel.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_blackman.sh b/Magick++/demo/zoom_blackman.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_blackman.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_box.sh b/Magick++/demo/zoom_box.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_box.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_catrom.sh b/Magick++/demo/zoom_catrom.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_catrom.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_cubic.sh b/Magick++/demo/zoom_cubic.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_cubic.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_gaussian.sh b/Magick++/demo/zoom_gaussian.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_gaussian.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_hamming.sh b/Magick++/demo/zoom_hamming.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_hamming.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_hanning.sh b/Magick++/demo/zoom_hanning.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_hanning.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_hermite.sh b/Magick++/demo/zoom_hermite.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_hermite.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_lanczos.sh b/Magick++/demo/zoom_lanczos.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_lanczos.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_mitchell.sh b/Magick++/demo/zoom_mitchell.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_mitchell.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_point.sh b/Magick++/demo/zoom_point.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_point.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_quadratic.sh b/Magick++/demo/zoom_quadratic.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_quadratic.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_sample.sh b/Magick++/demo/zoom_sample.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_sample.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_scale.sh b/Magick++/demo/zoom_scale.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_scale.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_sinc.sh b/Magick++/demo/zoom_sinc.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_sinc.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/demo/zoom_triangle.sh b/Magick++/demo/zoom_triangle.sh
deleted file mode 100755
index d5abfa7..0000000
--- a/Magick++/demo/zoom_triangle.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-#!/bin/sh
-#
-# Copyright 2004 Bob Friesenhahn <bfriesen@simple.dallas.tx.us>
-#
-# This file is part of Magick++, the C++ API for ImageMagick and
-# ImageMagick.  Please see the file "COPYING" included with Magick++
-# for usage and copying restrictions.
-#
-
-SRCDIR=`dirname $0`
-SRCDIR=`cd $SRCDIR; pwd`/
-export SRCDIR
-cd Magick++/demo || exit 1
-
-base_test=`echo $0 | sed -e 's:.*/::g;s:test_::;s:\.sh::'`
-executable=`echo $base_test | sed -e 's:_.*$::'`
-filter=`echo $base_test | sed -e 's:.*_::'`
-
-outfile="test_${base_test}.out"
-
-rm -f $outfile
-${MEMCHECK} ./$executable -filter $filter -geometry 600x600 ${SRCDIR}/model.miff  ${executable}_${filter}_out.miff 2>&1 > $outfile
-status=$?
-if test $status -eq 1
-then
-  cat $outfile
-fi
-rm -f $outfile
-exit $status
-
-
diff --git a/Magick++/tests/tests.tap b/Magick++/tests/tests.tap
index aa0063d..5369bad 100755
--- a/Magick++/tests/tests.tap
+++ b/Magick++/tests/tests.tap
@@ -12,11 +12,8 @@
 
 cd Magick++/tests || exit 1
 
-tests='appendImages attributes averageImages coalesceImages coderInfo color
-  colorHistogram exceptions montageImages morphImages readWriteBlob readWriteImages'
-
-for mytest in $tests
+for mytest in appendImages attributes averageImages coalesceImages coderInfo color colorHistogram exceptions montageImages morphImages readWriteBlob readWriteImages
 do
-  ./mytest && echo "ok" || echo "not ok"
+  ${mytest} && echo "ok" || echo "not ok"
 done
 :
diff --git a/MagickCore/version.h b/MagickCore/version.h
index 3c7a8a2..457213d 100644
--- a/MagickCore/version.h
+++ b/MagickCore/version.h
@@ -27,7 +27,7 @@
 */
 #define MagickPackageName "ImageMagick"
 #define MagickCopyright  "Copyright (C) 1999-2012 ImageMagick Studio LLC"
-#define MagickSVNRevision  "9013:9032M"
+#define MagickSVNRevision  "9013:9036M"
 #define MagickLibVersion  0x700
 #define MagickLibVersionText  "7.0.0"
 #define MagickLibVersionNumber  7,0,0
diff --git a/MagickWand/drawtest.tap b/MagickWand/drawtest.tap
index 486acf4..5a8f8f5 100755
--- a/MagickWand/drawtest.tap
+++ b/MagickWand/drawtest.tap
@@ -10,5 +10,5 @@
 . ${srcdir}/MagickWand/common.shi
 echo "1..1"
 
-${MEMCHECK} ./drawtest drawtest_out.miff && echo "ok" || echo "not ok"
+./drawtest drawtest_out.miff && echo "ok" || echo "not ok"
 :
diff --git a/MagickWand/wandtest.tap b/MagickWand/wandtest.tap
index 5d1d3c8..55d5527 100755
--- a/MagickWand/wandtest.tap
+++ b/MagickWand/wandtest.tap
@@ -9,8 +9,8 @@
 #
 
 set -e # Exit on any error
-. ${srcdir}/MagickWand/common.sh
+. ${srcdir}/MagickWand/common.shi
 echo "1..1"
 
-${MEMCHECK} ./wandtest wandtest_out.miff -validate compare && echo "ok" || echo "not ok"
+./wandtest wandtest_out.miff -validate compare && echo "ok" || echo "not ok"
 :
diff --git a/Makefile.in b/Makefile.in
index 568a54f..bbe1266 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -4696,42 +4696,8 @@
 	Magick++/lib/ImageMagick++.pc
 
 MAGICKPP_TEST_SCRIPTS_OPT = \
-	Magick++/tests/exceptions.sh \
-	Magick++/tests/appendImages.sh \
-	Magick++/tests/attributes.sh \
-	Magick++/tests/averageImages.sh \
-	Magick++/tests/coalesceImages.sh \
-	Magick++/tests/coderInfo.sh \
-	Magick++/tests/colorHistogram.sh \
-	Magick++/tests/color.sh \
-	Magick++/tests/montageImages.sh \
-	Magick++/tests/morphImages.sh \
-	Magick++/tests/readWriteBlob.sh \
-	Magick++/tests/readWriteImages.sh \
-	Magick++/demo/analyze.sh \
-	Magick++/demo/button.sh \
-	Magick++/demo/demo.sh \
-	Magick++/demo/flip.sh \
-	Magick++/demo/gravity.sh \
-	Magick++/demo/piddle.sh \
-	Magick++/demo/shapes.sh \
-	Magick++/demo/zoom_bessel.sh \
-	Magick++/demo/zoom_blackman.sh \
-	Magick++/demo/zoom_box.sh \
-	Magick++/demo/zoom_catrom.sh \
-	Magick++/demo/zoom_cubic.sh \
-	Magick++/demo/zoom_gaussian.sh \
-	Magick++/demo/zoom_hamming.sh \
-	Magick++/demo/zoom_hanning.sh \
-	Magick++/demo/zoom_hermite.sh \
-	Magick++/demo/zoom_lanczos.sh \
-	Magick++/demo/zoom_mitchell.sh \
-	Magick++/demo/zoom_point.sh \
-	Magick++/demo/zoom_quadratic.sh \
-	Magick++/demo/zoom_sample.sh \
-	Magick++/demo/zoom_scale.sh \
-	Magick++/demo/zoom_sinc.sh \
-	Magick++/demo/zoom_triangle.sh
+	Magick++/tests/tests.tap \
+	Magick++/demo/demos.tap
 
 MAGICKPP_EXTRA_DIST = \
 	Magick++/AUTHORS \
diff --git a/config/configure.xml b/config/configure.xml
index c083004..30aabfe 100644
--- a/config/configure.xml
+++ b/config/configure.xml
@@ -10,7 +10,7 @@
   <configure name="VERSION" value="7.0.0"/>
   <configure name="LIB_VERSION" value="0x700"/>
   <configure name="LIB_VERSION_NUMBER" value="7,0,0,0"/>
-  <configure name="SVN_REVISION" value="9013:9032M" />
+  <configure name="SVN_REVISION" value="9013:9036M" />
   <configure name="RELEASE_DATE" value="2012-08-21"/>
   <configure name="CONFIGURE" value="./configure "/>
   <configure name="PREFIX" value="/usr/local"/>
diff --git a/configure b/configure
index 1bd307c..e69a343 100755
--- a/configure
+++ b/configure
@@ -3666,7 +3666,7 @@
 
 MAGICK_LIBRARY_VERSION_INFO=$MAGICK_LIBRARY_CURRENT:$MAGICK_LIBRARY_REVISION:$MAGICK_LIBRARY_AGE
 
-MAGICK_SVN_REVISION=9013:9032M
+MAGICK_SVN_REVISION=9013:9036M
 
 
 
diff --git a/tests/validate-colorspace.tap b/tests/validate-colorspace.tap
index 05d6617..d38f0a1 100755
--- a/tests/validate-colorspace.tap
+++ b/tests/validate-colorspace.tap
@@ -15,7 +15,7 @@
 #  limitations under the License.
 #
 . ${srcdir}/tests/common.shi
-echo "1..1"
+echo "1..19"
 
 depth=`eval ${MAGICK} xc:none -format '%[fx:QuantumRange]' info:-`
 if [ "X$depth" == "X255" ]; then
@@ -77,47 +77,41 @@
   color=`eval ${MAGICK} "$in" $cs "$out"`
 
   if [ "X$color" = "X$average" ]; then
-    printf "$format" "$test" "good"
-    return
+    return 0
   fi
   # Its failed the round-trip test, now report how it failed!
   error=true
   if [ "X$color" = "X$too_light" ]; then
-    printf "$format" "$test" "TOO_LIGHT"
-    return
+    return 1
   fi
   if [ "X$color" = "X$too_dark" ]; then
-    printf "$format" "$test" "TOO_DARK"
-    return
+    return 1
   fi
-  printf "$format" "$test" "UNKNOWN COLOR (expect $average, got $color)"
+  return 1
 }
 
 # ----------------
 
-test_color RGB     sRGB  # round trip (parts tested above)
+test_color RGB     sRGB && echo "ok" || echo "not ok"
 
-test_color XYZ     sRGB
-test_color XYZ RGB sRGB
-test_color RGB XYZ sRGB
+test_color XYZ     sRGB && echo "ok" || echo "not ok"
+test_color XYZ RGB sRGB && echo "ok" || echo "not ok"
+test_color RGB XYZ sRGB && echo "ok" || echo "not ok"
 
-test_color LAB     sRGB
-test_color XYZ LAB sRGB
-test_color LAB XYZ sRGB
-test_color RGB LAB sRGB
-test_color LAB RGB sRGB
+test_color LAB     sRGB && echo "ok" || echo "not ok"
+test_color XYZ LAB sRGB && echo "ok" || echo "not ok"
+test_color LAB XYZ sRGB && echo "ok" || echo "not ok"
+test_color RGB LAB sRGB && echo "ok" || echo "not ok"
+test_color LAB RGB sRGB && echo "ok" || echo "not ok"
 
-test_color CMY   sRGB
-test_color CMYK  sRGB
-test_color HSL   sRGB
-test_color HSB   sRGB
-test_color HWB   sRGB
-test_color Log   sRGB
-test_color YIQ   sRGB
-test_color YUV   sRGB
-test_color YCbCr sRGB
-test_color OHTA  sRGB
-
-$error && exit 1 # return the overall error result
-exit 0
+test_color CMY   sRGB && echo "ok" || echo "not ok"
+test_color CMYK  sRGB && echo "ok" || echo "not ok"
+test_color HSL   sRGB && echo "ok" || echo "not ok"
+test_color HSB   sRGB && echo "ok" || echo "not ok"
+test_color HWB   sRGB && echo "ok" || echo "not ok"
+test_color Log   sRGB && echo "ok" || echo "not ok"
+test_color YIQ   sRGB && echo "ok" || echo "not ok"
+test_color YUV   sRGB && echo "ok" || echo "not ok"
+test_color YCbCr sRGB && echo "ok" || echo "not ok"
+test_color OHTA  sRGB && echo "ok" || echo "not ok"
 :
diff --git a/tests/validate-pipe.tap b/tests/validate-pipe.tap
index 3f7d266..ff4f383 100755
--- a/tests/validate-pipe.tap
+++ b/tests/validate-pipe.tap
@@ -19,37 +19,37 @@
 set -e # Exit on any error
 [ "X$srcdir" = "X" ] && srcdir=`pwd`
 . ${srcdir}/tests/common.shi
-echo "1..1"
+echo "1..17"
 
-${MAGICK} pnm:- null:   < ${REFERENCE_IMAGE}
-${MAGICK} pnm:- info:   < ${REFERENCE_IMAGE}
-${MAGICK} pnm:- miff:-  < ${REFERENCE_IMAGE} | ${IDENTIFY} -
-${MAGICK} pnm:- -       < ${REFERENCE_IMAGE} | ${IDENTIFY} -
-${MAGICK} ${REFERENCE_IMAGE} -write null:  null:
-${MAGICK} ${REFERENCE_IMAGE} -write info:  null:
-${MAGICK} ${REFERENCE_IMAGE} -write miff:- null: | ${IDENTIFY} -
-${MAGICK} ${REFERENCE_IMAGE} -write -      null: | ${IDENTIFY} -
+${MAGICK} pnm:- null:   < ${REFERENCE_IMAGE} && echo "ok" || echo "not ok"
+${MAGICK} pnm:- info:   < ${REFERENCE_IMAGE} && echo "ok" || echo "not ok"
+${MAGICK} pnm:- miff:-  < ${REFERENCE_IMAGE} | ${IDENTIFY} - && echo "ok" || echo "not ok"
+${MAGICK} pnm:- -       < ${REFERENCE_IMAGE} | ${IDENTIFY} - && echo "ok" || echo "not ok"
+${MAGICK} ${REFERENCE_IMAGE} -write null:  null: && echo "ok" || echo "not ok"
+${MAGICK} ${REFERENCE_IMAGE} -write info:  null: && echo "ok" || echo "not ok"
+${MAGICK} ${REFERENCE_IMAGE} -write miff:- null: | ${IDENTIFY} - && echo "ok" || echo "not ok"
+${MAGICK} ${REFERENCE_IMAGE} -write -      null: | ${IDENTIFY} - && echo "ok" || echo "not ok"
 
 # IMv7 "magick" testing
 # -read option
-${MAGICK} -read ${REFERENCE_IMAGE} info:
+${MAGICK} -read ${REFERENCE_IMAGE} info: && echo "ok" || echo "not ok"
 # -exit can be used insted of implicit write
-${MAGICK} ${REFERENCE_IMAGE} -write info: -exit
+${MAGICK} ${REFERENCE_IMAGE} -write info: -exit && echo "ok" || echo "not ok"
 # null: does not require an image during write
-${MAGICK} -write null: -exit
+${MAGICK} -write null: -exit && echo "ok" || echo "not ok"
 # implied write null: without image
-${MAGICK} ${REFERENCE_IMAGE} -write info: +delete null:
+${MAGICK} ${REFERENCE_IMAGE} -write info: +delete null: && echo "ok" || echo "not ok"
 # Write to file decriptor
-${MAGICK} ${REFERENCE_IMAGE} fd:6  6>&1 | ${IDENTIFY} -
+${MAGICK} ${REFERENCE_IMAGE} fd:6  6>&1 | ${IDENTIFY} - && echo "ok" || echo "not ok"
 # Read from file decriptor
 exec 5<${REFERENCE_IMAGE}
-${MAGICK} fd:5 info:
+${MAGICK} fd:5 info: && echo "ok" || echo "not ok"
 exec 5<&-
 # pipelined magick script
-echo "-read ${REFERENCE_IMAGE} -write info:" | ${MAGICK} -script -
+echo "-read ${REFERENCE_IMAGE} -write info:" | ${MAGICK} -script - && echo "ok" || echo "not ok"
 # pipelined magick script, input image pre-read
-echo "-write info:" | ${MAGICK} ${REFERENCE_IMAGE} -script -
+echo "-write info:" | ${MAGICK} ${REFERENCE_IMAGE} -script - && echo "ok" || echo "not ok"
 # pipelined script from file descriptor, read image from stdin
 echo "-read pnm:- -write info:" |\
-   ${MAGICK} -script fd:5 5<&0 <${REFERENCE_IMAGE}
+   ${MAGICK} -script fd:5 5<&0 <${REFERENCE_IMAGE} && echo "ok" || echo "not ok"
 :