diff --git a/eng/Versions.props b/eng/Versions.props index d94686789f2..1d7239ea99e 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -2,7 +2,7 @@ - 17.14.36 + 17.14.37 release 17.13.9 15.1.0.0 diff --git a/src/Build/Logging/TerminalLogger/TerminalLogger.cs b/src/Build/Logging/TerminalLogger/TerminalLogger.cs index 4e653123f12..529b9864190 100644 --- a/src/Build/Logging/TerminalLogger/TerminalLogger.cs +++ b/src/Build/Logging/TerminalLogger/TerminalLogger.cs @@ -906,30 +906,38 @@ private void MessageRaised(object sender, BuildMessageEventArgs e) if (hasProject && project!.IsTestProject) { - var node = _nodes[NodeIndexForContext(buildEventContext)]; + TerminalNodeStatus? node = _nodes[NodeIndexForContext(buildEventContext)]; // Consumes test update messages produced by VSTest and MSTest runner. - if (node != null && e is IExtendedBuildEventArgs extendedMessage) + if (e is IExtendedBuildEventArgs extendedMessage) { switch (extendedMessage.ExtendedType) { case "TLTESTPASSED": { - var indicator = extendedMessage.ExtendedMetadata!["localizedResult"]!; - var displayName = extendedMessage.ExtendedMetadata!["displayName"]!; + if (node != null) + { + var indicator = extendedMessage.ExtendedMetadata!["localizedResult"]!; + var displayName = extendedMessage.ExtendedMetadata!["displayName"]!; + + var status = new TerminalNodeStatus(node.Project, node.TargetFramework, TerminalColor.Green, indicator, displayName, project.Stopwatch); + UpdateNodeStatus(buildEventContext, status); + } - var status = new TerminalNodeStatus(node.Project, node.TargetFramework, TerminalColor.Green, indicator, displayName, project.Stopwatch); - UpdateNodeStatus(buildEventContext, status); break; } case "TLTESTSKIPPED": { - var indicator = extendedMessage.ExtendedMetadata!["localizedResult"]!; - var displayName = extendedMessage.ExtendedMetadata!["displayName"]!; + if (node != null) + { + var indicator = extendedMessage.ExtendedMetadata!["localizedResult"]!; + var displayName = extendedMessage.ExtendedMetadata!["displayName"]!; + + var status = new TerminalNodeStatus(node.Project, node.TargetFramework, TerminalColor.Yellow, indicator, displayName, project.Stopwatch); + UpdateNodeStatus(buildEventContext, status); + } - var status = new TerminalNodeStatus(node.Project, node.TargetFramework, TerminalColor.Yellow, indicator, displayName, project.Stopwatch); - UpdateNodeStatus(buildEventContext, status); break; }