ubuntu-buildroot/output/build/host-gawk-5.2.0/test/beginfile2.in

243 lines
3.0 KiB
Plaintext

#TEST1#
BEGINFILE {
print "In BEGINFILE:", FILENAME
}
BEGIN {
count = 0
print "In BEGIN"
while (getline > 0)
count++;
print count == NR
}
#TEST2#
BEGINFILE {
print "In BEGINFILE:", FILENAME
nextfile
}
ENDFILE{
print "In ENDFILE:", FILENAME
}
#TEST3#
BEGINFILE {
print "In BEGINFILE:", FILENAME
}
END {
print "executing END rule"
ARGV[ARGC++] = src;
count = 0
while (getline> 0)
count++;
print count == FNR
print "Done executing END rule"
}
ENDFILE {
print "In ENDFILE:", FILENAME
}
#TEST4#
BEGINFILE {
print "In BEGINFILE:", FILENAME
nextfile
}
END {
print "executing END rule"
ARGV[ARGC++] = src;
getline
print $0
print "Done executing END rule"
}
ENDFILE {
print "ENDFILE:", FILENAME
}
#TEST5#
BEGIN {
getline
count++
print NR, count
}
{
count++
}
END {
print NR == count
}
#TEST6#
BEGINFILE {
print "In BEGINFILE:", FILENAME
count = 0
}
BEGIN {
getline
count++
print FNR, count
}
{
count++
}
ENDFILE {
print "In ENDFILE:", FILENAME
print count == FNR
}
#TEST7#
BEGINFILE {
print "In BEGINFILE:", FILENAME
count = 0
if (ARGIND == 1)
nextfile
}
BEGIN {
getline
print "In BEGIN:", FILENAME
}
{ count++ }
ENDFILE {
print "In ENDFILE:", FILENAME
print (FNR - count)
}
#TEST8#
function f(a, b) {
getline
print FILENAME
print a, b
}
function g(x, y) {
return x
}
BEGINFILE { nextfile }
BEGIN { g(3, f(1, 2)) }
#TEST9#
function f(a, b) {
b = b ":" a;
if (skip || ERRNO != "") {
print "Skipping:", b
nextfile
}
return b
}
BEGINFILE { print "In BEGINFILE:", f(FILENAME, ++i)}
FNR == 1 { print "In Rule:", FILENAME }
ENDFILE { print "In ENDFILE:", FILENAME }
#TEST10#
function f() {
nextfile
}
function g( cnt) {
cnt = 0
while (getline > 0)
cnt++;
return cnt
}
BEGINFILE { if (ARGIND == 1) f(); }
BEGIN {
print g(), NR
}
#TEST11#
function f(a, b) {
print a
nextfile
print b
}
function g(x, y) {
print x
getline
return y
}
BEGINFILE { ARGIND == 1 ? g(3, f(FILENAME, 2)) : f(3, g(FILENAME, 2)) }
#TEST12#
BEGINFILE {
print "In BEGINFILE:", FILENAME
}
function g() {
nextfile
}
function f( cnt) {
print cnt + 0
while (getline > 0) {
if (++cnt == 2) {
g()
print "shouldn't see this line"
}
}
}
{
print FNR
f()
}
ENDFILE {
print "In ENDFILE:", FILENAME
}
#TEST13#
# exit in BEGINFILE
BEGINFILE {
print "In BEGINFILE:", FILENAME
exit(0)
}
ENDFILE {
print "In ENDFILE:", FILENAME
}
END {
print "In END:", FILENAME
while (getline > 0)
;
print "shouldn't see this line"
}
#TEST14#
# exit in ENDFILE
BEGINFILE {
print "In BEGINFILE:", FILENAME
}
ENDFILE {
print "In ENDFILE:", FILENAME
exit(0)
}
END {
print "In END:", FILENAME
while (getline > 0)
;
print "shouldn't see this line"
}
#TEST15#
BEGINFILE {
print "BEGINFILE:", FILENAME
}
{ nextfile }
END {
print NR
}
#TEST16#
BEGINFILE {
print "In BEGINFILE:", FILENAME
}
BEGIN {
getline
print "In BEGIN:", FILENAME
}
{
if (NR == FNR) {
print "In Rule:", FILENAME
nextfile
}
exit(0)
}
ENDFILE {
print "In ENDFILE: ", FILENAME
}