#!/bin/bash # # run the misc tests: we need to do this in a script since # these are expected to fail which would normally cause %check # to stop. however, this is expected behavior. we are running # iasl precisely because we expect it to stop when presented with # faulty ASL. # # this script assumes it is in the source 'tests' directory at # start. # set -x BINDIR="$1" VERSION="$2" # create files to compare against $BINDIR/iasl -h m=`uname -m` case $m in s390x | ppc64le | \ *64) BITS=64 ;; *) BITS=32 ;; esac # if a build starts before midnight, but ends after midnight, this # test can get confused. grab the date from the iasl file we just # built so they match regardless. FDATE=`stat --format="%Y" $BINDIR/iasl | cut -d" " -f1` WHEN=`date --date="@$FDATE" +"%b %_d %Y"` sed -e "s/XXXXXXXXXXX/$WHEN/" \ -e "s/YYYY/$BITS/" \ -e "s/VVVVVVVV/$VERSION/" \ ../badcode.asl.result > misc/badcode.asl.result sed -e "s/XXXXXXXXXXX/$WHEN/" \ -e "s/YYYY/$BITS/" \ -e "s/VVVVVVVV/$VERSION/" \ ../grammar.asl.result > misc/grammar.asl.result cd misc # see if badcode.asl failed as expected # NB: the -f option is required so we can see all of the errors $BINDIR/iasl -f badcode.asl 2>&1 | tee badcode diff badcode badcode.asl.result >/dev/null 2>&1 [ $? -eq 0 ] || exit 1 # see if grammar.asl failed as expected # NB: the -f option is required so we can see all of the errors $BINDIR/iasl -f -of grammar.asl 2>&1 | tee grammar diff grammar grammar.asl.result >/dev/null 2>&1 [ $? -eq 0 ] || exit 1 exit 0