From 28caa83ad1cea4b87ed092396581e3aecdc2c6b5 Mon Sep 17 00:00:00 2001 From: pnenzi Date: Sun, 13 Mar 2005 17:27:47 +0000 Subject: [PATCH] New check script. --- ChangeLog | 6 ++++++ tests/bin/check.sh | 49 ++++++++++++++++++++++++++++++++++++++-------- 2 files changed, 47 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 515da23e3..ffccd4a63 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-03-13 Paolo Nenzi + + * tests/bin/check.sh: Changed the previous check script with the one + supplied by Dietmar warning . This new script + adds support for different architectures (MINGW32, Linux, SunOS). + 2005-03-07 Paolo Nenzi * src/spicelib/devices/bsim4/b4ld.c: commented out NEWCONV section. diff --git a/tests/bin/check.sh b/tests/bin/check.sh index 6d78e26bd..060a34fc9 100644 --- a/tests/bin/check.sh +++ b/tests/bin/check.sh @@ -1,15 +1,48 @@ -#! /bin/sh +#!/bin/sh -NGSPICE=$1 +SPICE=$1 TEST=$2 -DIFFPIPE="Added|Got|Reference|Analysis|CPU|memory|Date|Note|Sun|Mon|Tue|Wed|Thu|Fri|Sat|Jan|Feb|Mar|Apr|Jun|Jul|Aug|Sep|Oct|Nov|Dec" +FILTER="Note|Circuit|Trying|Reference|Date|Doing|---|v-sweep|time|Error|Warning|Data|Index|transfer|transient|acan|Transient|Noise|Analysis|Total|memory|Current" testname=`basename $TEST .cir` testdir=`dirname $TEST` -$NGSPICE --batch $testdir/$testname.cir 2>&1 | egrep -v $DIFFPIPE > $testname.test -if diff -u $testdir/$testname.out $testname.test; then - rm $testname.test - exit 0 -fi + +HOST_TYPE=`/bin/uname -srvm` + +case $HOST_TYPE in + MINGW32*) + $SPICE --batch $testdir/$testname.cir -o $testname.test &&\ + sed -e 's/e-000/e+000/g' $testname.test | sed 's/e-0/e-/g' | sed 's/e+0/e+/g' | egrep -v $FILTER > $testname.test_tmp &&\ + sed -e 's/-0$/ 0/g' $testdir/$testname.out | egrep -v $FILTER > $testname.out_tmp + if diff -B -w -u $testname.out_tmp $testname.test_tmp; then + rm $testname.test $testname.test_tmp $testname.out_tmp + exit 0 + fi + rm -f $testname.test_tmp $testname.out_tmp + sed -e 's/e-000/e+000/g' $testname.test | sed 's/e-0/e-/g' | sed 's/e+0/e+/g' > $testname.test_tmp + mv $testname.test_tmp $testname.test + ;; + Linux*) + $SPICE --batch $testdir/$testname.cir >$testname.test &&\ + egrep -v $FILTER $testname.test > $testname.test_tmp &&\ + egrep -v $FILTER $testdir/$testname.out > $testname.out_tmp + if diff -B -w -u $testname.out_tmp $testname.test_tmp; then + rm $testname.test $testname.test_tmp $testname.out_tmp + exit 0 + fi + rm -f $testname.test_tmp $testname.out_tmp + ;; + SunOS*) + $SPICE --batch $testdir/$testname.cir >$testname.test &&\ + sed -e '/^$/d' $testname.test | egrep -v $FILTER > $testname.test_tmp &&\ + sed -e '/^$/d' $testdir/$testname.out | egrep -v $FILTER > $testname.out_tmp + if diff -b -w $testname.out_tmp $testname.test_tmp; then + rm $testname.test $testname.test_tmp $testname.out_tmp + exit 0 + fi + rm -f $testname.test_tmp $testname.out_tmp + ;; +esac + exit 1