gramps/test/impex.sh
Alex Roitman 3fe3482efb In .:
2006-05-01  Alex Roitman  <shura@gramps-project.org>
	* various: merge changes from gramps20.

In po:
2006-05-01  Alex Roitman  <shura@gramps-project.org>
	* POTFILES.in: Add new file.



svn: r6504
2006-05-01 21:11:26 +00:00

71 lines
2.3 KiB
Bash
Executable File

#! /bin/sh
#
# Import/export test for GRAMPS:
# o Import example XML data and create GRDB
# o Open produced GRDB, then
# * check data for integrity
# * output in all formats
# o Check resulting XML for well-formedness and validate it
# against DTD and RelaxNG schema.
# o Import ever file produced and run summary on it.
# $Id$
TOP_DIR=`dirname $PWD`
TEST_DIR=$TOP_DIR/test
SRC_DIR=$TOP_DIR/src
PRG="python gramps.py"
EXAMPLE_XML=$TOP_DIR/example/gramps/example.gramps
OUT_FMT="gedcom gramps-xml gramps-pkg wft geneweb"
IN_FMT="gedcom gramps-xml gramps-pkg"
DATA_DIR=$TEST_DIR/data
mkdir -p $DATA_DIR
if [ -f $DATA_DIR/example.grdb ]; then
rm $DATA_DIR/example.grdb
fi
echo ""
echo "+--------------------------------------------------------------"
echo "| Import XML, write GRDB"
echo "+--------------------------------------------------------------"
OPTS="-i $EXAMPLE_XML -o $DATA_DIR/example.grdb"
(cd $SRC_DIR; $PRG $OPTS)
echo ""
echo "+--------------------------------------------------------------"
echo "| Check GRDB for errors"
echo "+--------------------------------------------------------------"
OPTS="-O $DATA_DIR/example.grdb -a tool -p name=check"
(cd $SRC_DIR; $PRG $OPTS)
echo ""
echo "+--------------------------------------------------------------"
echo "| Open GRDB, write all other formats"
echo "+--------------------------------------------------------------"
OPTS="-O $DATA_DIR/example.grdb"
for fmt in $OUT_FMT; do
OPTS="$OPTS -o $DATA_DIR/example.$fmt -f $fmt"
done
(cd $SRC_DIR; $PRG $OPTS)
echo ""
echo "+--------------------------------------------------------------"
echo "| Validate produced XML"
echo "+--------------------------------------------------------------"
echo "* Regular well-formedness and DTD validation"
xmllint --noout --valid $DATA_DIR/example.gramps-xml
echo "* Post-parsing DTD validation"
xmllint --noout --postvalid $DATA_DIR/example.gramps-xml
echo "* Validate against RelaxNG schema"
xmllint --noout --relaxng $TOP_DIR/doc/grampsxml.rng $DATA_DIR/example.gramps-xml
echo ""
echo "+--------------------------------------------------------------"
echo "| Import all produced files and print summary"
echo "+--------------------------------------------------------------"
for fmt in $IN_FMT; do
OPTS="-i $DATA_DIR/example.$fmt -f $fmt -a summary"
(cd $SRC_DIR; $PRG $OPTS)
done