Fix XmlWriterTraceListenerTests handling of DateTime (dotnet/corefx#35692)
authorStephen Toub <stoub@microsoft.com>
Fri, 1 Mar 2019 16:57:55 +0000 (11:57 -0500)
committerDan Moseley <danmose@microsoft.com>
Fri, 1 Mar 2019 16:57:55 +0000 (08:57 -0800)
commit9c56d52b008956d1d11a19e1ed1d465eb9073061
tree0e727a65ad3fa768a1eab63bde97422f19487f85
parentdbf92b8802e93cb513c8d36cc372f5e2541ec9d4
Fix XmlWriterTraceListenerTests handling of DateTime (dotnet/corefx#35692)

Some of these tests compare a textual date time from an XmlWriterTraceListener (which internally uses DateTime.Now) against a textual date time from a TraceEventCache (which internally uses DateTime.UtcNow).  This means that there's a few hour window (depending on time zone) at the transition of every month where the months end up differing and the test fails.

The tests also have a bug in that the format string used is buggy and isn't actually resulting in day and year being included, just month.  And further, even if the time zones are fixed, it's still possible but rare that taking the Now at two different moments could straddle a boundary.  So, rather than comparing ToStrings, we just compare the DateTimes, albeit with an allowed window.

Commit migrated from https://github.com/dotnet/corefx/commit/1b80f1e1da2630b8fe877a35c285d9c4ffe9f2ce
src/libraries/System.Diagnostics.TextWriterTraceListener/tests/XmlWriterTraceListenerTests.cs