From 8ac7e2786870494b11fdb0f8a63b746a0482dff2 Mon Sep 17 00:00:00 2001 From: Codrin-Victor Poienaru Date: Mon, 10 Aug 2020 23:06:14 +0200 Subject: [PATCH 1/2] Fixed code coverage compatibility issue (#2514) * Fixed code coverage compatibility issue * Added comment * Updated commit --- .../DynamicCoverageDataCollectorImpl.cs | 22 +++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs index 40a8a9a38f..6d0e0b56ee 100644 --- a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs +++ b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs @@ -112,8 +112,14 @@ public string GetSessionName() try { - var processor = new CodeCoverageRunSettingsProcessor(defaultConfigurationElement); - configurationElement = (XmlElement)processor.Process(configurationElement); + // WARNING: Do NOT remove this function call !!! + // + // Due to a dependency we took on Microsoft.TestPlatform.Utilities.dll, an + // exception may be thrown if we cannot resolve CodeCoverageRunSettingsProcessor. + // If such an exception is thrown we cannot catch it in this try-catch block + // because all method dependencies must be resolved before the method call, thus + // we introduced an additional layer of indirection. + configurationElement = this.AddDefaultExclusions(configurationElement, defaultConfigurationElement); } catch (Exception ex) { @@ -326,5 +332,17 @@ private void CreateDirectory(DataCollectionContext context, string path) throw; } } + + /// + /// Adding default exclusions to the configuration element. + /// + /// The configuration element. + /// The default configuration element. + /// The original configuration element with additional default exclusions. + private XmlElement AddDefaultExclusions(XmlElement configurationElement, XmlElement defaultConfigurationElement) + { + var processor = new CodeCoverageRunSettingsProcessor(defaultConfigurationElement); + return (XmlElement)processor.Process(configurationElement); + } } } \ No newline at end of file From 6222836aeb9e96815814de7d7b449bbfe4fa17a6 Mon Sep 17 00:00:00 2001 From: Codrin Poienaru Date: Wed, 19 Aug 2020 16:55:24 +0200 Subject: [PATCH 2/2] Changed version to 16.7.1 --- scripts/build/TestPlatform.Dependencies.props | 2 +- scripts/build/TestPlatform.Settings.targets | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/build/TestPlatform.Dependencies.props b/scripts/build/TestPlatform.Dependencies.props index 288d633c84..fde8e257c3 100644 --- a/scripts/build/TestPlatform.Dependencies.props +++ b/scripts/build/TestPlatform.Dependencies.props @@ -11,7 +11,7 @@ - 16.7.0-dev + 16.7.1-dev 2.1.0 2.1.0 diff --git a/scripts/build/TestPlatform.Settings.targets b/scripts/build/TestPlatform.Settings.targets index 3cea7cbf3e..ab042be951 100644 --- a/scripts/build/TestPlatform.Settings.targets +++ b/scripts/build/TestPlatform.Settings.targets @@ -5,7 +5,7 @@ - 16.7.0 + 16.7.1