public void FlushWithoutInitializeTest() { var target = new MyTarget(); List <Exception> exceptions = new List <Exception>(); target.Flush(exceptions.Add); Assert.Equal(1, exceptions.Count); exceptions.ForEach(Assert.Null); // flush was not called Assert.Equal(0, target.InitializeCount + target.FlushCount + target.CloseCount + target.WriteCount + target.WriteCount2 + target.WriteCount3); }
public void FlushTest() { var target = new MyTarget(); List<Exception> exceptions = new List<Exception>(); target.Initialize(CommonCfg); target.Flush(exceptions.Add); // flush was called Assert.AreEqual(1, target.FlushCount); Assert.AreEqual(2, target.InitializeCount + target.FlushCount + target.CloseCount + target.WriteCount + target.WriteCount2 + target.WriteCount3); Assert.AreEqual(1, exceptions.Count); exceptions.ForEach(Assert.IsNull); }
public void FlushTest() { var target = new MyTarget(); List <Exception> exceptions = new List <Exception>(); target.Initialize(null); target.Flush(exceptions.Add); // flush was called Assert.Equal(1, target.FlushCount); Assert.Equal(2, target.InitializeCount + target.FlushCount + target.CloseCount + target.WriteCount + target.WriteCount2 + target.WriteCount3); Assert.Single(exceptions); exceptions.ForEach(Assert.Null); }
public void LockingTest() { var target = new MyTarget(); target.Initialize(null); var mre = new ManualResetEvent(false); Exception backgroundThreadException = null; Thread t = new Thread(() => { try { target.BlockingOperation(1000); } catch (Exception ex) { backgroundThreadException = ex; } finally { mre.Set(); } }); target.Initialize(null); t.Start(); Thread.Sleep(50); List <Exception> exceptions = new List <Exception>(); target.WriteAsyncLogEvent(LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add)); target.WriteAsyncLogEvents(new[] { LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add), LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add), }); target.Flush(exceptions.Add); target.Close(); exceptions.ForEach(Assert.Null); mre.WaitOne(); if (backgroundThreadException != null) { Assert.True(false, backgroundThreadException.ToString()); } }
public void FlushOnClosedTargetTest() { var target = new MyTarget(); target.Initialize(null); target.Close(); Assert.AreEqual(1, target.InitializeCount); Assert.AreEqual(1, target.CloseCount); List <Exception> exceptions = new List <Exception>(); target.Flush(exceptions.Add); Assert.AreEqual(1, exceptions.Count); exceptions.ForEach(Assert.IsNull); // flush was not called Assert.AreEqual(2, target.InitializeCount + target.FlushCount + target.CloseCount + target.WriteCount + target.WriteCount2 + target.WriteCount3); }
public void LockingTest() { var target = new MyTarget(); target.Initialize(null); var mre = new ManualResetEvent(false); Exception backgroundThreadException = null; Thread t = new Thread(() => { try { target.BlockingOperation(1000); } catch (Exception ex) { backgroundThreadException = ex; } finally { mre.Set(); } }); target.Initialize(null); t.Start(); Thread.Sleep(50); List<Exception> exceptions = new List<Exception>(); target.WriteAsyncLogEvent(LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add)); target.WriteAsyncLogEvents(new[] { LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add), LogEventInfo.CreateNullEvent().WithContinuation(exceptions.Add), }); target.Flush(exceptions.Add); target.Close(); exceptions.ForEach(Assert.IsNull); mre.WaitOne(); if (backgroundThreadException != null) { Assert.Fail(backgroundThreadException.ToString()); } }
public void FlushOnClosedTargetTest() { var target = new MyTarget(); target.Initialize(null); target.Close(); Assert.Equal(1, target.InitializeCount); Assert.Equal(1, target.CloseCount); List<Exception> exceptions = new List<Exception>(); target.Flush(exceptions.Add); Assert.Equal(1, exceptions.Count); exceptions.ForEach(Assert.Null); // flush was not called Assert.Equal(2, target.InitializeCount + target.FlushCount + target.CloseCount + target.WriteCount + target.WriteCount2 + target.WriteCount3); }