aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-03-06 23:06:00 +0000
committerJustin Clark-Casey (justincc)2013-03-06 23:06:00 +0000
commit5751ecde5250484fe8e4b79ef38bfbf441e3dead (patch)
tree769348d5952d6758aec7879ad0313389bb819aa4 /OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs
parentAdd regression test for presence crossing between regions on the same simulator. (diff)
downloadopensim-SC-5751ecde5250484fe8e4b79ef38bfbf441e3dead.zip
opensim-SC-5751ecde5250484fe8e4b79ef38bfbf441e3dead.tar.gz
opensim-SC-5751ecde5250484fe8e4b79ef38bfbf441e3dead.tar.bz2
opensim-SC-5751ecde5250484fe8e4b79ef38bfbf441e3dead.tar.xz
Add code for testing event queue messages recevied on region cross.
This is currently disabled pending an improvement in the test code to properly add avatars when an event queue module is present.
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs')
-rw-r--r--OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs27
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
28using System; 28using System;
29using System.Collections.Generic;
29using System.Reflection; 30using System.Reflection;
30using Nini.Config; 31using Nini.Config;
31using NUnit.Framework; 32using 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 }