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/src
diff options
context:
space:
mode:
authorMike Krüger <mikkrg@microsoft.com>2018-09-27 16:37:06 +0300
committerMike Krüger <mikkrg@microsoft.com>2018-09-27 16:37:06 +0300
commitdb49334169135b8b9ef15e461ca83c0cc0d87075 (patch)
treeb55edc2e5a8c5479e4626b56785bd22ac0e20344 /main/src
parent3ccace79ef3fd212b0c5a5bfb027dbeb4cbf4668 (diff)
Fixes issue #6014 [Regression] Unit-tests execution
The multiple application output window got introduced by 65c5f17f86fc77f8add6c6090aa526c2cb2a6009 that introduced that an in progress output window can't be re used. Ending the progress on dispose as well fixes that issue for unit tests.
Diffstat (limited to 'main/src')
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Gui/TestPad.cs8
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs3
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/LogView.cs4
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs6
4 files changed, 16 insertions, 5 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestPad.cs b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestPad.cs
index 64d2f18591..235d0213f1 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestPad.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestPad.cs
@@ -481,10 +481,15 @@ namespace MonoDevelop.UnitTesting
void OnStopClicked (object sender, EventArgs args)
{
+ StopRunningTests ();
+ }
+
+ void StopRunningTests ()
+ {
if (runningTestOperation != null)
runningTestOperation.Cancel ();
}
-
+
UnitTest GetSelectedTest ()
{
ITreeNavigator nav = TreeView.GetSelectedNode ();
@@ -538,6 +543,7 @@ namespace MonoDevelop.UnitTesting
if (bringToFront)
IdeApp.Workbench.GetPad<TestPad> ().BringToFront ();
+ StopRunningTests ();
runningTestOperation = UnitTestService.RunTests (tests, context);
runningTestOperation.Task.ContinueWith (t => OnTestSessionCompleted (), TaskScheduler.FromCurrentSynchronizationContext ());
return runningTestOperation;
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs
index f846b414ed..4b845b9298 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTestService.cs
@@ -129,9 +129,8 @@ namespace MonoDevelop.UnitTesting
if (t.OwnerObject is IBuildTarget bt)
build_targets.Add (bt);
}
-
var res = await IdeApp.ProjectOperations.CheckAndBuildForExecute (
- build_targets, IdeApp.Workspace.ActiveConfiguration, IdeApp.Preferences.BuildBeforeRunningTests,
+ build_targets, IdeApp.Workspace.ActiveConfiguration, buildWithoutPrompting: !IdeApp.Preferences.BuildBeforeRunningTests,
false, null, cs.Token);
if (!res)
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/LogView.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/LogView.cs
index b611609679..f3354a65ba 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/LogView.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/LogView.cs
@@ -961,11 +961,13 @@ namespace MonoDevelop.Ide.Gui.Components
{
base.Dispose ();
console.Dispose ();
+ Disposed?.Invoke (this, EventArgs.Empty);
}
+ internal event EventHandler Disposed;
internal event EventHandler Completed;
- class LogViewProgressConsole: OperationConsole
+ class LogViewProgressConsole : OperationConsole
{
LogViewProgressMonitor monitor;
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs
index 0261bb6ad7..2410934208 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads/DefaultMonitorPad.cs
@@ -165,7 +165,11 @@ namespace MonoDevelop.Ide.Gui.Pads
Window.IsWorking = true;
buttonStop.Sensitive = true;
});
-
+ monitor.Disposed += delegate {
+ if (progressStarted)
+ EndProgress ();
+ };
+
monitor.Completed += delegate {
EndProgress ();
};