summaryrefslogtreecommitdiffstats
path: root/testsuite/consistency
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/consistency')
-rwxr-xr-xtestsuite/consistency63
1 files changed, 63 insertions, 0 deletions
diff --git a/testsuite/consistency b/testsuite/consistency
new file mode 100755
index 0000000..d375b2e
--- /dev/null
+++ b/testsuite/consistency
@@ -0,0 +1,63 @@
+#!/bin/sh
+
+export LANG; LANG=C
+
+case $# in
+0) exec make consistency-real;;
+esac
+
+srcdir=$1
+bindir=$2
+libdir=$srcdir/libidu
+
+m_flag="-m $libdir/id-lang.map"
+
+errors=
+
+cmd="$bindir/mkid $m_flag $srcdir"
+echo $cmd
+if eval $cmd; then
+ files="`$bindir/fnid || exit 1`"
+
+ if $bindir/xtokid $m_flag $files |sort -u >ID.xti &&
+ $bindir/lid |sed -e 's/[ ].*//' |sort -u >ID.lid &&
+ cmp -s ID.xti ID.lid
+ then
+ rm -f ID.xti ID.lid
+ echo "Good. xtokid and lid agree."
+ else
+ mv ID.xti ID.bad-xti
+ mv ID.fid ID.bad-fid
+ 1>&2 echo "Oops! xtokid and lid disagree--look in ID.bad-{xtokid,lid}"
+ errors=t
+ fi
+
+ xtokid_file=$$.xti
+ fid_file=$$.fid
+
+ for file in $files
+ do
+ if $bindir/fid $file >$fid_file &&
+ $bindir/xtokid $m_flag $file |sort -u >$xtokid_file &&
+ cmp -s $xtokid_file $fid_file;
+ then
+ echo "Good. xtokid and fid agree for $file"
+ else
+ 1>&2 echo "Oops! xtokid and fid disagree for $file--look in $file.bad-{xtokid,fid}"
+ mv $xtokid_file $file.bad-xti
+ mv $fid_file $file.bad-fid
+ errors=t
+ fi
+ done
+ rm -f $xtokid_file $fid_file
+else
+ 1>&2 echo "Oops! mkid failed."
+ errors=t
+fi
+
+case x$errors in
+xt) echo "Some checks failed."
+ exit 1;;
+*) echo "All checks successful."
+ exit 0;;
+esac