diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-11 08:27:53 +0100 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2010-03-11 08:27:53 +0100 |
commit | 90f19fa468d5b9f6374a62343e98066be8169140 (patch) | |
tree | ddd921d122f6cef4e8160aad2c1dd5d916f45f57 | |
parent | c9955f23a2a57c9822fc1dba5f3d1487dd8aacbc (diff) | |
download | busybox-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-x | testsuite/awk.tests | 113 |
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 | ||
70 | prg=' | 70 | prg=' |
71 | BEGIN { | 71 | BEGIN { |
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 { | |||
86 | testing "awk nested loops with the same variable" \ | 89 | testing "awk nested loops with the same variable" \ |
87 | "awk '$prg'" \ | 90 | "awk '$prg'" \ |
88 | "\ | 91 | "\ |
89 | outer1 e | 92 | outer1 a |
93 | inner d | ||
90 | inner e | 94 | inner e |
91 | inner q | 95 | inner f |
92 | inner w | 96 | outer2 f |
93 | outer2 w | 97 | outer1 b |
94 | outer1 q | 98 | inner d |
95 | inner e | 99 | inner e |
96 | inner q | 100 | inner f |
97 | inner w | 101 | outer2 f |
98 | outer2 w | 102 | outer1 c |
99 | outer1 w | 103 | inner d |
100 | inner e | 104 | inner e |
101 | inner q | 105 | inner f |
102 | inner w | 106 | outer2 f |
103 | outer2 w | 107 | end f |
104 | end w | 108 | " \ |
109 | "" "" | ||
110 | |||
111 | prg=' | ||
112 | BEGIN { | ||
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 | ||
132 | false && test x"$SKIP_KNOWN_BUGS" = x"" && testing "awk nested loops with the same variable and break" \ | ||
133 | "awk '$prg'" \ | ||
134 | "\ | ||
135 | outer1 a | ||
136 | inner d | ||
137 | outer2 d | ||
138 | outer1 b | ||
139 | inner d | ||
140 | outer2 d | ||
141 | outer1 c | ||
142 | inner d | ||
143 | outer2 d | ||
144 | end d | ||
145 | " \ | ||
146 | "" "" | ||
147 | |||
148 | prg=' | ||
149 | function f() { | ||
150 | for (l in v) { | ||
151 | print " inner", l; | ||
152 | return; | ||
153 | } | ||
154 | } | ||
155 | |||
156 | BEGIN { | ||
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 | ||
173 | false && test x"$SKIP_KNOWN_BUGS" = x"" && testing "awk nested loops with the same variable and return" \ | ||
174 | "awk '$prg'" \ | ||
175 | "\ | ||
176 | outer1 a | ||
177 | inner d | ||
178 | outer2 d | ||
179 | outer1 b | ||
180 | inner d | ||
181 | outer2 d | ||
182 | outer1 c | ||
183 | inner d | ||
184 | outer2 d | ||
185 | end d | ||
105 | " \ | 186 | " \ |
106 | "" "" | 187 | "" "" |
107 | 188 | ||