diff options
author | Justin Clark-Casey (justincc) | 2012-07-24 22:40:06 +0100 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-07-24 22:40:06 +0100 |
commit | c99262957630749debbf12372cab88c1f3faa6b8 (patch) | |
tree | 0f141909ab953f5b6a350d08a63104c4767b5829 | |
parent | Merge branch 'master' of ssh://opensimulator.org/var/git/opensim (diff) | |
download | opensim-SC-c99262957630749debbf12372cab88c1f3faa6b8.zip opensim-SC-c99262957630749debbf12372cab88c1f3faa6b8.tar.gz opensim-SC-c99262957630749debbf12372cab88c1f3faa6b8.tar.bz2 opensim-SC-c99262957630749debbf12372cab88c1f3faa6b8.tar.xz |
extend regression TestRezScriptedAttachmentFromInventory() to check actual start of script rather than just the script status reported by SOG.ContainsScripts()
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs index 8d2128c..8337345 100644 --- a/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs +++ b/OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs | |||
@@ -291,21 +291,37 @@ namespace OpenSim.Region.CoreModules.Avatar.Attachments.Tests | |||
291 | { | 291 | { |
292 | TestHelpers.InMethod(); | 292 | TestHelpers.InMethod(); |
293 | 293 | ||
294 | Scene scene = CreateTestScene(); | 294 | Scene scene = CreateScriptingEnabledTestScene(); |
295 | UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); | 295 | UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene, 0x1); |
296 | ScenePresence sp = SceneHelpers.AddScenePresence(scene, ua1.PrincipalID); | 296 | ScenePresence sp = SceneHelpers.AddScenePresence(scene, ua1); |
297 | 297 | ||
298 | SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, sp.UUID, "att-name", 0x10); | 298 | SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, sp.UUID, "att-name", 0x10); |
299 | TaskInventoryHelpers.AddScript(scene, so.RootPart); | 299 | TaskInventoryItem scriptItem |
300 | = TaskInventoryHelpers.AddScript( | ||
301 | scene, | ||
302 | so.RootPart, | ||
303 | "scriptItem", | ||
304 | "default { attach(key id) { if (id != NULL_KEY) { llSay(0, \"Hello World\"); } } }"); | ||
305 | |||
300 | InventoryItemBase userItem = UserInventoryHelpers.AddInventoryItem(scene, so, 0x100, 0x1000); | 306 | InventoryItemBase userItem = UserInventoryHelpers.AddInventoryItem(scene, so, 0x100, 0x1000); |
301 | 307 | ||
308 | // FIXME: Right now, we have to do a tricksy chat listen to make sure we know when the script is running. | ||
309 | // In the future, we need to be able to do this programatically more predicably. | ||
310 | scene.EventManager.OnChatFromWorld += OnChatFromWorld; | ||
311 | |||
302 | scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, userItem.ID, (uint)AttachmentPoint.Chest); | 312 | scene.AttachmentsModule.RezSingleAttachmentFromInventory(sp, userItem.ID, (uint)AttachmentPoint.Chest); |
303 | 313 | ||
314 | m_chatEvent.WaitOne(60000); | ||
315 | |||
304 | // TODO: Need to have a test that checks the script is actually started but this involves a lot more | 316 | // TODO: Need to have a test that checks the script is actually started but this involves a lot more |
305 | // plumbing of the script engine and either pausing for events or more infrastructure to turn off various | 317 | // plumbing of the script engine and either pausing for events or more infrastructure to turn off various |
306 | // script engine delays/asychronicity that isn't helpful in an automated regression testing context. | 318 | // script engine delays/asychronicity that isn't helpful in an automated regression testing context. |
307 | SceneObjectGroup attSo = scene.GetSceneObjectGroup(so.Name); | 319 | SceneObjectGroup attSo = scene.GetSceneObjectGroup(so.Name); |
308 | Assert.That(attSo.ContainsScripts(), Is.True); | 320 | Assert.That(attSo.ContainsScripts(), Is.True); |
321 | |||
322 | TaskInventoryItem reRezzedScriptItem = attSo.RootPart.Inventory.GetInventoryItem(scriptItem.Name); | ||
323 | IScriptModule xengine = scene.RequestModuleInterface<IScriptModule>(); | ||
324 | Assert.That(xengine.GetScriptState(reRezzedScriptItem.ItemID), Is.True); | ||
309 | } | 325 | } |
310 | 326 | ||
311 | [Test] | 327 | [Test] |