diff options
author | Justin Clark-Casey (justincc) | 2013-01-22 02:32:40 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2013-01-22 02:32:40 +0000 |
commit | 9a4914e58cace98228e12e4d2e44064cc1db20bf (patch) | |
tree | 6a552777208b03748c70102f55b9fcf8a7468861 /OpenSim/Region/ScriptEngine | |
parent | Set script delay factor to 0 in co-op termination tests (diff) | |
download | opensim-SC-9a4914e58cace98228e12e4d2e44064cc1db20bf.zip opensim-SC-9a4914e58cace98228e12e4d2e44064cc1db20bf.tar.gz opensim-SC-9a4914e58cace98228e12e4d2e44064cc1db20bf.tar.bz2 opensim-SC-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.
Diffstat (limited to 'OpenSim/Region/ScriptEngine')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Instance/Tests/CoopTerminationTests.cs | 22 |
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); |