From 6e229313b12c06afa4d771e44e09bc9a8d446a11 Mon Sep 17 00:00:00 2001 From: Sei Lisa Date: Thu, 2 Mar 2023 17:19:31 +0100 Subject: [PATCH] Add regresion test for continue-in-for Just to ensure that the third part of the for loop (the updater expression list) is correctly run every iteration when 'continue' is used. --- unit_tests/regression.suite/for-continue.lsl | 21 ++++++++++++++++++ unit_tests/regression.suite/for-continue.out | 23 ++++++++++++++++++++ unit_tests/regression.suite/for-continue.run | 1 + 3 files changed, 45 insertions(+) create mode 100644 unit_tests/regression.suite/for-continue.lsl create mode 100644 unit_tests/regression.suite/for-continue.out create mode 100644 unit_tests/regression.suite/for-continue.run diff --git a/unit_tests/regression.suite/for-continue.lsl b/unit_tests/regression.suite/for-continue.lsl new file mode 100644 index 0000000..f8b10da --- /dev/null +++ b/unit_tests/regression.suite/for-continue.lsl @@ -0,0 +1,21 @@ +// Check that 'continue' executes the updater expression(s) in for loops + +integer x; + +f() inline +{ + ++x; +} + +default +{ + timer() + { + for (x = 1; x < 5; f()) + { + if (x == 3) + continue; // still executes f() but not llOwnerSay() + llOwnerSay((string)x); + } + } +} diff --git a/unit_tests/regression.suite/for-continue.out b/unit_tests/regression.suite/for-continue.out new file mode 100644 index 0000000..1f20556 --- /dev/null +++ b/unit_tests/regression.suite/for-continue.out @@ -0,0 +1,23 @@ +integer x; + +default +{ + timer() + { + x = 1; + @___for__00001; + if (x < 5) + { + { + if (x == 3) + jump J_autoGen00002; + llOwnerSay((string)x); + @J_autoGen00002; + } + { + ++x; + } + jump ___for__00001; + } + } +} diff --git a/unit_tests/regression.suite/for-continue.run b/unit_tests/regression.suite/for-continue.run new file mode 100644 index 0000000..681b8eb --- /dev/null +++ b/unit_tests/regression.suite/for-continue.run @@ -0,0 +1 @@ +./main.py -O breakcont,inline -