summaryrefslogtreecommitdiffhomepage
path: root/testsuite
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2021-07-14 14:33:37 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2021-07-14 16:32:19 +0200
commitd3480dd58211d9d8c06ec7ef00089262603003ff (patch)
tree447a49b67af1f714bf725065469c697e810300c7 /testsuite
parentd62627487a44d9175b05d49846aeef83fed97019 (diff)
awk: disallow break/continue outside of loops
function old new delta .rodata 104139 104186 +47 chain_group 610 633 +23 ------------------------------------------------------------------------------ (add/remove: 0/0 grow/shrink: 2/0 up/down: 70/0) Total: 70 bytes Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'testsuite')
-rwxr-xr-xtestsuite/awk.tests9
1 files changed, 2 insertions, 7 deletions
diff --git a/testsuite/awk.tests b/testsuite/awk.tests
index 3cddb4dd4..f53b1efe2 100755
--- a/testsuite/awk.tests
+++ b/testsuite/awk.tests
@@ -379,19 +379,14 @@ testing "awk -e and ARGC" \
""
SKIP=
-# The examples are in fact not valid awk programs (break/continue
-# can only be used inside loops).
-# But we do accept them outside of loops.
-# We had a bug with misparsing "break ; else" sequence.
-# Test that *that* bug is fixed, using simplest possible scripts:
testing "awk break" \
"awk -f - 2>&1; echo \$?" \
- "0\n" \
+ "awk: -:1: 'break' not in a loop\n1\n" \
"" \
'BEGIN { if (1) break; else a = 1 }'
testing "awk continue" \
"awk -f - 2>&1; echo \$?" \
- "0\n" \
+ "awk: -:1: 'continue' not in a loop\n1\n" \
"" \
'BEGIN { if (1) continue; else a = 1 }'