* switch to pulsing monitors to perform test sync instead of events, since this doesn't allow one to accidentally forget to reset the event

0.6.3-post-fixes
Justin Clarke Casey 2009-02-17 16:51:09 +00:00
parent 014e9e2c6d
commit 4e779bbd81
2 changed files with 28 additions and 16 deletions

View File

@ -44,12 +44,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
[TestFixture]
public class InventoryArchiverTests
{
private EventWaitHandle m_waitHandle = new AutoResetEvent(false);
private void SaveCompleted(
bool succeeded, CachedUserInfo userInfo, string invPath, Stream saveStream, Exception reportedException)
{
m_waitHandle.Set();
lock (this)
{
Monitor.PulseAll(this);
}
}
/// <summary>
@ -109,8 +110,13 @@ namespace OpenSim.Region.CoreModules.Avatar.Inventory.Archiver.Tests
MemoryStream archiveWriteStream = new MemoryStream();
archiverModule.OnInventoryArchiveSaved += SaveCompleted;
archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
m_waitHandle.WaitOne(60000, true);
archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
lock (this)
{
archiverModule.ArchiveInventory(userFirstName, userLastName, "Objects", archiveWriteStream);
Monitor.Wait(this, 60000);
}
/*
byte[] archive = archiveWriteStream.ToArray();

View File

@ -43,11 +43,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
[TestFixture]
public class ArchiverTests
{
private EventWaitHandle m_waitHandle = new ManualResetEvent(false);
private void SaveCompleted(string errorMessage)
{
m_waitHandle.Set();
lock (this)
{
Monitor.PulseAll(this);
}
}
/// <summary>
@ -103,12 +104,14 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
scene.AddNewSceneObject(new SceneObjectGroup(part2), false);
}
MemoryStream archiveWriteStream = new MemoryStream();
MemoryStream archiveWriteStream = new MemoryStream();
scene.EventManager.OnOarFileSaved += SaveCompleted;
archiverModule.ArchiveRegion(archiveWriteStream);
m_waitHandle.WaitOne(60000, true);
m_waitHandle.Reset();
lock (this)
{
archiverModule.ArchiveRegion(archiveWriteStream);
Monitor.Wait(this, 60000);
}
byte[] archive = archiveWriteStream.ToArray();
MemoryStream archiveReadStream = new MemoryStream(archive);
@ -251,9 +254,12 @@ namespace OpenSim.Region.CoreModules.World.Archiver.Tests
// Write out this scene
scene.EventManager.OnOarFileSaved += SaveCompleted;
archiverModule.ArchiveRegion(archiveWriteStream);
m_waitHandle.WaitOne(60000, true);
m_waitHandle.Reset();
lock (this)
{
archiverModule.ArchiveRegion(archiveWriteStream);
Monitor.Wait(this, 60000);
}
}
{