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 <lluis@xamarin.com>2019-08-29 17:56:08 +0300
committerGitHub <noreply@github.com>2019-08-29 17:56:08 +0300
commite4d289d74ad8449b2eec6a821442a523f8184e5f (patch)
tree1ecaf120b1bce4b49ad80327f088800a3c2ad1d3
parent6ba4180921c2643c8b82df39541c8ea7432f9971 (diff)
parent95f2a8fa83b6ae26734d6fe88fae9570a25fb4e8 (diff)
Merge pull request #8573 from mono/backport-pr-8470-to-release-8.2-xcode11
[release-8.2-xcode11] [AutoTest] Add logging in NSObjectResult.SetActiveRuntime to trace source of NRE
-rw-r--r--main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs17
1 files changed, 16 insertions, 1 deletions
diff --git a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs
index 6ceb7b0fb0..e4fa46275d 100644
--- a/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs
+++ b/main/src/core/MonoDevelop.Ide/MonoDevelop.Components.AutoTest.Results/NSObjectResult.cs
@@ -361,10 +361,15 @@ namespace MonoDevelop.Components.AutoTest.Results
Type type = ResultObject.GetType ();
PropertyInfo pinfo = type.GetProperty ("RuntimeModel");
if (pinfo == null) {
+ LoggingService.LogDebug ($"Could not find 'RuntimeModel' property on {type}");
return false;
}
- IEnumerable<IRuntimeModel> model = (IEnumerable<IRuntimeModel>)pinfo.GetValue (ResultObject, null);
+ var pObject = pinfo.GetValue (ResultObject, null);
+ LoggingService.LogDebug ($"'RuntimeModel' property on '{type}' is '{pObject}' and is of type '{pinfo.PropertyType}'");
+ var topRunTimeModels = (IEnumerable<IRuntimeModel>)pObject;
+ var model = AllRuntimes (topRunTimeModels);
+ model = model.Where (x => !x.IsSeparator);
var runtime = model.FirstOrDefault (r => {
var mutableModel = r.GetMutableModel ();
@@ -407,6 +412,16 @@ namespace MonoDevelop.Components.AutoTest.Results
}
return false;
}
+
+ IEnumerable<IRuntimeModel> AllRuntimes (IEnumerable<IRuntimeModel> runtimes)
+ {
+ foreach (var runtime in runtimes) {
+ yield return runtime;
+ foreach (var childRuntime in AllRuntimes (runtime.Children))
+ yield return childRuntime;
+ }
+ }
+
#endregion
protected override void Dispose (bool disposing)