Check also for core file.
[gedcom-parse.git] / t / test_script
index fdef281fd7a660941217534e430e51cb0a8d0f0b..ae0aea24f9c7b61c6b41c40bf692b311262b789e 100755 (executable)
@@ -2,13 +2,48 @@
 # $Id$
 # $Name$
 
+options="-q"
+extra_options=
+
+while [ $# -gt 0 ]
+do
+  case "$1" in
+    -*) extra_options="$extra_options $1";;
+    *)  break;;
+  esac
+  shift
+done
+
 file=$1
+expected_result=$2
+if [ -z "$expected_result" ]
+then
+  expected_result=0
+fi
+
+# For use outside Makefile
+if [ -z "$srcdir" ]
+then
+  testfile=$file
+  srcdir=.
+  options=$extra_options
+else
+  testfile=t/input/$file
+  options="$options $extra_options"
+fi
 
 builddir=`pwd`
 cd $srcdir/..
-export GCONV_PATH=./ansel
-export LD_LIBRARY_PATH=$builddir/../gedcom/.libs
+export GCONV_PATH=./ansel:$GCONV_PATH
+export LD_LIBRARY_PATH=$builddir/../gedcom/.libs:$LD_LIBRARY_PATH
 cp $builddir/../ansel/.libs/ANSI_Z39.47.so ansel
-echo "=== testing $file"
-$builddir/../testgedcom -2 t/$file
+rm -f core
+$builddir/testgedcom $options $testfile
+result=$?
 rm ansel/ANSI_Z39.47.so
+if [ "$result" -eq "$expected_result" -a ! -r core ]
+then
+  exit 0
+else
+  exit 1
+fi