aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/ChangeLog5
-rw-r--r--test/Makefile.am8
-rw-r--r--test/Makefile.in76
-rw-r--r--test/Maketests60
-rw-r--r--test/symtab11.awk30
-rw-r--r--test/symtab11.ok76
6 files changed, 125 insertions, 130 deletions
diff --git a/test/ChangeLog b/test/ChangeLog
index c188931b..b4ba26ff 100644
--- a/test/ChangeLog
+++ b/test/ChangeLog
@@ -1,3 +1,8 @@
+2020-01-23 Arnold D. Robbins <arnold@skeeve.com>
+
+ * Makefile.am (EXTRA_DIST): New test, symtab11.
+ * symtab11.awk, symtab11.ok: New files.
+
2020-01-19 Arnold D. Robbins <arnold@skeeve.com>
* Makefile.am (EXTRA_DIST): New test, profile13.
diff --git a/test/Makefile.am b/test/Makefile.am
index bf77ea34..677b7551 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -1,7 +1,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2019 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2020 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -1226,6 +1226,8 @@ EXTRA_DIST = \
symtab10.awk \
symtab10.in \
symtab10.ok \
+ symtab11.awk \
+ symtab11.ok \
synerr1.awk \
synerr1.ok \
synerr2.awk \
@@ -1402,8 +1404,8 @@ GAWK_EXT_TESTS = \
sourcesplit split_after_fpat \
splitarg4 strftfld strftime strtonum strtonum1 \
stupid1 stupid2 stupid3 stupid4 \
- switch2 symtab1 symtab2 \
- symtab3 symtab4 symtab5 symtab6 symtab7 symtab8 symtab9 symtab10 \
+ switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 symtab7
+ symtab8 symtab9 symtab10 symtab11 \
timeout typedregex1 typedregex2 typedregex3 typedregex4 \
typedregex5 typedregex6 \
typeof1 typeof2 typeof3 typeof4 typeof5 \
diff --git a/test/Makefile.in b/test/Makefile.in
index 0794b3b8..5543ea46 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -17,7 +17,7 @@
#
# test/Makefile.am --- automake input file for gawk
#
-# Copyright (C) 1988-2019 the Free Software Foundation, Inc.
+# Copyright (C) 1988-2020 the Free Software Foundation, Inc.
#
# This file is part of GAWK, the GNU implementation of the
# AWK Programming Language.
@@ -1485,6 +1485,8 @@ EXTRA_DIST = \
symtab10.awk \
symtab10.in \
symtab10.ok \
+ symtab11.awk \
+ symtab11.ok \
synerr1.awk \
synerr1.ok \
synerr2.awk \
@@ -1661,12 +1663,7 @@ GAWK_EXT_TESTS = \
sourcesplit split_after_fpat \
splitarg4 strftfld strftime strtonum strtonum1 \
stupid1 stupid2 stupid3 stupid4 \
- switch2 symtab1 symtab2 \
- symtab3 symtab4 symtab5 symtab6 symtab7 symtab8 symtab9 symtab10 \
- timeout typedregex1 typedregex2 typedregex3 typedregex4 \
- typedregex5 typedregex6 \
- typeof1 typeof2 typeof3 typeof4 typeof5 \
- watchpoint1
+ switch2 symtab1 symtab2 symtab3 symtab4 symtab5 symtab6 symtab7
ARRAYDEBUG_TESTS = arrdbg
EXTRA_TESTS = inftest regtest ignrcas3
@@ -2007,6 +2004,11 @@ uninstall-am:
.PRECIOUS: Makefile
+ symtab8 symtab9 symtab10 symtab11 \
+ timeout typedregex1 typedregex2 typedregex3 typedregex4 \
+ typedregex5 typedregex6 \
+ typeof1 typeof2 typeof3 typeof4 typeof5 \
+ watchpoint1
# Message stuff is to make it a little easier to follow.
# Make the pass-fail last and dependent on others to avoid
@@ -4820,66 +4822,6 @@ symtab7:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-symtab10:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --debug < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-timeout:
- @echo $@ $(ZOS_FAIL)
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex1:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex2:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex3:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex5:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex6:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof1:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof2:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof3:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof4:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof5:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
double1:
@echo $@ $(ZOS_FAIL)
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/Maketests b/test/Maketests
index d8c3299a..8f3fbe49 100644
--- a/test/Maketests
+++ b/test/Maketests
@@ -1971,66 +1971,6 @@ symtab7:
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
@-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-symtab10:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk --debug < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-timeout:
- @echo $@ $(ZOS_FAIL)
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex1:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex2:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex3:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex5:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typedregex6:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof1:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof2:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof3:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof4:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
-typeof5:
- @echo $@
- @AWKPATH="$(srcdir)" $(AWK) -f $@.awk < "$(srcdir)"/$@.in >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
- @-$(CMP) "$(srcdir)"/$@.ok _$@ && rm -f _$@
-
double1:
@echo $@ $(ZOS_FAIL)
@AWKPATH="$(srcdir)" $(AWK) -f $@.awk >_$@ 2>&1 || echo EXIT CODE: $$? >>_$@
diff --git a/test/symtab11.awk b/test/symtab11.awk
new file mode 100644
index 00000000..ec7f096b
--- /dev/null
+++ b/test/symtab11.awk
@@ -0,0 +1,30 @@
+BEGIN {
+ PROCINFO["sorted_in"] = "@val_type_asc" # okay with PROCINFO commented out, kaboom if not
+ IGNORECASE = 1 # yes
+
+ printf("BEGIN -- Symtab is next\n") > "/dev/stdout"
+ for (i in SYMTAB) {
+ printf "[%s]\n", i # else {printf("[%s]\t(%s)\n",i,SYMTAB[i]);}
+ }
+ printf("BEGIN-- after Symtab loop\n") > "/dev/stdout" # never got here
+
+ printf("BEGIN -- Functab is next\n") > "/dev/stdout"
+ for (i in FUNCTAB) {
+ printf "[%s]\n", i # else {printf("[%s]\t(%s)\n",i,FUNCTAB[i]);}
+ }
+ printf("BEGIN-- after Functab loop\n") > "/dev/stdout" # never got here
+ exit
+}
+
+function foo()
+{
+ print "foo called"
+}
+
+function bar()
+{
+ print "bar called"
+}
+
+# e-o-begin
+# --- No END, No Main ... ---
diff --git a/test/symtab11.ok b/test/symtab11.ok
new file mode 100644
index 00000000..c5e3e0fc
--- /dev/null
+++ b/test/symtab11.ok
@@ -0,0 +1,76 @@
+BEGIN -- Symtab is next
+[i]
+[ROUNDMODE]
+[ORS]
+[OFS]
+[LINT]
+[FNR]
+[ERRNO]
+[NR]
+[IGNORECASE]
+[TEXTDOMAIN]
+[NF]
+[ARGIND]
+[ARGC]
+[FIELDWIDTHS]
+[CONVFMT]
+[SUBSEP]
+[PREC]
+[RS]
+[FPAT]
+[RT]
+[RLENGTH]
+[OFMT]
+[FS]
+[RSTART]
+[FILENAME]
+[BINMODE]
+[ARGV]
+[PROCINFO]
+[ENVIRON]
+BEGIN-- after Symtab loop
+BEGIN -- Functab is next
+[rand]
+[dcgettext]
+[gsub]
+[match]
+[int]
+[log]
+[sprintf]
+[systime]
+[strftime]
+[length]
+[and]
+[srand]
+[asort]
+[atan2]
+[cos]
+[split]
+[compl]
+[bindtextdomain]
+[exp]
+[or]
+[fflush]
+[gensub]
+[dcngettext]
+[index]
+[system]
+[sqrt]
+[rshift]
+[tolower]
+[sin]
+[asorti]
+[typeof]
+[close]
+[mktime]
+[isarray]
+[patsplit]
+[sub]
+[substr]
+[xor]
+[lshift]
+[strtonum]
+[toupper]
+[bar]
+[foo]
+BEGIN-- after Functab loop