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
diff options
context:
space:
mode:
authorLluis Sanchez <llsan@microsoft.com>2018-01-10 14:49:08 +0300
committerGitHub <noreply@github.com>2018-01-10 14:49:08 +0300
commit199a701c11838c547e789d3584fb114a1996fd8a (patch)
tree8f222a9775ce0ea9487029f8d0f50a690d2fd9fb /main/src/addins/MonoDevelop.UnitTesting
parent605c0b428406e58899bbac754a4c983332a8e0a0 (diff)
parentb18e284adaf2c0fce848e85e4d8ce615db6b66ed (diff)
Merge branch 'master' into dotnetcore-file-watcher
Diffstat (limited to 'main/src/addins/MonoDevelop.UnitTesting')
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs7
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs18
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/BinaryResultsStore.cs14
-rw-r--r--main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs2
4 files changed, 37 insertions, 4 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
index e7f5f1e38f..7d5a90f862 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Gui/TestNodeBuilder.cs
@@ -77,6 +77,13 @@ namespace MonoDevelop.UnitTesting
var title = RemoveGenericArgument (test.Title);
title = test.Title + singleTestSuffix ;
+ if (!string.IsNullOrEmpty (test.ErrorMessage)) {
+ nodeInfo.Label = Ambience.EscapeText (title);
+ nodeInfo.StatusMessage = test.ErrorMessage;
+ nodeInfo.StatusSeverity = Ide.Tasks.TaskSeverity.Error;
+ return;
+ }
+
if (test.Status == TestStatus.Running) {
nodeInfo.Label = Ambience.EscapeText (title);
return;
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
index ee58887fcd..033e4ba9fd 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/AbstractUnitTestEditorExtension.cs
@@ -253,6 +253,16 @@ namespace MonoDevelop.UnitTesting
menuItem.Clicked += new TestRunner (unitTest.UnitTestIdentifier + id, project, true).Select;
submenu.Add (menuItem);
+ const int maxLabelLength = 80;
+ var trimmedLabel = label.Trim ();
+ if (trimmedLabel.Length > maxLabelLength) {
+ const char gap = '\u2026';
+ int remainsLength = (maxLabelLength - 1) / 2;
+ string start = trimmedLabel.Substring (0, remainsLength);
+ string end = trimmedLabel.Substring (trimmedLabel.Length - remainsLength, remainsLength);
+ label = $"{start.TrimEnd()}{gap}{end.TrimStart ()}";
+ }
+
var subMenuItem = new ContextMenuItem (label);
// if (!string.IsNullOrEmpty (tooltip))
// subMenuItem.TooltipText = tooltip;
@@ -303,8 +313,12 @@ namespace MonoDevelop.UnitTesting
return;
}
- await IdeApp.ProjectOperations.Build (project).Task;
- await UnitTestService.RefreshTests (CancellationToken.None);
+ bool buildBeforeExecuting = IdeApp.Preferences.BuildBeforeExecuting;
+
+ if (buildBeforeExecuting) {
+ await IdeApp.ProjectOperations.Build (project).Task;
+ await UnitTestService.RefreshTests (CancellationToken.None);
+ }
foundTest = UnitTestService.SearchTestById (testCase);
if (foundTest != null)
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/BinaryResultsStore.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/BinaryResultsStore.cs
index 292ad8d687..449ce82484 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/BinaryResultsStore.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/BinaryResultsStore.cs
@@ -55,7 +55,17 @@ namespace MonoDevelop.UnitTesting
const string xmlExtension = ".xml";
FastSerializer fastSerializer = new FastSerializer();
- XmlSerializer xmlSerializer = new XmlSerializer(typeof(TestRecord));
+ XmlSerializer xmlSerializer;
+
+ XmlSerializer XmlSerializer {
+ get {
+ if (xmlSerializer == null) {
+ xmlSerializer = new XmlSerializer (typeof (TestRecord));
+ }
+
+ return xmlSerializer;
+ }
+ }
public void Serialize (string xmlFilePath, TestRecord testRecord)
{
@@ -81,7 +91,7 @@ namespace MonoDevelop.UnitTesting
// deserialize from xml if the file exists
if (File.Exists(xmlFilePath)) {
using (var reader = new StreamReader (xmlFilePath)) {
- return (TestRecord) xmlSerializer.Deserialize (reader);
+ return (TestRecord) XmlSerializer.Deserialize (reader);
}
}
diff --git a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
index d1aefaac9d..abdf0769f3 100644
--- a/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
+++ b/main/src/addins/MonoDevelop.UnitTesting/Services/UnitTest.cs
@@ -55,6 +55,8 @@ namespace MonoDevelop.UnitTesting
public virtual bool CanMergeWithParent => false;
+ public string ErrorMessage { get; protected set; }
+
public string FixtureTypeNamespace {
get;
set;