Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorJose Medrano <josmed@microsoft.com>2019-07-03 13:53:55 +0300
committermonojenkins <jo.shields+jenkins@xamarin.com>2019-07-18 16:51:42 +0300
commit9e025082074c86c2160cc57dddfff10e43bb7d71 (patch)
tree5a749447b6105b838ccf9453b91d711ff18a914e /main
parentcb16d3ca6c18f2b9ea5997d823302610bef034cf (diff)
[BuildOutput] Simplifies and removes delay cancellation in SearchCanBeCanceled test Fixes VSTS #941229 - MonoDevelop.Ide.BuildOutputTests.CustomProject_SearchCanBeCanceled very unreliable
Diffstat (limited to 'main')
-rw-r--r--main/tests/Ide.Tests/MonoDevelop.Ide/BuildOutputTests.cs23
1 files changed, 20 insertions, 3 deletions
diff --git a/main/tests/Ide.Tests/MonoDevelop.Ide/BuildOutputTests.cs b/main/tests/Ide.Tests/MonoDevelop.Ide/BuildOutputTests.cs
index a1ce9ac7e1..9b01d0495b 100644
--- a/main/tests/Ide.Tests/MonoDevelop.Ide/BuildOutputTests.cs
+++ b/main/tests/Ide.Tests/MonoDevelop.Ide/BuildOutputTests.cs
@@ -132,7 +132,7 @@ namespace MonoDevelop.Ide
}
[Test]
- public async Task CustomProject_SearchCanBeCanceled ()
+ public async Task CustomProject_StressSearchCanBeCanceled ()
{
BuildOutputNode firstMatch = null;
@@ -142,13 +142,30 @@ namespace MonoDevelop.Ide
for (int i = 0; i < 100; i++) {
await Task.WhenAll (Task.Run (async () => firstMatch = await search.FirstMatch ("Message ")),
Task.Delay (100).ContinueWith (t => search.Cancel ()));
-
- Assert.Null (firstMatch, "Got a first match while search was canceled");
Assert.True (search.IsCanceled, "Search was not canceled");
}
}
[Test]
+ public async Task CustomProject_SearchCanBeCanceled ()
+ {
+ var bo = GenerateCustomBuild (10);
+ var search = new BuildOutputDataSearch (bo.GetRootNodes (true));
+
+ var searchTask = search.FirstMatch ("Message ");
+ search.Cancel ();
+
+ var firstMatch = await searchTask;
+ Assert.Null (firstMatch, "Got a first match, but the canceled search did not expect records");
+ Assert.True (search.IsCanceled, "Search was not canceled, but we expect cancel the operation");
+
+ searchTask = search.FirstMatch ("Message ");
+ firstMatch = await searchTask;
+ Assert.NotNull (firstMatch, "No record was found in the search, but one was expected to be found.");
+ Assert.False (search.IsCanceled, "Search was canceled for some unexpected reason");
+ }
+
+ [Test]
public void BuildOutputNode_Search ()
{
var result = GetTestNodes ();