diff options
author | Lluis Sanchez <llsan@microsoft.com> | 2018-01-10 14:49:08 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-10 14:49:08 +0300 |
commit | 199a701c11838c547e789d3584fb114a1996fd8a (patch) | |
tree | 8f222a9775ce0ea9487029f8d0f50a690d2fd9fb /main/src/addins/MonoDevelop.UnitTesting | |
parent | 605c0b428406e58899bbac754a4c983332a8e0a0 (diff) | |
parent | b18e284adaf2c0fce848e85e4d8ce615db6b66ed (diff) |
Merge branch 'master' into dotnetcore-file-watcher
Diffstat (limited to 'main/src/addins/MonoDevelop.UnitTesting')
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; |