hypre/test/TEST_sstruct/sstruct_struct.sh

79 lines
2.8 KiB
Bash
Raw Normal View History

#!/bin/sh
#BHEADER**********************************************************************
# Copyright (c) 2007, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Written by the HYPRE team. UCRL-CODE-222953.
# All rights reserved.
#
# This file is part of HYPRE (see http://www.llnl.gov/CASC/hypre/).
# Please see the COPYRIGHT_and_LICENSE file for the copyright notice,
# disclaimer, contact information and the GNU Lesser General Public License.
#
# HYPRE is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License (as published by the Free Software
# Foundation) version 2.1 dated February 1999.
#
# HYPRE is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the IMPLIED WARRANTY OF MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE. See the terms and conditions of the GNU General
# Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with this program; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#
# $Revision$
#EHEADER**********************************************************************
TNAME=`basename $0 .sh`
#=============================================================================
# sstruct: Tests the struct solvers called from the sstruct interface
#=============================================================================
tail -3 ${TNAME}.out.0 > ${TNAME}.testdata
tail -3 ${TNAME}.out.200 > ${TNAME}.testdata.temp
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
#=============================================================================
tail -3 ${TNAME}.out.1 > ${TNAME}.testdata
tail -3 ${TNAME}.out.201 > ${TNAME}.testdata.temp
diff ${TNAME}.testdata ${TNAME}.testdata.temp >&2
#=============================================================================
# compare with baseline case
#=============================================================================
FILES="\
${TNAME}.out.0\
${TNAME}.out.1\
${TNAME}.out.200\
${TNAME}.out.201\
"
for i in $FILES
do
echo "# Output file: $i"
tail -3 $i
done > ${TNAME}.out
# Make sure that the output files are reasonable
CHECK_LINE="Iterations"
OUT_COUNT=`grep "$CHECK_LINE" ${TNAME}.out | wc -l`
SAVED_COUNT=`grep "$CHECK_LINE" ${TNAME}.saved | wc -l`
if [ "$OUT_COUNT" != "$SAVED_COUNT" ]; then
echo "Incorrect number of \"$CHECK_LINE\" lines in ${TNAME}.out" >&2
fi
if [ -z $HYPRE_NO_SAVED ]; then
diff -U3 -bI"time" ${TNAME}.saved ${TNAME}.out >&2
fi
#=============================================================================
# remove temporary files
#=============================================================================
rm -f ${TNAME}.testdata*