From f2de50bb14bd8215ea98c79c79aabe1e6b4f2780 Mon Sep 17 00:00:00 2001
From: Justin Clark-Casey (justincc)
Date: Fri, 12 Mar 2010 19:31:14 +0000
Subject: Fix tests broken in 88771aeed3d45e60a18aa9a810eeb37b8e5def12 Adds
MockUserAccountService and connects it up Stops services being carried over
between tests since this leads to hard to find bugs Improves information and
error reporting when loading plugins
---
OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | 34 ++++++++++++++++++++-----
1 file changed, 27 insertions(+), 7 deletions(-)
(limited to 'OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs')
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
index 9e718f6..ab3e7cb 100644
--- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
+++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs
@@ -128,7 +128,7 @@ namespace OpenSim.Tests.Common.Setup
/// Starts real inventory and asset services, as opposed to mock ones, if true
///
public static TestScene SetupScene(
- string name, UUID id, uint x, uint y, String realServices)
+ string name, UUID id, uint x, uint y, String realServices)
{
bool newScene = false;
@@ -179,15 +179,16 @@ namespace OpenSim.Tests.Common.Setup
StartAssetService(testScene, true);
else
StartAssetService(testScene, false);
+
if (realServices.Contains("inventory"))
StartInventoryService(testScene, true);
else
StartInventoryService(testScene, false);
+
if (realServices.Contains("grid"))
StartGridService(testScene, true);
- if (realServices.Contains("useraccounts"))
- StartUserAccountService(testScene, true);
-
+
+ StartUserAccountService(testScene, realServices.Contains("useraccounts"));
}
// If not, make sure the shared module gets references to this new scene
else
@@ -196,9 +197,13 @@ namespace OpenSim.Tests.Common.Setup
m_assetService.RegionLoaded(testScene);
m_inventoryService.AddRegion(testScene);
m_inventoryService.RegionLoaded(testScene);
+ m_userAccountService.AddRegion(testScene);
+ m_userAccountService.RegionLoaded(testScene);
}
+
m_inventoryService.PostInitialise();
m_assetService.PostInitialise();
+ m_userAccountService.PostInitialise();
testScene.SetModuleInterfaces();
@@ -209,6 +214,11 @@ namespace OpenSim.Tests.Common.Setup
physicsPluginManager.LoadPluginsFromAssembly("Physics/OpenSim.Region.Physics.BasicPhysicsPlugin.dll");
testScene.PhysicsScene
= physicsPluginManager.GetPhysicsScene("basicphysics", "ZeroMesher", new IniConfigSource(), "test");
+
+ m_assetService = null;
+ m_inventoryService = null;
+ m_gridService = null;
+ m_userAccountService = null;
return testScene;
}
@@ -273,6 +283,11 @@ namespace OpenSim.Tests.Common.Setup
//testScene.AddRegionModule(m_gridService.Name, m_gridService);
}
+ ///
+ /// Start a user account service, whether real or mock
+ ///
+ ///
+ /// Starts a real service if true, a mock service if not
private static void StartUserAccountService(Scene testScene, bool real)
{
IConfigSource config = new IniConfigSource();
@@ -280,8 +295,14 @@ namespace OpenSim.Tests.Common.Setup
config.AddConfig("UserAccountService");
config.Configs["Modules"].Set("UserAccountServices", "LocalUserAccountServicesConnector");
config.Configs["UserAccountService"].Set("StorageProvider", "OpenSim.Data.Null.dll");
+
if (real)
- config.Configs["UserAccountService"].Set("LocalServiceModule", "OpenSim.Services.UserAccountService.dll:UserAccountService");
+ config.Configs["UserAccountService"].Set(
+ "LocalServiceModule", "OpenSim.Services.UserAccountService.dll:UserAccountService");
+ else
+ config.Configs["UserAccountService"].Set(
+ "LocalServiceModule", "OpenSim.Tests.Common.dll:MockUserAccountService");
+
if (m_userAccountService == null)
{
ISharedRegionModule userAccountService = new LocalUserAccountServicesConnector();
@@ -292,10 +313,9 @@ namespace OpenSim.Tests.Common.Setup
// config.Configs["GridService"].Set("LocalServiceModule", "OpenSim.Tests.Common.dll:TestGridService");
m_userAccountService.AddRegion(testScene);
m_userAccountService.RegionLoaded(testScene);
- //testScene.AddRegionModule(m_gridService.Name, m_gridService);
+ testScene.AddRegionModule(m_userAccountService.Name, m_userAccountService);
}
-
///
/// Setup modules for a scene using their default settings.
///
--
cgit v1.1