* Make archiver tests pump the asset server manually instead of starting the normal runtime thread

* This may eliminate the occasional archive test freezes, since they appeared to occur when somehow the asset server didn't pick up on the presence of a request in the asset 
quque
This commit is contained in:
Justin Clarke Casey
2009-04-14 18:49:45 +00:00
parent 017faf0eff
commit d0744f8eca
6 changed files with 58 additions and 8 deletions

View File

@@ -67,7 +67,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
InventoryArchiverModule archiverModule = new InventoryArchiverModule();
Scene scene = SceneSetupHelpers.SetupScene();
Scene scene = SceneSetupHelpers.SetupScene(false);
SceneSetupHelpers.SetupSceneModules(scene, archiverModule);
CommunicationsManager cm = scene.CommsManager;
@@ -119,6 +119,10 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
lock (this)
{
archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
while (assetServer.HasWaitingRequests())
assetServer.ProcessNextRequest();
Monitor.Wait(this, 60000);
}

View File

@@ -34,6 +34,7 @@ using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using OpenMetaverse;
using OpenSim.Framework;
using OpenSim.Framework.Communications.Cache;
using OpenSim.Framework.Serialization;
using OpenSim.Region.CoreModules.World.Serialiser;
using OpenSim.Region.CoreModules.World.Terrain;
@@ -67,7 +68,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
SerialiserModule serialiserModule = new SerialiserModule();
TerrainModule terrainModule = new TerrainModule();
Scene scene = SceneSetupHelpers.SetupScene();
Scene scene = SceneSetupHelpers.SetupScene(false);
SceneSetupHelpers.SetupSceneModules(scene, archiverModule, serialiserModule, terrainModule);
SceneObjectPart part1;
@@ -114,6 +115,10 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
lock (this)
{
archiverModule.ArchiveRegion(archiveWriteStream);
AssetServerBase assetServer = (AssetServerBase)scene.CommsManager.AssetCache.AssetServer;
while (assetServer.HasWaitingRequests())
assetServer.ProcessNextRequest();
Monitor.Wait(this, 60000);
}

View File

@@ -57,7 +57,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
public UUID agent1, agent2, agent3;
public static Random random;
public ulong region1,region2,region3;
public CommunicationsManager cm;
public TestCommunicationsManager cm;
public AgentCircuitData acd1;
public SceneObjectGroup sog1, sog2, sog3;
public TestClient testclient;

View File

@@ -60,7 +60,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests
UUID sceneAId = UUID.Parse("00000000-0000-0000-0000-000000000100");
UUID sceneBId = UUID.Parse("00000000-0000-0000-0000-000000000200");
CommunicationsManager cm = new TestCommunicationsManager();
TestCommunicationsManager cm = new TestCommunicationsManager();
// shared module
IRegionModule interregionComms = new RESTInterregionComms();