diff options
Merge branch 'master' of brain.opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Tests')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs | 9 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs | 41 |
2 files changed, 43 insertions, 7 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs index abf8c48..7c3eab1 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs | |||
@@ -155,11 +155,15 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
155 | sp1SceneA.AbsolutePosition = so1StartPos; | 155 | sp1SceneA.AbsolutePosition = so1StartPos; |
156 | sp1SceneA.HandleAgentRequestSit(sp1SceneA.ControllingClient, sp1SceneA.UUID, so1.UUID, Vector3.Zero); | 156 | sp1SceneA.HandleAgentRequestSit(sp1SceneA.ControllingClient, sp1SceneA.UUID, so1.UUID, Vector3.Zero); |
157 | 157 | ||
158 | sceneA.Update(4); | ||
159 | sceneB.Update(4); | ||
158 | // Cross | 160 | // Cross |
159 | sceneA.SceneGraph.UpdatePrimGroupPosition( | 161 | sceneA.SceneGraph.UpdatePrimGroupPosition( |
160 | so1.LocalId, new Vector3(so1StartPos.X, so1StartPos.Y - 20, so1StartPos.Z), sp1SceneA.ControllingClient); | 162 | so1.LocalId, new Vector3(so1StartPos.X, so1StartPos.Y - 20, so1StartPos.Z), sp1SceneA.ControllingClient); |
161 | 163 | ||
162 | // crossing is async | 164 | // crossing is async |
165 | sceneA.Update(4); | ||
166 | sceneB.Update(4); | ||
163 | Thread.Sleep(500); | 167 | Thread.Sleep(500); |
164 | 168 | ||
165 | SceneObjectGroup so1PostCross; | 169 | SceneObjectGroup so1PostCross; |
@@ -171,6 +175,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
171 | TestClient sceneBTc = ((TestClient)sp1SceneBPostCross.ControllingClient); | 175 | TestClient sceneBTc = ((TestClient)sp1SceneBPostCross.ControllingClient); |
172 | sceneBTc.CompleteMovement(); | 176 | sceneBTc.CompleteMovement(); |
173 | 177 | ||
178 | sceneA.Update(4); | ||
179 | sceneB.Update(4); | ||
180 | |||
174 | Assert.IsFalse(sp1SceneBPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly true"); | 181 | Assert.IsFalse(sp1SceneBPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly true"); |
175 | Assert.IsTrue(sp1SceneBPostCross.IsSatOnObject); | 182 | Assert.IsTrue(sp1SceneBPostCross.IsSatOnObject); |
176 | 183 | ||
@@ -188,6 +195,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
188 | sceneB.SceneGraph.UpdatePrimGroupPosition( | 195 | sceneB.SceneGraph.UpdatePrimGroupPosition( |
189 | so1PostCross.LocalId, new Vector3(so1PostCrossPos.X, so1PostCrossPos.Y + 20, so1PostCrossPos.Z), sp1SceneBPostCross.ControllingClient); | 196 | so1PostCross.LocalId, new Vector3(so1PostCrossPos.X, so1PostCrossPos.Y + 20, so1PostCrossPos.Z), sp1SceneBPostCross.ControllingClient); |
190 | 197 | ||
198 | sceneA.Update(4); | ||
199 | sceneB.Update(4); | ||
191 | // crossing is async | 200 | // crossing is async |
192 | Thread.Sleep(500); | 201 | Thread.Sleep(500); |
193 | 202 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs index 94e6b99..676d7eb 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs | |||
@@ -212,6 +212,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
212 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); | 212 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); |
213 | sp.AbsolutePosition = new Vector3(30, 31, 32); | 213 | sp.AbsolutePosition = new Vector3(30, 31, 32); |
214 | 214 | ||
215 | sceneA.Update(4); | ||
216 | sceneB.Update(4); | ||
217 | |||
215 | List<TestClient> destinationTestClients = new List<TestClient>(); | 218 | List<TestClient> destinationTestClients = new List<TestClient>(); |
216 | EntityTransferHelpers.SetupSendRegionTeleportTriggersDestinationClientCreateAndCompleteMovement( | 219 | EntityTransferHelpers.SetupSendRegionTeleportTriggersDestinationClientCreateAndCompleteMovement( |
217 | (TestClient)sp.ControllingClient, destinationTestClients); | 220 | (TestClient)sp.ControllingClient, destinationTestClients); |
@@ -224,11 +227,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
224 | (uint)TeleportFlags.ViaLocation); | 227 | (uint)TeleportFlags.ViaLocation); |
225 | 228 | ||
226 | // Assert.That(sceneA.GetScenePresence(userId), Is.Null); | 229 | // Assert.That(sceneA.GetScenePresence(userId), Is.Null); |
230 | sceneA.Update(4); | ||
231 | sceneB.Update(4); | ||
227 | 232 | ||
228 | ScenePresence sceneBSp = sceneB.GetScenePresence(userId); | 233 | ScenePresence sceneBSp = sceneB.GetScenePresence(userId); |
229 | Assert.That(sceneBSp, Is.Not.Null); | 234 | Assert.That(sceneBSp, Is.Not.Null); |
230 | Assert.That(sceneBSp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneB.RegionInfo.RegionName)); | 235 | Assert.That(sceneBSp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneB.RegionInfo.RegionName)); |
231 | Assert.That(sceneBSp.AbsolutePosition, Is.EqualTo(teleportPosition)); | 236 | Assert.That(sceneBSp.AbsolutePosition.X, Is.EqualTo(teleportPosition.X)); |
237 | Assert.That(sceneBSp.AbsolutePosition.Y, Is.EqualTo(teleportPosition.Y)); | ||
232 | 238 | ||
233 | //Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(0)); | 239 | //Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(0)); |
234 | //Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); | 240 | //Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); |
@@ -239,7 +245,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
239 | 245 | ||
240 | // Lookat is sent to the client only - sp.Lookat does not yield the same thing (calculation from camera | 246 | // Lookat is sent to the client only - sp.Lookat does not yield the same thing (calculation from camera |
241 | // position instead). | 247 | // position instead). |
242 | // Assert.That(sp.Lookat, Is.EqualTo(teleportLookAt)); | 248 | // Assert.That(sp.Lookat, Is.EqualTo(teleportLookAt)); |
243 | } | 249 | } |
244 | 250 | ||
245 | /// <summary> | 251 | /// <summary> |
@@ -310,7 +316,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
310 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); | 316 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); |
311 | Assert.That(sceneASp, Is.Not.Null); | 317 | Assert.That(sceneASp, Is.Not.Null); |
312 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); | 318 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); |
313 | Assert.That(sceneASp.AbsolutePosition, Is.EqualTo(preTeleportPosition)); | 319 | Assert.That(sceneASp.AbsolutePosition.X, Is.EqualTo(preTeleportPosition.X)); |
320 | Assert.That(sceneASp.AbsolutePosition.Y, Is.EqualTo(preTeleportPosition.Y)); | ||
314 | 321 | ||
315 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); | 322 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); |
316 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); | 323 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); |
@@ -369,6 +376,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
369 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); | 376 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); |
370 | sp.AbsolutePosition = preTeleportPosition; | 377 | sp.AbsolutePosition = preTeleportPosition; |
371 | 378 | ||
379 | sceneA.Update(4); | ||
380 | sceneB.Update(4); | ||
381 | |||
372 | // Make sceneB refuse CreateAgent | 382 | // Make sceneB refuse CreateAgent |
373 | sceneB.LoginsEnabled = false; | 383 | sceneB.LoginsEnabled = false; |
374 | 384 | ||
@@ -379,14 +389,18 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
379 | teleportLookAt, | 389 | teleportLookAt, |
380 | (uint)TeleportFlags.ViaLocation); | 390 | (uint)TeleportFlags.ViaLocation); |
381 | 391 | ||
382 | // ((TestClient)sp.ControllingClient).CompleteTeleportClientSide(); | 392 | // ((TestClient)sp.ControllingClient).CompleteTeleportClientSide(); |
393 | |||
394 | sceneA.Update(4); | ||
395 | sceneB.Update(4); | ||
383 | 396 | ||
384 | Assert.That(sceneB.GetScenePresence(userId), Is.Null); | 397 | Assert.That(sceneB.GetScenePresence(userId), Is.Null); |
385 | 398 | ||
386 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); | 399 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); |
387 | Assert.That(sceneASp, Is.Not.Null); | 400 | Assert.That(sceneASp, Is.Not.Null); |
388 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); | 401 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); |
389 | Assert.That(sceneASp.AbsolutePosition, Is.EqualTo(preTeleportPosition)); | 402 | Assert.That(sceneASp.AbsolutePosition.X, Is.EqualTo(preTeleportPosition.X)); |
403 | Assert.That(sceneASp.AbsolutePosition.Y, Is.EqualTo(preTeleportPosition.Y)); | ||
390 | 404 | ||
391 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); | 405 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); |
392 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); | 406 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); |
@@ -458,6 +472,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
458 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); | 472 | ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId); |
459 | sp.AbsolutePosition = preTeleportPosition; | 473 | sp.AbsolutePosition = preTeleportPosition; |
460 | 474 | ||
475 | sceneA.Update(4); | ||
476 | sceneB.Update(4); | ||
477 | |||
461 | sceneA.RequestTeleportLocation( | 478 | sceneA.RequestTeleportLocation( |
462 | sp.ControllingClient, | 479 | sp.ControllingClient, |
463 | sceneB.RegionInfo.RegionHandle, | 480 | sceneB.RegionInfo.RegionHandle, |
@@ -468,13 +485,16 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
468 | // FIXME: Not setting up InformClientOfNeighbour on the TestClient means that it does not initiate | 485 | // FIXME: Not setting up InformClientOfNeighbour on the TestClient means that it does not initiate |
469 | // communication with the destination region. But this is a very non-obvious way of doing it - really we | 486 | // communication with the destination region. But this is a very non-obvious way of doing it - really we |
470 | // should be forced to expicitly set this up. | 487 | // should be forced to expicitly set this up. |
488 | sceneA.Update(4); | ||
489 | sceneB.Update(4); | ||
471 | 490 | ||
472 | Assert.That(sceneB.GetScenePresence(userId), Is.Null); | 491 | Assert.That(sceneB.GetScenePresence(userId), Is.Null); |
473 | 492 | ||
474 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); | 493 | ScenePresence sceneASp = sceneA.GetScenePresence(userId); |
475 | Assert.That(sceneASp, Is.Not.Null); | 494 | Assert.That(sceneASp, Is.Not.Null); |
476 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); | 495 | Assert.That(sceneASp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneA.RegionInfo.RegionName)); |
477 | Assert.That(sceneASp.AbsolutePosition, Is.EqualTo(preTeleportPosition)); | 496 | Assert.That(sceneASp.AbsolutePosition.X, Is.EqualTo(preTeleportPosition.X)); |
497 | Assert.That(sceneASp.AbsolutePosition.Y, Is.EqualTo(preTeleportPosition.Y)); | ||
478 | 498 | ||
479 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); | 499 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(1)); |
480 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); | 500 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(0)); |
@@ -614,6 +634,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
614 | ScenePresence beforeSceneASp = SceneHelpers.AddScenePresence(sceneA, tc, acd); | 634 | ScenePresence beforeSceneASp = SceneHelpers.AddScenePresence(sceneA, tc, acd); |
615 | beforeSceneASp.AbsolutePosition = new Vector3(30, 31, 32); | 635 | beforeSceneASp.AbsolutePosition = new Vector3(30, 31, 32); |
616 | 636 | ||
637 | sceneA.Update(4); | ||
638 | sceneB.Update(4); | ||
639 | |||
617 | Assert.That(beforeSceneASp, Is.Not.Null); | 640 | Assert.That(beforeSceneASp, Is.Not.Null); |
618 | Assert.That(beforeSceneASp.IsChildAgent, Is.False); | 641 | Assert.That(beforeSceneASp.IsChildAgent, Is.False); |
619 | 642 | ||
@@ -638,6 +661,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
638 | teleportLookAt, | 661 | teleportLookAt, |
639 | (uint)TeleportFlags.ViaLocation); | 662 | (uint)TeleportFlags.ViaLocation); |
640 | 663 | ||
664 | sceneA.Update(4); | ||
665 | sceneB.Update(4); | ||
666 | |||
641 | ScenePresence afterSceneASp = sceneA.GetScenePresence(userId); | 667 | ScenePresence afterSceneASp = sceneA.GetScenePresence(userId); |
642 | Assert.That(afterSceneASp, Is.Not.Null); | 668 | Assert.That(afterSceneASp, Is.Not.Null); |
643 | Assert.That(afterSceneASp.IsChildAgent, Is.True); | 669 | Assert.That(afterSceneASp.IsChildAgent, Is.True); |
@@ -646,7 +672,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
646 | Assert.That(afterSceneBSp, Is.Not.Null); | 672 | Assert.That(afterSceneBSp, Is.Not.Null); |
647 | Assert.That(afterSceneBSp.IsChildAgent, Is.False); | 673 | Assert.That(afterSceneBSp.IsChildAgent, Is.False); |
648 | Assert.That(afterSceneBSp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneB.RegionInfo.RegionName)); | 674 | Assert.That(afterSceneBSp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneB.RegionInfo.RegionName)); |
649 | Assert.That(afterSceneBSp.AbsolutePosition, Is.EqualTo(teleportPosition)); | 675 | Assert.That(afterSceneBSp.AbsolutePosition.X, Is.EqualTo(teleportPosition.X)); |
676 | Assert.That(afterSceneBSp.AbsolutePosition.Y, Is.EqualTo(teleportPosition.Y)); | ||
650 | 677 | ||
651 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(0)); | 678 | Assert.That(sceneA.GetRootAgentCount(), Is.EqualTo(0)); |
652 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(1)); | 679 | Assert.That(sceneA.GetChildAgentCount(), Is.EqualTo(1)); |