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

This commit is contained in:
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

@@ -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);
}
}
{