diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs | 27 |
1 files changed, 22 insertions, 5 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs index ef9fff5..81a2fcc 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.Reflection; | 30 | using System.Reflection; |
30 | using Nini.Config; | 31 | using Nini.Config; |
31 | using NUnit.Framework; | 32 | using NUnit.Framework; |
@@ -65,10 +66,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
65 | public void TestCrossOnSameSimulator() | 66 | public void TestCrossOnSameSimulator() |
66 | { | 67 | { |
67 | TestHelpers.InMethod(); | 68 | TestHelpers.InMethod(); |
68 | TestHelpers.EnableLogging(); | 69 | // TestHelpers.EnableLogging(); |
69 | 70 | ||
70 | UUID userId = TestHelpers.ParseTail(0x1); | 71 | UUID userId = TestHelpers.ParseTail(0x1); |
71 | 72 | ||
73 | // TestEventQueueGetModule eqmA = new TestEventQueueGetModule(); | ||
72 | EntityTransferModule etmA = new EntityTransferModule(); | 74 | EntityTransferModule etmA = new EntityTransferModule(); |
73 | EntityTransferModule etmB = new EntityTransferModule(); | 75 | EntityTransferModule etmB = new EntityTransferModule(); |
74 | LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule(); | 76 | LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule(); |
@@ -77,7 +79,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
77 | IConfig modulesConfig = config.AddConfig("Modules"); | 79 | IConfig modulesConfig = config.AddConfig("Modules"); |
78 | modulesConfig.Set("EntityTransferModule", etmA.Name); | 80 | modulesConfig.Set("EntityTransferModule", etmA.Name); |
79 | modulesConfig.Set("SimulationServices", lscm.Name); | 81 | modulesConfig.Set("SimulationServices", lscm.Name); |
80 | IConfig entityTransferConfig = config.AddConfig("EntityTransfer"); | 82 | // IConfig entityTransferConfig = config.AddConfig("EntityTransfer"); |
81 | 83 | ||
82 | // In order to run a single threaded regression test we do not want the entity transfer module waiting | 84 | // In order to run a single threaded regression test we do not want the entity transfer module waiting |
83 | // for a callback from the destination scene before removing its avatar data. | 85 | // for a callback from the destination scene before removing its avatar data. |
@@ -89,6 +91,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
89 | 91 | ||
90 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); | 92 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); |
91 | SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA); | 93 | SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA); |
94 | // SceneHelpers.SetupSceneModules(sceneA, config, new CapabilitiesModule(), etmA, eqmA); | ||
92 | SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), etmB); | 95 | SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), etmB); |
93 | 96 | ||
94 | ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); | 97 | ScenePresence originalSp = SceneHelpers.AddScenePresence(sceneA, userId, sh.SceneManager); |
@@ -98,6 +101,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
98 | 101 | ||
99 | // Console.WriteLine("First pos {0}", originalSp.AbsolutePosition); | 102 | // Console.WriteLine("First pos {0}", originalSp.AbsolutePosition); |
100 | 103 | ||
104 | // eqmA.ClearEvents(); | ||
105 | |||
101 | AgentUpdateArgs moveArgs = new AgentUpdateArgs(); | 106 | AgentUpdateArgs moveArgs = new AgentUpdateArgs(); |
102 | //moveArgs.BodyRotation = Quaternion.CreateFromEulers(Vector3.Zero); | 107 | //moveArgs.BodyRotation = Quaternion.CreateFromEulers(Vector3.Zero); |
103 | moveArgs.BodyRotation = Quaternion.CreateFromEulers(new Vector3(0, 0, (float)-(Math.PI / 2))); | 108 | moveArgs.BodyRotation = Quaternion.CreateFromEulers(new Vector3(0, 0, (float)-(Math.PI / 2))); |
@@ -117,6 +122,18 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
117 | // Console.WriteLine("Pos {0}", originalSp.AbsolutePosition); | 122 | // Console.WriteLine("Pos {0}", originalSp.AbsolutePosition); |
118 | } | 123 | } |
119 | 124 | ||
125 | // Need to sort processing of EnableSimulator message on adding scene presences before we can test eqm | ||
126 | // messages | ||
127 | // Dictionary<UUID, List<TestEventQueueGetModule.Event>> eqmEvents = eqmA.Events; | ||
128 | // | ||
129 | // Assert.That(eqmEvents.Count, Is.EqualTo(1)); | ||
130 | // Assert.That(eqmEvents.ContainsKey(originalSp.UUID), Is.True); | ||
131 | // | ||
132 | // List<TestEventQueueGetModule.Event> spEqmEvents = eqmEvents[originalSp.UUID]; | ||
133 | // | ||
134 | // Assert.That(spEqmEvents.Count, Is.EqualTo(1)); | ||
135 | // Assert.That(spEqmEvents[0].Name, Is.EqualTo("CrossRegion")); | ||
136 | |||
120 | // sceneA should now only have a child agent | 137 | // sceneA should now only have a child agent |
121 | ScenePresence spAfterCrossSceneA = sceneA.GetScenePresence(originalSp.UUID); | 138 | ScenePresence spAfterCrossSceneA = sceneA.GetScenePresence(originalSp.UUID); |
122 | Assert.That(spAfterCrossSceneA.IsChildAgent, Is.True); | 139 | Assert.That(spAfterCrossSceneA.IsChildAgent, Is.True); |
@@ -128,12 +145,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
128 | 145 | ||
129 | TestClient sceneBTc = ((TestClient)spAfterCrossSceneB.ControllingClient); | 146 | TestClient sceneBTc = ((TestClient)spAfterCrossSceneB.ControllingClient); |
130 | 147 | ||
131 | bool receivedCompleteMovement = false; | 148 | int agentMovementCompleteReceived = 0; |
132 | sceneBTc.OnReceivedMoveAgentIntoRegion += (ri, pos, look) => receivedCompleteMovement = true; | 149 | sceneBTc.OnReceivedMoveAgentIntoRegion += (ri, pos, look) => agentMovementCompleteReceived++; |
133 | 150 | ||
134 | sceneBTc.CompleteMovement(); | 151 | sceneBTc.CompleteMovement(); |
135 | 152 | ||
136 | Assert.That(receivedCompleteMovement, Is.True); | 153 | Assert.That(agentMovementCompleteReceived, Is.EqualTo(1)); |
137 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.False); | 154 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.False); |
138 | } | 155 | } |
139 | } | 156 | } |