aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-01-22 02:32:40 +0000
committerJustin Clark-Casey (justincc)2013-01-22 02:32:40 +0000
commit9a4914e58cace98228e12e4d2e44064cc1db20bf (patch)
tree6a552777208b03748c70102f55b9fcf8a7468861
parentSet script delay factor to 0 in co-op termination tests (diff)
downloadopensim-SC_OLD-9a4914e58cace98228e12e4d2e44064cc1db20bf.zip
opensim-SC_OLD-9a4914e58cace98228e12e4d2e44064cc1db20bf.tar.gz
opensim-SC_OLD-9a4914e58cace98228e12e4d2e44064cc1db20bf.tar.bz2
opensim-SC_OLD-9a4914e58cace98228e12e4d2e44064cc1db20bf.tar.xz
Add co-op termination regression test for infinite recursive manual call on event function.
Such code would normally terminate quickly with a stack overflow exception anyway.
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs22
1 files changed, 22 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs
index 019375d..bd882f9 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs
@@ -294,6 +294,28 @@ default
294 TestStop(script); 294 TestStop(script);
295 } 295 }
296 296
297 [Test]
298 public void TestStopOnInfiniteManualEventCallLoop()
299 {
300 TestHelpers.InMethod();
301// TestHelpers.EnableLogging();
302
303 string script =
304@"default
305{
306 state_entry()
307 {
308 integer i = 0;
309 llSay(0, ""Thin Lizzy"");
310
311 llSay(0, ""Iter"" + (string)i++);
312 default_event_state_entry();
313 }
314}";
315
316 TestStop(script);
317 }
318
297 private void TestStop(string script) 319 private void TestStop(string script)
298 { 320 {
299 UUID userId = TestHelpers.ParseTail(0x1); 321 UUID userId = TestHelpers.ParseTail(0x1);