aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2010-03-11 08:27:53 +0100
committerDenys Vlasenko <vda.linux@googlemail.com>2010-03-11 08:27:53 +0100
commit90f19fa468d5b9f6374a62343e98066be8169140 (patch)
treeddd921d122f6cef4e8160aad2c1dd5d916f45f57
parentc9955f23a2a57c9822fc1dba5f3d1487dd8aacbc (diff)
downloadbusybox-w32-90f19fa468d5b9f6374a62343e98066be8169140.tar.gz
busybox-w32-90f19fa468d5b9f6374a62343e98066be8169140.tar.bz2
busybox-w32-90f19fa468d5b9f6374a62343e98066be8169140.zip
awk: add two tests we currently fail
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rwxr-xr-xtestsuite/awk.tests113
1 files changed, 97 insertions, 16 deletions
diff --git a/testsuite/awk.tests b/testsuite/awk.tests
index 78f9f0b98..3a7c8f4d0 100755
--- a/testsuite/awk.tests
+++ b/testsuite/awk.tests
@@ -69,10 +69,13 @@ testing "awk handles whitespace before array subscript" \
69 69
70prg=' 70prg='
71BEGIN { 71BEGIN {
72 v["q"]=1 72 u["a"]=1
73 v["w"]=1 73 u["b"]=1
74 u["c"]=1
75 v["d"]=1
74 v["e"]=1 76 v["e"]=1
75 for (l in v) { 77 v["f"]=1
78 for (l in u) {
76 print "outer1", l; 79 print "outer1", l;
77 for (l in v) { 80 for (l in v) {
78 print " inner", l; 81 print " inner", l;
@@ -86,22 +89,100 @@ BEGIN {
86testing "awk nested loops with the same variable" \ 89testing "awk nested loops with the same variable" \
87 "awk '$prg'" \ 90 "awk '$prg'" \
88 "\ 91 "\
89outer1 e 92outer1 a
93 inner d
90 inner e 94 inner e
91 inner q 95 inner f
92 inner w 96outer2 f
93outer2 w 97outer1 b
94outer1 q 98 inner d
95 inner e 99 inner e
96 inner q 100 inner f
97 inner w 101outer2 f
98outer2 w 102outer1 c
99outer1 w 103 inner d
100 inner e 104 inner e
101 inner q 105 inner f
102 inner w 106outer2 f
103outer2 w 107end f
104end w 108" \
109 "" ""
110
111prg='
112BEGIN {
113 u["a"]=1
114 u["b"]=1
115 u["c"]=1
116 v["d"]=1
117 v["e"]=1
118 v["f"]=1
119 for (l in u) {
120 print "outer1", l;
121 for (l in v) {
122 print " inner", l;
123 break;
124 }
125 print "outer2", l;
126 }
127 print "end", l;
128 l="a"
129 exit;
130}'
131# It's not just buggy, it enters infinite loop. Thus disabled
132false && test x"$SKIP_KNOWN_BUGS" = x"" && testing "awk nested loops with the same variable and break" \
133 "awk '$prg'" \
134 "\
135outer1 a
136 inner d
137outer2 d
138outer1 b
139 inner d
140outer2 d
141outer1 c
142 inner d
143outer2 d
144end d
145" \
146 "" ""
147
148prg='
149function f() {
150 for (l in v) {
151 print " inner", l;
152 return;
153 }
154}
155
156BEGIN {
157 u["a"]=1
158 u["b"]=1
159 u["c"]=1
160 v["d"]=1
161 v["e"]=1
162 v["f"]=1
163 for (l in u) {
164 print "outer1", l;
165 f();
166 print "outer2", l;
167 }
168 print "end", l;
169 l="a"
170 exit;
171}'
172# It's not just buggy, it enters infinite loop. Thus disabled
173false && test x"$SKIP_KNOWN_BUGS" = x"" && testing "awk nested loops with the same variable and return" \
174 "awk '$prg'" \
175 "\
176outer1 a
177 inner d
178outer2 d
179outer1 b
180 inner d
181outer2 d
182outer1 c
183 inner d
184outer2 d
185end d
105" \ 186" \
106 "" "" 187 "" ""
107 188