[Microsoft.Build] Improve assert in BuildSubmissionTest.EndBuildWaitsForSubmissionCom...
authorAlexander Köplinger <alex.koeplinger@outlook.com>
Sun, 2 Jul 2017 22:43:55 +0000 (00:43 +0200)
committerAlexander Köplinger <alex.koeplinger@outlook.com>
Sun, 2 Jul 2017 22:43:55 +0000 (00:43 +0200)
It started failing more frequently, let's see if we can get better data.
Also did the same change to a similar test.

mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/BuildManagerTest.cs
mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/BuildSubmissionTest.cs
mcs/class/test-helpers/NunitHelpers.cs

index cdf6e9f2c3271380e67f11883a926b963575c60b..2d42371476d0d7e6d1604b90985040fbd6965ddc 100644 (file)
@@ -150,18 +150,18 @@ namespace MonoTests.Microsoft.Build.Execution
                        var bm = new BuildManager ();
                        bm.BeginBuild (new BuildParameters () { Loggers = new ILogger [] {new ConsoleLogger (LoggerVerbosity.Diagnostic, TextWriter.Null.WriteLine, null, null)} });
                        DateTime waitDone = DateTime.MinValue;
-                       DateTime beforeExec = DateTime.Now;
+                       DateTime beforeExec = DateTime.UtcNow;
                        var l = new List<BuildSubmission> ();
                        for (int i = 0; i < 10; i++) {
                                var sub = bm.PendBuildRequest (new BuildRequestData (proj, new string [] { "Wait1Sec" }));
                                l.Add (sub);
-                               sub.ExecuteAsync (delegate { waitDone = DateTime.Now; }, null);
+                               sub.ExecuteAsync (delegate { waitDone = DateTime.UtcNow; }, null);
                        }
                        bm.EndBuild ();
                        Assert.IsTrue (l.All (s => s.BuildResult.OverallResult == BuildResultCode.Success), "#1");
-                       DateTime endBuildDone = DateTime.Now;
-                       Assert.IsTrue (endBuildDone - beforeExec >= TimeSpan.FromSeconds (1), "#2");
-                       Assert.IsTrue (endBuildDone > waitDone, "#3");
+                       DateTime endBuildDone = DateTime.UtcNow;
+                       AssertHelper.GreaterOrEqual (endBuildDone - beforeExec, TimeSpan.FromSeconds (1), "#2");
+                       AssertHelper.Greater (endBuildDone, waitDone, "#3");
                }
                
                [Test]
index f14bcd864ac75839762a8220b18f9fb9090fc187..1bd8f7cdcbaf88dde996a02dc31fd948d1e134de 100644 (file)
@@ -101,15 +101,15 @@ namespace MonoTests.Microsoft.Build.Execution
                        var bm = new BuildManager ();
                        bm.BeginBuild (new BuildParameters ());
                        DateTime waitDone = DateTime.MinValue;
-                       DateTime beforeExec = DateTime.Now;
+                       DateTime beforeExec = DateTime.UtcNow;
                        var sub = bm.PendBuildRequest (new BuildRequestData (proj, new string [] { "Wait1Sec" }));
-                       sub.ExecuteAsync (delegate { waitDone = DateTime.Now; }, null);
+                       sub.ExecuteAsync (delegate { waitDone = DateTime.UtcNow; }, null);
                        bm.EndBuild ();
-                       Assert.IsTrue (sub.BuildResult.OverallResult == BuildResultCode.Success, "#1");
-                       DateTime endBuildDone = DateTime.Now;
-                       Assert.IsTrue (endBuildDone - beforeExec >= TimeSpan.FromSeconds (1), "#2");
-                       Assert.IsTrue (waitDone >= beforeExec, "#3");
-                       Assert.IsTrue (endBuildDone >= waitDone, "#4");
+                       Assert.AreEqual (BuildResultCode.Success, sub.BuildResult.OverallResult, "#1");
+                       DateTime endBuildDone = DateTime.UtcNow;
+                       AssertHelper.GreaterOrEqual (endBuildDone - beforeExec, TimeSpan.FromSeconds (1), "#2");
+                       AssertHelper.GreaterOrEqual (waitDone, beforeExec, "#3");
+                       AssertHelper.GreaterOrEqual (endBuildDone, waitDone, "#4");
                }
                
                [Test]
index f16683e7a50e087faeae82f8cdb4159559b14ea1..5bc3211f89a2885bc0548205b18312a4976397bc 100644 (file)
@@ -89,6 +89,11 @@ namespace NUnit.Framework
                        Assert.That(arg1, Is.GreaterThan(arg2), message, args);
                }
 
+               public static void Greater(System.DateTime arg1, System.DateTime arg2, string message = null, params object[] args) 
+               {
+                       Assert.That(arg1, Is.GreaterThan(arg2), message, args);
+               }
+
                public static void GreaterOrEqual(int arg1, int arg2, string message = null, params object[] args)
                {
                        Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
@@ -99,6 +104,16 @@ namespace NUnit.Framework
                        Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
                }
 
+               public static void GreaterOrEqual(System.DateTime arg1, System.DateTime arg2, string message = null, params object[] args)
+               {
+                       Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
+               }
+
+               public static void GreaterOrEqual(System.TimeSpan arg1, System.TimeSpan arg2, string message = null, params object[] args)
+               {
+                       Assert.That(arg1, Is.GreaterThanOrEqualTo(arg2), message, args);
+               }
+
                public static void LessOrEqual (int arg1, int arg2, string message = null, params object[] args)
                {
                        Assert.That(arg1, Is.LessThanOrEqualTo(arg2), message, args);