Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Add regression test for teleporting an agent between separated region…

…s on the same simulator.

This involves a large amount of change in test scene setup code to allow test scenes to share shared modules
SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static
May split these out into separate classes in the future.
  • Loading branch information...
commit 07e62df5582e28675275b3f5143ec37e5697d283 1 parent 8a65f5a
@justincc justincc authored
Showing with 268 additions and 307 deletions.
  1. +1 −1  OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs
  2. +1 −1  OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs
  3. +1 −1  OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs
  4. +1 −1  OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs
  5. +1 −1  OpenSim/Region/CoreModules/Asset/Tests/FlotsamAssetCacheTests.cs
  6. +1 −1  OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
  7. +2 −2 OpenSim/Region/CoreModules/Avatar/AvatarFactory/Tests/AvatarFactoryModuleTests.cs
  8. +1 −1  OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs
  9. +1 −1  OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveTestCase.cs
  10. +1 −1  OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
  11. +7 −7 OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs
  12. +2 −1  OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
  13. +1 −1  OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs
  14. +3 −3 OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
  15. +1 −1  OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs
  16. +1 −1  OpenSim/Region/CoreModules/World/Media/Moap/Tests/MoapTests.cs
  17. +1 −1  OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs
  18. +6 −2 OpenSim/Region/Framework/Scenes/Scene.cs
  19. +1 −1  OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs
  20. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs
  21. +5 −5 OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
  22. +2 −2 OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs
  23. +5 −5 OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs
  24. +2 −2 OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs
  25. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs
  26. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs
  27. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs
  28. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs
  29. +10 −8 OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs
  30. +1 −1  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs
  31. +1 −1  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs
  32. +1 −1  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs
  33. +45 −132 OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs
  34. +1 −1  OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
  35. +4 −4 OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs
  36. +2 −2 OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
  37. +1 −1  OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs
  38. +1 −1  OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/Tests/GroupsModuleTests.cs
  39. +1 −1  OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
  40. +1 −1  OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiInventoryTests.cs
  41. +2 −2 OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs
  42. +1 −1  OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAppearanceTest.cs
  43. +1 −1  OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs
  44. +1 −1  OpenSim/Region/ScriptEngine/XEngine/Tests/XEngineTest.cs
  45. +128 −90 OpenSim/Tests/Common/Helpers/SceneHelpers.cs
  46. +10 −7 OpenSim/Tests/Common/Mock/TestLandChannel.cs
  47. +1 −1  OpenSim/Tests/Torture/NPCTortureTests.cs
  48. +1 −1  OpenSim/Tests/Torture/ObjectTortureTests.cs
  49. +1 −1  OpenSim/Tests/Torture/ScriptTortureTests.cs
View
2  OpenSim/Capabilities/Handlers/GetTexture/Tests/GetTextureHandlerTests.cs
@@ -50,7 +50,7 @@ public void TestTextureNotFound()
TestHelpers.InMethod();
// Overkill - we only really need the asset service, not a whole scene.
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
GetTextureHandler handler = new GetTextureHandler(null, scene.AssetService);
TestOSHttpRequest req = new TestOSHttpRequest();
View
2  OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs
@@ -60,7 +60,7 @@ public void SetUp()
CapabilitiesModule capsModule = new CapabilitiesModule();
EventQueueGetModule eqgModule = new EventQueueGetModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, config, capsModule, eqgModule);
}
View
2  OpenSim/Region/ClientStack/Linden/UDP/Tests/BasicCircuitTests.cs
@@ -158,7 +158,7 @@ public void TestAddClient()
TestHelpers.InMethod();
// XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
uint myCircuitCode = 123456;
UUID myAgentUuid = TestHelpers.ParseTail(0x1);
UUID mySessionUuid = TestHelpers.ParseTail(0x2);
View
2  OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs
@@ -79,7 +79,7 @@ public void SetUp()
J2KDecoderModule j2kdm = new J2KDecoderModule();
- scene = SceneHelpers.SetupScene();
+ scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, j2kdm);
tc = new TestClient(SceneHelpers.GenerateAgentData(userId), scene);
View
2  OpenSim/Region/CoreModules/Asset/Tests/FlotsamAssetCacheTests.cs
@@ -65,7 +65,7 @@ public void SetUp()
config.Configs["AssetCache"].Set("MemoryCacheEnabled", "true");
m_cache = new FlotsamAssetCache();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, config, m_cache);
}
View
2  OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
@@ -72,7 +72,7 @@ public void Init()
config.AddConfig("Modules");
config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");
- scene = SceneHelpers.SetupScene();
+ scene = new SceneHelpers().SetupScene();
m_attMod = new AttachmentsModule();
SceneHelpers.SetupSceneModules(scene, config, m_attMod, new BasicInventoryAccessModule());
}
View
4 OpenSim/Region/CoreModules/Avatar/AvatarFactory/Tests/AvatarFactoryModuleTests.cs
@@ -53,7 +53,7 @@ public void TestSetAppearance()
UUID userId = TestHelpers.ParseTail(0x1);
AvatarFactoryModule afm = new AvatarFactoryModule();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, afm);
ScenePresence sp = SceneHelpers.AddScenePresence(scene, userId);
@@ -81,7 +81,7 @@ public void TestSaveBakedTextures()
CoreAssetCache assetCache = new CoreAssetCache();
AvatarFactoryModule afm = new AvatarFactoryModule();
- TestScene scene = SceneHelpers.SetupScene(assetCache);
+ TestScene scene = new SceneHelpers(assetCache).SetupScene();
SceneHelpers.SetupSceneModules(scene, afm);
ScenePresence sp = SceneHelpers.AddScenePresence(scene, userId);
View
2  OpenSim/Region/CoreModules/Avatar/Friends/Tests/FriendModuleTests.cs
@@ -78,7 +78,7 @@ public void Init()
config.AddConfig("FriendsService");
config.Configs["FriendsService"].Set("StorageProvider", "OpenSim.Data.Null.dll");
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
m_fm = new FriendsModule();
SceneHelpers.SetupSceneModules(m_scene, config, m_fm);
}
View
2  OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiveTestCase.cs
@@ -100,7 +100,7 @@ protected void ConstructDefaultIarBytesForTestLoad()
// log4net.Config.XmlConfigurator.Configure();
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, archiverModule);
UserAccountHelpers.CreateUserWithInventory(scene, m_uaLL1, "hampshire");
View
2  OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/InventoryArchiverTests.cs
@@ -61,7 +61,7 @@ public override void SetUp()
SerialiserModule serialiserModule = new SerialiserModule();
m_archiverModule = new InventoryArchiverModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, serialiserModule, m_archiverModule);
}
View
14 OpenSim/Region/CoreModules/Avatar/Inventory/Archiver/Tests/PathTests.cs
@@ -62,7 +62,7 @@ public void TestSavePathToIarV0_1()
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, archiverModule);
// Create user
@@ -179,7 +179,7 @@ public void TestLoadIarToInventoryPaths()
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
// Annoyingly, we have to set up a scene even though inventory loading has nothing to do with a scene
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, serialiserModule, archiverModule);
@@ -222,7 +222,7 @@ public void TestLoadIarPathStartsWithSlash()
SerialiserModule serialiserModule = new SerialiserModule();
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, serialiserModule, archiverModule);
UserAccountHelpers.CreateUserWithInventory(scene, m_uaMT, "password");
@@ -247,7 +247,7 @@ public void TestLoadIarPathWithEscapedChars()
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, archiverModule);
// Create user
@@ -326,7 +326,7 @@ public void TestNewIarPath()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene);
Dictionary <string, InventoryFolderBase> foldersCreated = new Dictionary<string, InventoryFolderBase>();
@@ -393,7 +393,7 @@ public void TestPartExistingIarPath()
TestHelpers.InMethod();
//log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene);
string folder1ExistingName = "a";
@@ -444,7 +444,7 @@ public void TestMergeIarPath()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount ua1 = UserAccountHelpers.CreateUserWithInventory(scene);
string folder1ExistingName = "a";
View
3  OpenSim/Region/CoreModules/Framework/EntityTransfer/EntityTransferModule.cs
@@ -597,7 +597,8 @@ protected virtual void SetCallbackURL(AgentData agent, RegionInfo region)
protected virtual void AgentHasMovedAway(ScenePresence sp, bool logout)
{
- sp.Scene.AttachmentsModule.DeleteAttachmentsFromScene(sp, true);
+ if (sp.Scene.AttachmentsModule != null)
+ sp.Scene.AttachmentsModule.DeleteAttachmentsFromScene(sp, true);
}
protected void KillEntity(Scene scene, uint localID)
View
2  OpenSim/Region/CoreModules/Framework/InventoryAccess/Tests/InventoryAccessModuleTests.cs
@@ -65,7 +65,7 @@ public void SetUp()
config.AddConfig("Modules");
config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule");
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, config, m_iam);
// Create user
View
6 OpenSim/Region/CoreModules/World/Archiver/Tests/ArchiverTests.cs
@@ -68,7 +68,7 @@ public void SetUp()
SerialiserModule serialiserModule = new SerialiserModule();
TerrainModule terrainModule = new TerrainModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, m_archiverModule, serialiserModule, terrainModule);
}
@@ -463,7 +463,7 @@ TaskInventoryItem ncItem
SerialiserModule serialiserModule = new SerialiserModule();
TerrainModule terrainModule = new TerrainModule();
- TestScene scene2 = SceneHelpers.SetupScene();
+ TestScene scene2 = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene2, archiverModule, serialiserModule, terrainModule);
// Make sure there's a valid owner for the owner we saved (this should have been wiped if the code is
@@ -607,7 +607,7 @@ public void TestMergeOar()
SerialiserModule serialiserModule = new SerialiserModule();
TerrainModule terrainModule = new TerrainModule();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, archiverModule, serialiserModule, terrainModule);
m_scene.AddNewSceneObject(new SceneObjectGroup(part2), false);
View
2  OpenSim/Region/CoreModules/World/Land/Tests/PrimCountModuleTests.cs
@@ -64,7 +64,7 @@ public void SetUp()
{
m_pcm = new PrimCountModule();
LandManagementModule lmm = new LandManagementModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, lmm, m_pcm);
int xParcelDivider = (int)Constants.RegionSize - 1;
View
2  OpenSim/Region/CoreModules/World/Media/Moap/Tests/MoapTests.cs
@@ -53,7 +53,7 @@ public class MoapTests
public void SetUp()
{
m_module = new MoapModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, m_module);
}
View
2  OpenSim/Region/CoreModules/World/Serialiser/Tests/SerialiserTests.cs
@@ -343,7 +343,7 @@ public class SerialiserTests
public void Init()
{
m_serialiserModule = new SerialiserModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, m_serialiserModule);
}
View
8 OpenSim/Region/Framework/Scenes/Scene.cs
@@ -437,6 +437,7 @@ public ISimulationService SimulationService
{
if (m_simulationService == null)
m_simulationService = RequestModuleInterface<ISimulationService>();
+
return m_simulationService;
}
}
@@ -3217,7 +3218,7 @@ public override void RemoveClient(UUID agentID, bool closeChildAgents)
try
{
m_log.DebugFormat(
- "[SCENE]: Removing {0} agent {1} {2} from region {2}",
+ "[SCENE]: Removing {0} agent {1} {2} from region {3}",
(isChildAgent ? "child" : "root"), avatar.Name, agentID, RegionInfo.RegionName);
m_sceneGraph.removeUserCount(!isChildAgent);
@@ -3879,7 +3880,10 @@ public virtual bool IncomingChildAgentDataUpdate(AgentData cAgentData)
ILandObject nearestParcel = GetNearestAllowedParcel(cAgentData.AgentID, Constants.RegionSize / 2, Constants.RegionSize / 2);
if (nearestParcel == null)
{
- m_log.DebugFormat("[SCENE]: Denying root agent entry to {0}: no allowed parcel", cAgentData.AgentID);
+ m_log.DebugFormat(
+ "[SCENE]: Denying root agent entry to {0} in {1}: no allowed parcel",
+ cAgentData.AgentID, RegionInfo.RegionName);
+
return false;
}
View
2  OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs
@@ -45,7 +45,7 @@ public class EntityManagerTests
{
static public Random random;
SceneObjectGroup found;
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
[Test]
public void T010_AddObjects()
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs
@@ -44,7 +44,7 @@ public class SceneGraphTests
public void TestDuplicateObject()
{
TestHelpers.InMethod();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UUID ownerId = new UUID("00000000-0000-0000-0000-000000000010");
string part1Name = "part1";
View
10 OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs
@@ -88,7 +88,7 @@ public void TestAddSceneObject()
{
TestHelpers.InMethod();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
int partsToTestCount = 3;
SceneObjectGroup so
@@ -118,7 +118,7 @@ public void TestAddExistingSceneObjectUuid()
{
TestHelpers.InMethod();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
string obj1Name = "Alfred";
string obj2Name = "Betty";
@@ -152,7 +152,7 @@ public void TestGetSceneObjectByPartLocalId()
{
TestHelpers.InMethod();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
int partsToTestCount = 3;
SceneObjectGroup so
@@ -185,7 +185,7 @@ public void TestDeleteSceneObject()
{
TestHelpers.InMethod();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
SceneObjectPart part = SceneHelpers.AddSceneObject(scene);
scene.DeleteSceneObject(part.ParentGroup, false);
@@ -204,7 +204,7 @@ public void TestDeleteSceneObjectAsync()
UUID agentId = UUID.Parse("00000000-0000-0000-0000-000000000001");
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
// Turn off the timer on the async sog deleter - we'll crank it by hand for this test.
AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter;
View
4 OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs
@@ -61,7 +61,7 @@ public void TestDeRezSceneObject()
UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001");
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
IConfigSource configSource = new IniConfigSource();
IConfig config = configSource.AddConfig("Startup");
config.Set("serverside_object_permissions", true);
@@ -100,7 +100,7 @@ public void TestDeRezSceneObjectNotOwner()
UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001");
UUID objectOwnerId = UUID.Parse("20000000-0000-0000-0000-000000000001");
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
IConfigSource configSource = new IniConfigSource();
IConfig config = configSource.AddConfig("Startup");
config.Set("serverside_object_permissions", true);
View
10 OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs
@@ -55,7 +55,7 @@ public void TestLinkToSelf()
UUID ownerId = TestHelpers.ParseTail(0x1);
int nParts = 3;
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(nParts, ownerId, "TestLinkToSelf_", 0x10);
scene.AddSceneObject(sog1);
scene.LinkObjects(ownerId, sog1.LocalId, new List<uint>() { sog1.Parts[1].LocalId });
@@ -71,7 +71,7 @@ public void TestLinkDelink2SceneObjects()
bool debugtest = false;
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectPart part1 = SceneHelpers.AddSceneObject(scene);
SceneObjectGroup grp1 = part1.ParentGroup;
SceneObjectPart part2 = SceneHelpers.AddSceneObject(scene);
@@ -153,7 +153,7 @@ public void TestLinkDelink2groups4SceneObjects()
bool debugtest = false;
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectPart part1 = SceneHelpers.AddSceneObject(scene);
SceneObjectGroup grp1 = part1.ParentGroup;
SceneObjectPart part2 = SceneHelpers.AddSceneObject(scene);
@@ -286,7 +286,7 @@ public void TestNewSceneObjectLinkPersistence()
TestHelpers.InMethod();
//log4net.Config.XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
string rootPartName = "rootpart";
UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001");
@@ -325,7 +325,7 @@ public void TestDelinkPersistence()
TestHelpers.InMethod();
//log4net.Config.XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
string rootPartName = "rootpart";
UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001");
View
4 OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs
@@ -52,7 +52,7 @@ public void TestResizeSceneObject()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectGroup g1 = SceneHelpers.AddSceneObject(scene).ParentGroup;
g1.GroupResize(new Vector3(2, 3, 4));
@@ -75,7 +75,7 @@ public void TestResizeSceneObjectPart()
TestHelpers.InMethod();
//log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectGroup g1 = SceneHelpers.CreateSceneObject(2, UUID.Zero);
g1.RootPart.Scale = new Vector3(2, 3, 4);
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneObjectScriptTests.cs
@@ -52,7 +52,7 @@ public void TestAddScript()
// UUID itemId = TestHelpers.ParseTail(0x2);
string itemName = "Test Script Item";
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectGroup so = SceneHelpers.CreateSceneObject(1, userId);
scene.AddNewSceneObject(so, true);
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs
@@ -50,7 +50,7 @@ public class SceneObjectSpatialTests
[SetUp]
public void SetUp()
{
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
}
[Test]
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs
@@ -52,7 +52,7 @@ public class SceneObjectStatusTests
[SetUp]
public void Init()
{
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
m_so1 = SceneHelpers.CreateSceneObject(1, m_ownerId, "so1", 0x10);
m_so2 = SceneHelpers.CreateSceneObject(1, m_ownerId, "so2", 0x20);
}
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs
@@ -58,7 +58,7 @@ public void TestShareWithGroup()
UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001");
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
IConfigSource configSource = new IniConfigSource();
IConfig startupConfig = configSource.AddConfig("Startup");
View
18 OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs
@@ -67,10 +67,12 @@ public class ScenePresenceAgentTests
public void Init()
{
TestHelpers.InMethod();
-
- scene = SceneHelpers.SetupScene("Neighbour x", UUID.Random(), 1000, 1000);
- scene2 = SceneHelpers.SetupScene("Neighbour x+1", UUID.Random(), 1001, 1000);
- scene3 = SceneHelpers.SetupScene("Neighbour x-1", UUID.Random(), 999, 1000);
+
+ SceneHelpers sh = new SceneHelpers();
+
+ scene = sh.SetupScene("Neighbour x", UUID.Random(), 1000, 1000);
+ scene2 = sh.SetupScene("Neighbour x+1", UUID.Random(), 1001, 1000);
+ scene3 = sh.SetupScene("Neighbour x-1", UUID.Random(), 999, 1000);
ISharedRegionModule interregionComms = new LocalSimulationConnectorModule();
interregionComms.Initialise(new IniConfigSource());
@@ -101,7 +103,7 @@ public void TestCloseAgent()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
ScenePresence sp = SceneHelpers.AddScenePresence(scene, TestHelpers.ParseTail(0x1));
Assert.That(scene.AuthenticateHandler.GetAgentCircuitData(sp.UUID), Is.Not.Null);
@@ -126,7 +128,7 @@ public void TestCreateChildScenePresence()
IConfig config = configSource.AddConfig("Modules");
config.Set("SimulationServices", "LocalSimulationConnectorModule");
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, configSource, lsc);
UUID agentId = TestHelpers.ParseTail(0x01);
@@ -176,8 +178,8 @@ public void TestChildAgentEstablishedInNeighbour()
// UUID agent1Id = UUID.Parse("00000000-0000-0000-0000-000000000001");
- TestScene myScene1 = SceneHelpers.SetupScene("Neighbour y", UUID.Random(), 1000, 1000);
- TestScene myScene2 = SceneHelpers.SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000);
+ TestScene myScene1 = new SceneHelpers().SetupScene("Neighbour y", UUID.Random(), 1000, 1000);
+ TestScene myScene2 = new SceneHelpers().SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000);
IConfigSource configSource = new IniConfigSource();
IConfig config = configSource.AddConfig("Startup");
View
2  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs
@@ -59,7 +59,7 @@ public void TestFlyingAnimation()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
ScenePresence sp = SceneHelpers.AddScenePresence(scene, TestHelpers.ParseTail(0x1));
sp.Flying = true;
sp.PhysicsCollisionUpdate(new CollisionEventUpdate());
View
2  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs
@@ -64,7 +64,7 @@ public void TearDown()
[SetUp]
public void Init()
{
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
}
[Test]
View
2  OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs
@@ -50,7 +50,7 @@ public class ScenePresenceSitTests
[SetUp]
public void Init()
{
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
m_sp = SceneHelpers.AddScenePresence(m_scene, TestHelpers.ParseTail(0x1));
}
View
177 OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs
@@ -61,7 +61,7 @@ public void TestSameRegionTeleport()
// Not strictly necessary since FriendsModule assumes it is the default (!)
config.Configs["Modules"].Set("EntityTransferModule", etm.Name);
- TestScene scene = SceneHelpers.SetupScene("sceneA", TestHelpers.ParseTail(0x100), 1000, 1000);
+ TestScene scene = new SceneHelpers().SetupScene("sceneA", TestHelpers.ParseTail(0x100), 1000, 1000);
SceneHelpers.SetupSceneModules(scene, config, etm);
Vector3 teleportPosition = new Vector3(10, 11, 12);
@@ -83,145 +83,58 @@ public void TestSameRegionTeleport()
// Assert.That(sp.Lookat, Is.EqualTo(teleportLookAt));
}
- /// <summary>
- /// Test a teleport between two regions that are not neighbours and do not share any neighbours in common.
- /// </summary>
- /// Does not yet do what is says on the tin.
- /// Commenting for now
- //[Test, LongRunning]
- public void TestSimpleNotNeighboursTeleport()
+ [Test]
+ public void TestSameSimulatorSeparatedRegionsTeleport()
{
TestHelpers.InMethod();
- ThreadRunResults results = new ThreadRunResults();
- results.Result = false;
- results.Message = "Test did not run";
- TestRunning testClass = new TestRunning(results);
+// log4net.Config.XmlConfigurator.Configure();
- Thread testThread = new Thread(testClass.run);
+ UUID userId = TestHelpers.ParseTail(0x1);
- // Seems kind of redundant to start a thread and then join it, however.. We need to protect against
- // A thread abort exception in the simulator code.
- testThread.Start();
- testThread.Join();
+ EntityTransferModule etm = new EntityTransferModule();
+ LocalSimulationConnectorModule lscm = new LocalSimulationConnectorModule();
- Assert.That(testClass.results.Result, Is.EqualTo(true), testClass.results.Message);
- // Console.WriteLine("Beginning test {0}", MethodBase.GetCurrentMethod());
- }
+ IConfigSource config = new IniConfigSource();
+ config.AddConfig("Modules");
+ // Not strictly necessary since FriendsModule assumes it is the default (!)
+ config.Configs["Modules"].Set("EntityTransferModule", etm.Name);
+ config.Configs["Modules"].Set("SimulationServices", lscm.Name);
- [TearDown]
- public void TearDown()
- {
- try
- {
- if (MainServer.Instance != null) MainServer.Instance.Stop();
- }
- catch (NullReferenceException)
- { }
- }
+ SceneHelpers sh = new SceneHelpers();
+ TestScene sceneA = sh.SetupScene("sceneA", TestHelpers.ParseTail(0x100), 1000, 1000);
+ TestScene sceneB = sh.SetupScene("sceneB", TestHelpers.ParseTail(0x200), 1002, 1000);
- }
+ SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, etm, lscm);
- public class ThreadRunResults
- {
- public bool Result = false;
- public string Message = string.Empty;
- }
+ Vector3 teleportPosition = new Vector3(10, 11, 12);
+ Vector3 teleportLookAt = new Vector3(20, 21, 22);
- public class TestRunning
- {
- public ThreadRunResults results;
- public TestRunning(ThreadRunResults t)
- {
- results = t;
- }
- public void run(object o)
- {
-
- //results.Result = true;
- log4net.Config.XmlConfigurator.Configure();
-
- UUID sceneAId = UUID.Parse("00000000-0000-0000-0000-000000000100");
- UUID sceneBId = UUID.Parse("00000000-0000-0000-0000-000000000200");
-
- // shared module
- ISharedRegionModule interregionComms = new LocalSimulationConnectorModule();
-
-
- Scene sceneB = SceneHelpers.SetupScene("sceneB", sceneBId, 1010, 1010);
- SceneHelpers.SetupSceneModules(sceneB, new IniConfigSource(), interregionComms);
- sceneB.RegisterRegionWithGrid();
-
- Scene sceneA = SceneHelpers.SetupScene("sceneA", sceneAId, 1000, 1000);
- SceneHelpers.SetupSceneModules(sceneA, new IniConfigSource(), interregionComms);
- sceneA.RegisterRegionWithGrid();
-
- UUID agentId = UUID.Parse("00000000-0000-0000-0000-000000000041");
- TestClient client = (TestClient)SceneHelpers.AddScenePresence(sceneA, agentId).ControllingClient;
-
- ICapabilitiesModule sceneACapsModule = sceneA.RequestModuleInterface<ICapabilitiesModule>();
-
- results.Result = (sceneACapsModule.GetCapsPath(agentId) == client.CapsSeedUrl);
-
- if (!results.Result)
- {
- results.Message = "Incorrect caps object path set up in sceneA";
- return;
- }
-
- /*
- Assert.That(
- sceneACapsModule.GetCapsPath(agentId),
- Is.EqualTo(client.CapsSeedUrl),
- "Incorrect caps object path set up in sceneA");
- */
- // FIXME: This is a hack to get the test working - really the normal OpenSim mechanisms should be used.
-
-
- client.TeleportTargetScene = sceneB;
- client.Teleport(sceneB.RegionInfo.RegionHandle, new Vector3(100, 100, 100), new Vector3(40, 40, 40));
-
- results.Result = (sceneB.GetScenePresence(agentId) != null);
- if (!results.Result)
- {
- results.Message = "Client does not have an agent in sceneB";
- return;
- }
-
- //Assert.That(sceneB.GetScenePresence(agentId), Is.Not.Null, "Client does not have an agent in sceneB");
-
- //Assert.That(sceneA.GetScenePresence(agentId), Is.Null, "Client still had an agent in sceneA");
-
- results.Result = (sceneA.GetScenePresence(agentId) == null);
- if (!results.Result)
- {
- results.Message = "Client still had an agent in sceneA";
- return;
- }
-
- ICapabilitiesModule sceneBCapsModule = sceneB.RequestModuleInterface<ICapabilitiesModule>();
-
-
- results.Result = ("http://" + sceneB.RegionInfo.ExternalHostName + ":" + sceneB.RegionInfo.HttpPort +
- "/CAPS/" + sceneBCapsModule.GetCapsPath(agentId) + "0000/" == client.CapsSeedUrl);
- if (!results.Result)
- {
- results.Message = "Incorrect caps object path set up in sceneB";
- return;
- }
-
- // Temporary assertion - caps url construction should at least be doable through a method.
- /*
- Assert.That(
- "http://" + sceneB.RegionInfo.ExternalHostName + ":" + sceneB.RegionInfo.HttpPort + "/CAPS/" + sceneBCapsModule.GetCapsPath(agentId) + "0000/",
- Is.EqualTo(client.CapsSeedUrl),
- "Incorrect caps object path set up in sceneB");
- */
- // This assertion will currently fail since we don't remove the caps paths when no longer needed
- //Assert.That(sceneACapsModule.GetCapsPath(agentId), Is.Null, "sceneA still had a caps object path");
-
- // TODO: Check that more of everything is as it should be
-
- // TODO: test what happens if we try to teleport to a region that doesn't exist
+ ScenePresence sp = SceneHelpers.AddScenePresence(sceneA, userId);
+ sp.AbsolutePosition = new Vector3(30, 31, 32);
+
+ // XXX: A very nasty hack to tell the client about the destination scene without having to crank the whole
+ // UDP stack (?)
+ ((TestClient)sp.ControllingClient).TeleportTargetScene = sceneB;
+
+ sceneA.RequestTeleportLocation(
+ sp.ControllingClient,
+ sceneB.RegionInfo.RegionHandle,
+ teleportPosition,
+ teleportLookAt,
+ (uint)TeleportFlags.ViaLocation);
+
+ Assert.That(sceneA.GetScenePresence(userId), Is.Null);
+
+ ScenePresence sceneBSp = sceneB.GetScenePresence(userId);
+ Assert.That(sceneBSp, Is.Not.Null);
+ Assert.That(sceneBSp.Scene.RegionInfo.RegionName, Is.EqualTo(sceneB.RegionInfo.RegionName));
+ Assert.That(sceneBSp.AbsolutePosition, Is.EqualTo(teleportPosition));
+
+ // TODO: Add assertions to check correct circuit details in both scenes.
+
+ // Lookat is sent to the client only - sp.Lookat does not yield the same thing (calculation from camera
+ // position instead).
+// Assert.That(sp.Lookat, Is.EqualTo(teleportLookAt));
}
}
-}
+}
View
2  OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs
@@ -60,7 +60,7 @@ public void TestUpdateScene()
{
TestHelpers.InMethod();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
scene.Update(1);
Assert.That(scene.Frame, Is.EqualTo(1));
View
8 OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs
@@ -58,7 +58,7 @@ public void TestAddTaskInventoryItem()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene);
SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID);
SceneObjectPart sop1 = sog1.RootPart;
@@ -81,7 +81,7 @@ public void TestRezObjectFromInventoryItem()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene);
SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID);
SceneObjectPart sop1 = sog1.RootPart;
@@ -124,7 +124,7 @@ public void TestMoveTaskInventoryItem()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene);
SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID);
SceneObjectPart sop1 = sog1.RootPart;
@@ -153,7 +153,7 @@ public void TestMoveTaskInventoryItemNoParent()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene);
SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID);
SceneObjectPart sop1 = sog1.RootPart;
View
4 OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs
@@ -58,7 +58,7 @@ public void TestGiveInventoryItem()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001));
UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002));
InventoryItemBase item1 = UserInventoryHelpers.CreateInventoryItem(scene, "item1", user1.PrincipalID);
@@ -85,7 +85,7 @@ public void TestGiveInventoryFolder()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001));
UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002));
InventoryFolderBase folder1
View
2  OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs
@@ -47,7 +47,7 @@ public class UuidGathererTests
public void Init()
{
// FIXME: We don't need a full scene here - it would be enough to set up the asset service.
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
m_assetService = scene.AssetService;
m_uuidGatherer = new UuidGatherer(m_assetService);
}
View
2  OpenSim/Region/OptionalModules/Avatar/XmlRpcGroups/Tests/GroupsModuleTests.cs
@@ -50,7 +50,7 @@ public void TestBasic()
TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure();
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
IConfigSource configSource = new IniConfigSource();
IConfig config = configSource.AddConfig("Groups");
config.Set("Enabled", true);
View
2  OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
@@ -85,7 +85,7 @@ public void Init()
m_attMod = new AttachmentsModule();
m_npcMod = new NPCModule();
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, config, m_afMod, m_umMod, m_attMod, m_npcMod, new BasicInventoryAccessModule());
}
View
2  OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiInventoryTests.cs
@@ -63,7 +63,7 @@ public void SetUp()
IConfig config = initConfigSource.AddConfig("XEngine");
config.Set("Enabled", "true");
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, initConfigSource);
m_engine = new XEngine.XEngine();
View
4 OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs
@@ -58,7 +58,7 @@ public void SetUp()
IConfig config = initConfigSource.AddConfig("XEngine");
config.Set("Enabled", "true");
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
SceneObjectPart part = SceneHelpers.AddSceneObject(scene);
XEngine.XEngine engine = new XEngine.XEngine();
@@ -261,7 +261,7 @@ public void TestllSetPrimitiveParams()
TestHelpers.InMethod();
// Create Prim1.
- Scene scene = SceneHelpers.SetupScene();
+ Scene scene = new SceneHelpers().SetupScene();
string obj1Name = "Prim1";
UUID objUuid = new UUID("00000000-0000-0000-0000-000000000001");
SceneObjectPart part1 =
View
2  OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiAppearanceTest.cs
@@ -67,7 +67,7 @@ public void SetUp()
config = initConfigSource.AddConfig("NPC");
config.Set("Enabled", "true");
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, initConfigSource, new AvatarFactoryModule(), new NPCModule());
m_engine = new XEngine.XEngine();
View
2  OpenSim/Region/ScriptEngine/Shared/Tests/OSSL_ApiNpcTests.cs
@@ -68,7 +68,7 @@ public void SetUp()
config = initConfigSource.AddConfig("NPC");
config.Set("Enabled", "true");
- m_scene = SceneHelpers.SetupScene();
+ m_scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(m_scene, initConfigSource, new AvatarFactoryModule(), new NPCModule());
m_engine = new XEngine.XEngine();
View
2  OpenSim/Region/ScriptEngine/XEngine/Tests/XEngineTest.cs
@@ -73,7 +73,7 @@ public void Init()
// to AssemblyResolver.OnAssemblyResolve fails.
xEngineConfig.Set("AppDomainLoading", "false");
- m_scene = SceneHelpers.SetupScene("My Test", UUID.Random(), 1000, 1000, null, configSource);
+ m_scene = new SceneHelpers().SetupScene("My Test", UUID.Random(), 1000, 1000, configSource);
SceneHelpers.SetupSceneModules(m_scene, configSource, m_xEngine, wcModule);
m_scene.StartScripts();
}
View
218 OpenSim/Tests/Common/Helpers/SceneHelpers.cs
@@ -58,57 +58,67 @@ namespace OpenSim.Tests.Common
/// </summary>
public class SceneHelpers
{
- public static TestScene SetupScene()
+ private AgentCircuitManager m_acm = new AgentCircuitManager();
+ private ISimulationDataService m_simDataService
+ = OpenSim.Server.Base.ServerUtils.LoadPlugin<ISimulationDataService>("OpenSim.Tests.Common.dll", null);
+ private IEstateDataService m_estateDataService;
+
+ private LocalAssetServicesConnector m_assetService;
+ private LocalAuthenticationServicesConnector m_authenticationService;
+ private LocalInventoryServicesConnector m_inventoryService;
+ private LocalGridServicesConnector m_gridService;
+ private LocalUserAccountServicesConnector m_userAccountService;
+ private LocalPresenceServicesConnector m_presenceService;
+
+ private CoreAssetCache m_cache;
+
+ public SceneHelpers() : this(null) {}
+
+ public SceneHelpers(CoreAssetCache cache)
{
- return SetupScene(null);
+ m_assetService = StartAssetService(cache);
+ m_authenticationService = StartAuthenticationService();
+ m_inventoryService = StartInventoryService();
+ m_gridService = StartGridService();
+ m_userAccountService = StartUserAccountService();
+ m_presenceService = StartPresenceService();
+
+ m_inventoryService.PostInitialise();
+ m_assetService.PostInitialise();
+ m_userAccountService.PostInitialise();
+ m_presenceService.PostInitialise();
+
+ m_cache = cache;
}
/// <summary>
/// Set up a test scene
/// </summary>
/// <remarks>
- /// Automatically starts service threads, as would the normal runtime.
+ /// Automatically starts services, as would the normal runtime.
/// </remarks>
/// <returns></returns>
- public static TestScene SetupScene(CoreAssetCache cache)
+ public TestScene SetupScene()
{
- return SetupScene("Unit test region", UUID.Random(), 1000, 1000, cache);
+ return SetupScene("Unit test region", UUID.Random(), 1000, 1000);
}
- public static TestScene SetupScene(string name, UUID id, uint x, uint y)
- {
- return SetupScene(name, id, x, y, null);
- }
-
- /// <summary>
- /// Set up a scene. If it's more then one scene, use the same CommunicationsManager to link regions
- /// or a different, to get a brand new scene with new shared region modules.
- /// </summary>
- /// <param name="name">Name of the region</param>
- /// <param name="id">ID of the region</param>
- /// <param name="x">X co-ordinate of the region</param>
- /// <param name="y">Y co-ordinate of the region</param>
- /// <param name="cache"></param>
- /// <returns></returns>
- public static TestScene SetupScene(
- string name, UUID id, uint x, uint y, CoreAssetCache cache)
+ public TestScene SetupScene(string name, UUID id, uint x, uint y)
{
- return SetupScene(name, id, x, y, cache, new IniConfigSource());
+ return SetupScene(name, id, x, y, new IniConfigSource());
}
/// <summary>
- /// Set up a scene. If it's more then one scene, use the same CommunicationsManager to link regions
- /// or a different, to get a brand new scene with new shared region modules.
+ /// Set up a scene.
/// </summary>
/// <param name="name">Name of the region</param>
/// <param name="id">ID of the region</param>
/// <param name="x">X co-ordinate of the region</param>
/// <param name="y">Y co-ordinate of the region</param>
- /// <param name="cache"></param>
/// <param name="configSource"></param>
/// <returns></returns>
- public static TestScene SetupScene(
- string name, UUID id, uint x, uint y, CoreAssetCache cache, IConfigSource configSource)
+ public TestScene SetupScene(
+ string name, UUID id, uint x, uint y, IConfigSource configSource)
{
Console.WriteLine("Setting up test scene {0}", name);
@@ -119,30 +129,47 @@ public static TestScene SetupScene(string name, UUID id, uint x, uint y)
regInfo.RegionName = name;
regInfo.RegionID = id;
- AgentCircuitManager acm = new AgentCircuitManager();
SceneCommunicationService scs = new SceneCommunicationService();
- ISimulationDataService simDataService = OpenSim.Server.Base.ServerUtils.LoadPlugin<ISimulationDataService>("OpenSim.Tests.Common.dll", null);
- IEstateDataService estateDataService = null;
-
TestScene testScene = new TestScene(
- regInfo, acm, scs, simDataService, estateDataService, null, false, configSource, null);
+ regInfo, m_acm, scs, m_simDataService, m_estateDataService, null, false, configSource, null);
IRegionModule godsModule = new GodsModule();
godsModule.Initialise(testScene, new IniConfigSource());
testScene.AddModule(godsModule.Name, godsModule);
- LocalAssetServicesConnector assetService = StartAssetService(testScene, cache);
- StartAuthenticationService(testScene);
- LocalInventoryServicesConnector inventoryService = StartInventoryService(testScene);
- StartGridService(testScene);
- LocalUserAccountServicesConnector userAccountService = StartUserAccountService(testScene);
- LocalPresenceServicesConnector presenceService = StartPresenceService(testScene);
-
- inventoryService.PostInitialise();
- assetService.PostInitialise();
- userAccountService.PostInitialise();
- presenceService.PostInitialise();
+ // Add scene to services
+ m_assetService.AddRegion(testScene);
+
+ if (m_cache != null)
+ {
+ m_cache.AddRegion(testScene);
+ m_cache.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_cache.Name, m_cache);
+ }
+
+ m_assetService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_assetService.Name, m_assetService);
+
+ m_authenticationService.AddRegion(testScene);
+ m_authenticationService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_authenticationService.Name, m_authenticationService);
+
+ m_inventoryService.AddRegion(testScene);
+ m_inventoryService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_inventoryService.Name, m_inventoryService);
+
+ m_gridService.AddRegion(testScene);
+ m_gridService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_gridService.Name, m_gridService);
+
+ m_userAccountService.AddRegion(testScene);
+ m_userAccountService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_userAccountService.Name, m_userAccountService);
+
+ m_presenceService.AddRegion(testScene);
+ m_presenceService.RegionLoaded(testScene);
+ testScene.AddRegionModule(m_presenceService.Name, m_presenceService);
testScene.RegionInfo.EstateSettings.EstateOwner = UUID.Random();
testScene.SetModuleInterfaces();
@@ -162,19 +189,17 @@ public static TestScene SetupScene(string name, UUID id, uint x, uint y)
return testScene;
}
- private static LocalAssetServicesConnector StartAssetService(Scene testScene, CoreAssetCache cache)
+ private static LocalAssetServicesConnector StartAssetService(CoreAssetCache cache)
{
- LocalAssetServicesConnector assetService = new LocalAssetServicesConnector();
IConfigSource config = new IniConfigSource();
-
config.AddConfig("Modules");
config.Configs["Modules"].Set("AssetServices", "LocalAssetServicesConnector");
config.AddConfig("AssetService");
config.Configs["AssetService"].Set("LocalServiceModule", "OpenSim.Services.AssetService.dll:AssetService");
config.Configs["AssetService"].Set("StorageProvider", "OpenSim.Tests.Common.dll");
-
+
+ LocalAssetServicesConnector assetService = new LocalAssetServicesConnector();
assetService.Initialise(config);
- assetService.AddRegion(testScene);
if (cache != null)
{
@@ -184,56 +209,43 @@ private static LocalAssetServicesConnector StartAssetService(Scene testScene, Co
cacheConfig.AddConfig("AssetCache");
cache.Initialise(cacheConfig);
- cache.AddRegion(testScene);
- cache.RegionLoaded(testScene);
- testScene.AddRegionModule(cache.Name, cache);
}
-
- assetService.RegionLoaded(testScene);
- testScene.AddRegionModule(assetService.Name, assetService);
return assetService;
}
- private static void StartAuthenticationService(Scene testScene)
+ private static LocalAuthenticationServicesConnector StartAuthenticationService()
{
- ISharedRegionModule service = new LocalAuthenticationServicesConnector();
IConfigSource config = new IniConfigSource();
-
config.AddConfig("Modules");
config.AddConfig("AuthenticationService");
config.Configs["Modules"].Set("AuthenticationServices", "LocalAuthenticationServicesConnector");
config.Configs["AuthenticationService"].Set(
"LocalServiceModule", "OpenSim.Services.AuthenticationService.dll:PasswordAuthenticationService");
config.Configs["AuthenticationService"].Set("StorageProvider", "OpenSim.Data.Null.dll");
-
+
+ LocalAuthenticationServicesConnector service = new LocalAuthenticationServicesConnector();
service.Initialise(config);
- service.AddRegion(testScene);
- service.RegionLoaded(testScene);
- testScene.AddRegionModule(service.Name, service);
- //m_authenticationService = service;
+
+ return service;
}
- private static LocalInventoryServicesConnector StartInventoryService(Scene testScene)
+ private static LocalInventoryServicesConnector StartInventoryService()
{
- LocalInventoryServicesConnector inventoryService = new LocalInventoryServicesConnector();
-
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
config.AddConfig("InventoryService");
config.Configs["Modules"].Set("InventoryServices", "LocalInventoryServicesConnector");
config.Configs["InventoryService"].Set("LocalServiceModule", "OpenSim.Services.InventoryService.dll:InventoryService");
config.Configs["InventoryService"].Set("StorageProvider", "OpenSim.Tests.Common.dll");
-
+
+ LocalInventoryServicesConnector inventoryService = new LocalInventoryServicesConnector();
inventoryService.Initialise(config);
- inventoryService.AddRegion(testScene);
- inventoryService.RegionLoaded(testScene);
- testScene.AddRegionModule(inventoryService.Name, inventoryService);
return inventoryService;
}
- private static LocalGridServicesConnector StartGridService(Scene testScene)
+ private static LocalGridServicesConnector StartGridService()
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -245,8 +257,6 @@ private static LocalGridServicesConnector StartGridService(Scene testScene)
LocalGridServicesConnector gridService = new LocalGridServicesConnector();
gridService.Initialise(config);
- gridService.AddRegion(testScene);
- gridService.RegionLoaded(testScene);
return gridService;
}
@@ -256,7 +266,7 @@ private static LocalGridServicesConnector StartGridService(Scene testScene)
/// </summary>
/// <param name="testScene"></param>
/// <returns></returns>
- private static LocalUserAccountServicesConnector StartUserAccountService(Scene testScene)
+ private static LocalUserAccountServicesConnector StartUserAccountService()
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -268,10 +278,6 @@ private static LocalUserAccountServicesConnector StartUserAccountService(Scene t
LocalUserAccountServicesConnector userAccountService = new LocalUserAccountServicesConnector();
userAccountService.Initialise(config);
-
- userAccountService.AddRegion(testScene);
- userAccountService.RegionLoaded(testScene);
- testScene.AddRegionModule(userAccountService.Name, userAccountService);
return userAccountService;
}
@@ -280,7 +286,7 @@ private static LocalUserAccountServicesConnector StartUserAccountService(Scene t
/// Start a presence service
/// </summary>
/// <param name="testScene"></param>
- private static LocalPresenceServicesConnector StartPresenceService(Scene testScene)
+ private static LocalPresenceServicesConnector StartPresenceService()
{
IConfigSource config = new IniConfigSource();
config.AddConfig("Modules");
@@ -292,10 +298,6 @@ private static LocalPresenceServicesConnector StartPresenceService(Scene testSce
LocalPresenceServicesConnector presenceService = new LocalPresenceServicesConnector();
presenceService.Initialise(config);
-
- presenceService.AddRegion(testScene);
- presenceService.RegionLoaded(testScene);
- testScene.AddRegionModule(presenceService.Name, presenceService);
return presenceService;
}
@@ -313,19 +315,51 @@ public static void SetupSceneModules(Scene scene, params object[] modules)
/// <summary>
/// Setup modules for a scene.
/// </summary>
- /// <param name="scene"></param>
+ /// <remarks>
+ /// If called directly, then all the modules must be shared modules.
+ /// </remarks>
+ /// <param name="scenes"></param>
/// <param name="config"></param>
/// <param name="modules"></param>
public static void SetupSceneModules(Scene scene, IConfigSource config, params object[] modules)
{
+ SetupSceneModules(new Scene[] { scene }, config, modules);
+ }
+
+ /// <summary>
+ /// Setup modules for a scene using their default settings.
+ /// </summary>
+ /// <param name="scenes"></param>
+ /// <param name="modules"></param>
+ public static void SetupSceneModules(Scene[] scenes, params object[] modules)
+ {
+ SetupSceneModules(scenes, new IniConfigSource(), modules);
+ }
+
+ /// <summary>
+ /// Setup modules for scenes.
+ /// </summary>
+ /// <remarks>
+ /// If called directly, then all the modules must be shared modules.
+ /// </remarks>
+ /// <param name="scenes"></param>
+ /// <param name="config"></param>
+ /// <param name="modules"></param>
+ public static void SetupSceneModules(Scene[] scenes, IConfigSource config, params object[] modules)
+ {
List<IRegionModuleBase> newModules = new List<IRegionModuleBase>();
foreach (object module in modules)
{
if (module is IRegionModule)
{
IRegionModule m = (IRegionModule)module;
- m.Initialise(scene, config);
- scene.AddModule(m.Name, m);
+
+ foreach (Scene scene in scenes)
+ {
+ m.Initialise(scene, config);
+ scene.AddModule(m.Name, m);
+ }
+
m.PostInitialise();
}
else if (module is IRegionModuleBase)
@@ -345,15 +379,19 @@ public static void SetupSceneModules(Scene scene, IConfigSource config, params o
foreach (IRegionModuleBase module in newModules)
{
- module.AddRegion(scene);
- scene.AddRegionModule(module.Name, module);
+ foreach (Scene scene in scenes)
+ {
+ module.AddRegion(scene);
+ scene.AddRegionModule(module.Name, module);
+ }
}
// RegionLoaded is fired after all modules have been appropriately added to all scenes
foreach (IRegionModuleBase module in newModules)
- module.RegionLoaded(scene);
+ foreach (Scene scene in scenes)
+ module.RegionLoaded(scene);
- scene.SetModuleInterfaces();
+ foreach (Scene scene in scenes) { scene.SetModuleInterfaces(); }
}
/// <summary>
View
17 OpenSim/Tests/Common/Mock/TestLandChannel.cs
@@ -46,6 +46,14 @@ public TestLandChannel(Scene scene)
{
m_scene = scene;
m_parcels = new List<ILandObject>();
+ SetupDefaultParcel();
+ }
+
+ private void SetupDefaultParcel()
+ {
+ ILandObject obj = new LandObject(UUID.Zero, false, m_scene);
+ obj.LandData.Name = "Your Parcel";
+ m_parcels.Add(obj);
}
public List<ILandObject> ParcelsNearPoint(Vector3 position)
@@ -63,11 +71,7 @@ public void Clear(bool setupDefaultParcel)
m_parcels.Clear();
if (setupDefaultParcel)
- {
- ILandObject obj = new LandObject(UUID.Zero, false, m_scene);
- obj.LandData.Name = "Your Parcel";
- m_parcels.Add(obj);
- }
+ SetupDefaultParcel();
}
protected ILandObject GetNoLand()
@@ -102,6 +106,5 @@ public ILandObject GetLandObject(float x, float y)
public void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) {}
public void Subdivide(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id) {}
-
}
-}
+}
View
2  OpenSim/Tests/Torture/NPCTortureTests.cs
@@ -98,7 +98,7 @@ public void Init()
umm = new UserManagementModule();
am = new AttachmentsModule();
- scene = SceneHelpers.SetupScene();
+ scene = new SceneHelpers().SetupScene();
SceneHelpers.SetupSceneModules(scene, config, afm, umm, am, new BasicInventoryAccessModule(), new NPCModule());
}
View
2  OpenSim/Tests/Torture/ObjectTortureTests.cs
@@ -126,7 +126,7 @@ private void TestAddObjects(int primsInEachObject, int objectsToAdd)
// Using a local variable for scene, at least on mono 2.6.7, means that it's much more likely to be garbage
// collected when we teardown this test. If it's done in a member variable, even if that is subsequently
// nulled out, the garbage collect can be delayed.
- TestScene scene = SceneHelpers.SetupScene();
+ TestScene scene = new SceneHelpers().SetupScene();
// Process process = Process.GetCurrentProcess();
// long startProcessMemory = process.PrivateMemorySize64;
View
2  OpenSim/Tests/Torture/ScriptTortureTests.cs
@@ -84,7 +84,7 @@ public void Init()
// to AssemblyResolver.OnAssemblyResolve fails.
xEngineConfig.Set("AppDomainLoading", "false");
- m_scene = SceneHelpers.SetupScene("My Test", UUID.Random(), 1000, 1000, null, configSource);
+ m_scene = new SceneHelpers().SetupScene("My Test", UUID.Random(), 1000, 1000, configSource);
SceneHelpers.SetupSceneModules(m_scene, configSource, m_xEngine, wcModule);
m_scene.EventManager.OnChatFromWorld += OnChatFromWorld;
Please sign in to comment.
Something went wrong with that request. Please try again.