Make "show object part" command correctly display script status.

Uses new IEntityInventory.TryGetScriptInstanceRunning()
Makes it clearer that TaskInventoryItem.ScriptRunning cannot be used as it is temporary and not updated.
This commit is contained in:
Justin Clark-Casey (justincc)
2012-10-31 00:31:18 +00:00
parent 3388534ff5
commit 6235d16c31
7 changed files with 77 additions and 35 deletions

View File

@@ -90,7 +90,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine.Tests
// log4net.Config.XmlConfigurator.Configure();
UUID userId = TestHelpers.ParseTail(0x1);
// UUID objectId = TestHelpers.ParseTail(0x2);
// UUID objectId = TestHelpers.ParseTail(0x100);
// UUID itemId = TestHelpers.ParseTail(0x3);
string itemName = "TestStartScript() Item";
@@ -105,12 +105,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine.Tests
m_scene.EventManager.OnChatFromWorld += OnChatFromWorld;
m_scene.RezNewScript(userId, itemTemplate);
SceneObjectPart partWhereRezzed = m_scene.RezNewScript(userId, itemTemplate);
m_chatEvent.WaitOne(60000);
Assert.That(m_osChatMessageReceived, Is.Not.Null, "No chat message received in TestStartScript()");
Assert.That(m_osChatMessageReceived.Message, Is.EqualTo("Script running"));
bool running;
TaskInventoryItem scriptItem = partWhereRezzed.Inventory.GetInventoryItem(itemName);
Assert.That(
SceneObjectPartInventory.TryGetScriptInstanceRunning(m_scene, scriptItem, out running), Is.True);
Assert.That(running, Is.True);
}
private void OnChatFromWorld(object sender, OSChatMessage oscm)