Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  cmplitmushist.sh   Sprache: Shell

 
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0+
#
# Compares .out and .out.new files for each name on standard input,
# one full pathname per line.  Outputs comparison results followed by
# a summary.
#
# sh cmplitmushist.sh

T=/tmp/cmplitmushist.sh.$$
trap 'rm -rf $T' 0
mkdir $T

# comparetest oldpath newpath
badmacnam=0
timedout=0
perfect=0
obsline=0
noobsline=0
obsresult=0
badcompare=0
comparetest () {
 if grep -q ': Unknown macro ' $1 || grep -q ': Unknown macro ' $2
 then
  if grep -q ': Unknown macro ' $1
  then
   badname=`grep ': Unknown macro ' $1 |
    sed -e 's/^.*: Unknown macro //' |
    sed -e 's/ (User error).*$//'`
   echo 'Current LKMM version does not know "'$badname'"' $1
  fi
  if grep -q ': Unknown macro ' $2
  then
   badname=`grep ': Unknown macro ' $2 |
    sed -e 's/^.*: Unknown macro //' |
    sed -e 's/ (User error).*$//'`
   echo 'Current LKMM version does not know "'$badname'"' $2
  fi
  badmacnam=`expr "$badmacnam" + 1`
  return 0
 elif grep -q '^Command exited with non-zero status 124' $1 ||
      grep -q '^Command exited with non-zero status 124' $2
 then
  if grep -q '^Command exited with non-zero status 124' $1 &&
     grep -q '^Command exited with non-zero status 124' $2
  then
   echo Both runs timed out: $2
  elif grep -q '^Command exited with non-zero status 124' $1
  then
   echo Old run timed out: $2
  elif grep -q '^Command exited with non-zero status 124' $2
  then
   echo New run timed out: $2
  fi
  timedout=`expr "$timedout" + 1`
  return 0
 fi
 grep -v 'maxresident)k\|minor)pagefaults\|^Time' $1 > $T/oldout
 grep -v 'maxresident)k\|minor)pagefaults\|^Time' $2 > $T/newout
 if cmp -s $T/oldout $T/newout && grep -q '^Observation' $1
 then
  echo Exact output match: $2
  perfect=`expr "$perfect" + 1`
  return 0
 fi

 grep '^Observation' $1 > $T/oldout
 grep '^Observation' $2 > $T/newout
 if test -s $T/oldout -o -s $T/newout
 then
  if cmp -s $T/oldout $T/newout
  then
   echo Matching Observation result and counts: $2
   obsline=`expr "$obsline" + 1`
   return 0
  fi
 else
  echo Missing Observation line "(e.g., syntax error)": $2
  noobsline=`expr "$noobsline" + 1`
  return 0
 fi

 grep '^Observation' $1 | awk '{ print $3 }' > $T/oldout
 grep '^Observation' $2 | awk '{ print $3 }' > $T/newout
 if cmp -s $T/oldout $T/newout
 then
  echo Matching Observation Always/Sometimes/Never result: $2
  obsresult=`expr "$obsresult" + 1`
  return 0
 fi
 echo ' !!!' Result changed: $2
 badcompare=`expr "$badcompare" + 1`
 return 1
}

sed -e 's/^.*$/comparetest &.out &.out.new/' > $T/cmpscript
. $T/cmpscript > $T/cmpscript.out
cat $T/cmpscript.out

echo ' ---' Summary: 1>&2
grep '!!!' $T/cmpscript.out 1>&2
if test "$perfect" -ne 0
then
 echo Exact output matches: $perfect 1>&2
fi
if test "$obsline" -ne 0
then
 echo Matching Observation result and counts: $obsline 1>&2
fi
if test "$noobsline" -ne 0
then
 echo Missing Observation line "(e.g., syntax error)": $noobsline 1>&2
fi
if test "$obsresult" -ne 0
then
 echo Matching Observation Always/Sometimes/Never result: $obsresult 1>&2
fi
if test "$timedout" -ne 0
then
 echo "!!!" Timed out: $timedout 1>&2
fi
if test "$badmacnam" -ne 0
then
 echo "!!!" Unknown primitive: $badmacnam 1>&2
fi
if test "$badcompare" -ne 0
then
 echo "!!!" Result changed: $badcompare 1>&2
 exit 1
fi

exit 0

Messung V0.5
C=93 H=100 G=96

¤ Dauer der Verarbeitung: 0.26 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge