From 0110c15ee224fd048cb332cd23737e86ef1fcb35 Mon Sep 17 00:00:00 2001 From: Tim Wojtulewicz Date: Thu, 1 Jun 2023 16:05:41 +0200 Subject: [PATCH] Make break/next/continue outside loops an error (6.1 deprecation) --- src/ScriptValidation.cc | 8 +++----- .../Baseline/language.next-break-context-errors-2/.stderr | 2 +- .../Baseline/language.next-break-context-errors-3/.stderr | 2 +- .../Baseline/language.next-break-context-errors-4/.stderr | 2 +- .../Baseline/language.next-break-context-errors-5/.stderr | 2 +- .../Baseline/language.next-break-context-errors-6/.stderr | 2 +- .../Baseline/language.next-break-context-errors-7/.stderr | 2 +- .../Baseline/language.next-break-context-errors-8/.stderr | 2 +- .../Baseline/language.next-break-context-errors-9/.stderr | 6 +++--- .../Baseline/language.next-break-context-errors/.stderr | 2 +- testing/btest/language/next-break-context-errors.zeek | 2 +- 11 files changed, 15 insertions(+), 17 deletions(-) diff --git a/src/ScriptValidation.cc b/src/ScriptValidation.cc index 3accd8dbe6..1f6832c775 100644 --- a/src/ScriptValidation.cc +++ b/src/ScriptValidation.cc @@ -22,13 +22,11 @@ public: stmt_depths[stmt->Tag()] += 1; if ( stmt->Tag() == STMT_BREAK && ! BreakStmtIsValid() ) - Report(stmt, "break statement used outside of for, while or " - "switch statement and not within a hook. " - "With v6.1 this will become an error."); + Error(stmt, "break statement used outside of for, while or " + "switch statement and not within a hook."); if ( stmt->Tag() == STMT_NEXT && ! NextStmtIsValid() ) - Report(stmt, "next statement used outside of for or while statement. " - "With v6.1 this will become an error."); + Error(stmt, "next statement used outside of for or while statement."); return TC_CONTINUE; } diff --git a/testing/btest/Baseline/language.next-break-context-errors-2/.stderr b/testing/btest/Baseline/language.next-break-context-errors-2/.stderr index c7cfd07cb0..07626ebb94 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-2/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-2/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 3: break statement used outside of for, while or switch statement and not within a hook. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 3: break statement used outside of for, while or switch statement and not within a hook. (break ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-3/.stderr b/testing/btest/Baseline/language.next-break-context-errors-3/.stderr index 71b305068b..ec489d6d93 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-3/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-3/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 3: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 3: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-4/.stderr b/testing/btest/Baseline/language.next-break-context-errors-4/.stderr index c7cfd07cb0..07626ebb94 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-4/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-4/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 3: break statement used outside of for, while or switch statement and not within a hook. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 3: break statement used outside of for, while or switch statement and not within a hook. (break ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-5/.stderr b/testing/btest/Baseline/language.next-break-context-errors-5/.stderr index bf2d6b9806..043304ed3e 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-5/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-5/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 4: break statement used outside of for, while or switch statement and not within a hook. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 4: break statement used outside of for, while or switch statement and not within a hook. (break ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-6/.stderr b/testing/btest/Baseline/language.next-break-context-errors-6/.stderr index 496ca6d854..ba071edc26 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-6/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-6/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 7: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 7: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-7/.stderr b/testing/btest/Baseline/language.next-break-context-errors-7/.stderr index fd485b8587..18110d7e9a 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-7/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-7/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 5: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 5: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-8/.stderr b/testing/btest/Baseline/language.next-break-context-errors-8/.stderr index 5583094a27..60db706125 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-8/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-8/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 6: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 6: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/Baseline/language.next-break-context-errors-9/.stderr b/testing/btest/Baseline/language.next-break-context-errors-9/.stderr index 39fe9ba574..3b5b394fb0 100644 --- a/testing/btest/Baseline/language.next-break-context-errors-9/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors-9/.stderr @@ -1,4 +1,4 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 6: next statement used outside of for or while statement. With v6.1 this will become an error. -warning in <...>/next-break-context-errors.zeek, line 11: break statement used outside of for, while or switch statement and not within a hook. With v6.1 this will become an error. -warning in <...>/next-break-context-errors.zeek, line 16: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 6: next statement used outside of for or while statement. (next ) +error in <...>/next-break-context-errors.zeek, line 11: break statement used outside of for, while or switch statement and not within a hook. (break ) +error in <...>/next-break-context-errors.zeek, line 16: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/Baseline/language.next-break-context-errors/.stderr b/testing/btest/Baseline/language.next-break-context-errors/.stderr index 496ca6d854..ba071edc26 100644 --- a/testing/btest/Baseline/language.next-break-context-errors/.stderr +++ b/testing/btest/Baseline/language.next-break-context-errors/.stderr @@ -1,2 +1,2 @@ ### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63. -warning in <...>/next-break-context-errors.zeek, line 7: next statement used outside of for or while statement. With v6.1 this will become an error. +error in <...>/next-break-context-errors.zeek, line 7: next statement used outside of for or while statement. (next ) diff --git a/testing/btest/language/next-break-context-errors.zeek b/testing/btest/language/next-break-context-errors.zeek index 5c5d52d060..122f96d2d6 100644 --- a/testing/btest/language/next-break-context-errors.zeek +++ b/testing/btest/language/next-break-context-errors.zeek @@ -1,6 +1,6 @@ # @TEST-DOC: Check break and next usage within for, while, switch and hooks. -# @TEST-EXEC: zeek -b %INPUT +# @TEST-EXEC-FAIL: zeek -b %INPUT # @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff .stderr function f() {