mirror of
https://github.com/lcn2/calc.git
synced 2025-08-16 01:03:29 +03:00
Release calc version 2.11.1t1
This commit is contained in:
150
check.awk
150
check.awk
@@ -1,84 +1,114 @@
|
||||
#!/usr/bin/awk
|
||||
#
|
||||
# check - check the regression output for problems
|
||||
#
|
||||
# Copyright (C) 1999 Landon Curt Noll
|
||||
#
|
||||
# Calc is open software; you can redistribute it and/or modify it under
|
||||
# the terms of the version 2.1 of the GNU Lesser General Public License
|
||||
# as published by the Free Software Foundation.
|
||||
#
|
||||
# Calc 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 GNU Lesser General
|
||||
# Public License for more details.
|
||||
#
|
||||
# A copy of version 2.1 of the GNU Lesser General Public License is
|
||||
# distributed with calc under the filename COPYING-LGPL. You should have
|
||||
# received a copy with calc; if not, write to Free Software Foundation, Inc.
|
||||
# 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
#
|
||||
# @(#) $Revision: 29.1 $
|
||||
# @(#) $Id: check.awk,v 29.1 1999/12/14 09:15:35 chongo Exp $
|
||||
# @(#) $Source: /usr/local/src/cmd/calc/RCS/check.awk,v $
|
||||
#
|
||||
# Under source code control: 1996/05/25 22:07:58
|
||||
# File existed as early as: 1996
|
||||
#
|
||||
# chongo <was here> /\oo/\ http://reality.sgi.com/chongo/
|
||||
# Share and enjoy! :-) http://reality.sgi.com/chongo/tech/comp/calc/
|
||||
#
|
||||
# This awk script will print 3 lines before and after any non-blank line that
|
||||
# does not begin with a number. This allows the 'make debug' rule to remove
|
||||
# all non-interest lines the the 'make check' regression output while providing
|
||||
# 3 lines of context around unexpected output.
|
||||
#
|
||||
BEGIN {
|
||||
havebuf0=0;
|
||||
buf0=0;
|
||||
havebuf1=0;
|
||||
buf1=0;
|
||||
havebuf2=0;
|
||||
buf2=0;
|
||||
error = 0;
|
||||
end_seen = 0;
|
||||
havebuf0=0;
|
||||
buf0=0;
|
||||
havebuf1=0;
|
||||
buf1=0;
|
||||
havebuf2=0;
|
||||
buf2=0;
|
||||
error = 0;
|
||||
end_seen = 0;
|
||||
}
|
||||
|
||||
NF == 0 {
|
||||
if (error > 0) {
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
if (error > 0) {
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
}
|
||||
--error;
|
||||
}
|
||||
--error;
|
||||
}
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
/: Ending regression tests$/ {
|
||||
end_seen = 1;
|
||||
end_seen = 1;
|
||||
}
|
||||
|
||||
$1 ~ /^[0-9]+:/ {
|
||||
if (error > 0) {
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
if (error > 0) {
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
}
|
||||
--error;
|
||||
}
|
||||
--error;
|
||||
}
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
{
|
||||
error = 6;
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
}
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
error = 6;
|
||||
if (havebuf2) {
|
||||
print buf2;
|
||||
}
|
||||
buf2 = buf1;
|
||||
havebuf2 = havebuf1;
|
||||
buf1 = buf0;
|
||||
havebuf1 = havebuf0;
|
||||
buf0 = $0;
|
||||
havebuf0 = 1;
|
||||
next;
|
||||
}
|
||||
|
||||
END {
|
||||
if (error > 0 && havebuf2) {
|
||||
print buf2;
|
||||
--error;
|
||||
}
|
||||
if (error > 0 && havebuf1) {
|
||||
print buf1;
|
||||
--error;
|
||||
}
|
||||
if (error > 0 && havebuf0) {
|
||||
print buf0;
|
||||
}
|
||||
if (error > 0 || !end_seen) {
|
||||
exit(1);
|
||||
} else {
|
||||
exit(0);
|
||||
}
|
||||
if (error > 0 && havebuf2) {
|
||||
print buf2;
|
||||
--error;
|
||||
}
|
||||
if (error > 0 && havebuf1) {
|
||||
print buf1;
|
||||
--error;
|
||||
}
|
||||
if (error > 0 && havebuf0) {
|
||||
print buf0;
|
||||
}
|
||||
if (error > 0 || !end_seen) {
|
||||
exit(1);
|
||||
} else {
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user