#! /bin/sh

# Copyright (C) 2005  Network Applied Communication Laboratory Co., Ltd.
#
# This file is part of Rast.
# See the file COPYING for redistribution information.
#

[ -z "$top_builddir" ] && top_builddir=`dirname $0`/..
. "$top_builddir"/tests/set-test-env.sh

tmproot=`mktemp -d`
tmpfilename="$tmproot"/rast-db
set -xe

"$top_builddir"/examples/create "$tmpfilename"

"$top_builddir"/examples/register_document "$tmpfilename" \
  "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf
"$top_builddir"/examples/search "$tmpfilename" pdf | \
  grep '^hit_count: 1' >/dev/null 2>/dev/null

"$top_builddir"/examples/.libs/register_document \
  --mime-type unknown/x-rast-test-exception-initialize \
  "$tmpfilename" "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf 2>&1 | \
  egrep '^failure: .*: test error' 2>&1 >/dev/null

"$top_builddir"/examples/.libs/register_document \
  --mime-type unknown/x-rast-test-exception-invoke \
  "$tmpfilename" "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf 2>&1 | \
  egrep '^failure: .*: test error$' 2>&1 >/dev/null

"$top_builddir"/examples/.libs/register_document \
  --mime-type unknown/x-rast-test-break-invoke \
  "$tmpfilename" "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf 2>&1 | \
  egrep '^failure: .*: unexpected break$' 2>&1 >/dev/null

"$top_builddir"/examples/.libs/register_document \
  --mime-type unknown/x-rast-test-fatal-invoke \
  "$tmpfilename" "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf 2>&1 | \
  egrep '^failure(: .*)?: exception reentered$' 2>&1 >/dev/null

"$top_builddir"/examples/.libs/register_document \
  --mime-type unknown/x-rast-test-exception-pass \
  "$tmpfilename" "$top_srcdir"/tests/data/filter/en/pdfwriter.pdf 2>&1 | \
  egrep '^failure: .*: no such filter module' 2>&1 >/dev/null

rm -rf "$tmproot"

set +xe
echo succeeded.
exit 0
