From 0421472efded406843aff8c5bf4edc9406ca6931 Mon Sep 17 00:00:00 2001 From: Codrin Poienaru Date: Mon, 10 Aug 2020 17:21:13 +0200 Subject: [PATCH 1/3] Fixed code coverage compatibility issue --- .../DynamicCoverageDataCollectorImpl.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs index 40a8a9a38f..2a4e59de86 100644 --- a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs +++ b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs @@ -112,8 +112,7 @@ public virtual void Initialize( try { - var processor = new CodeCoverageRunSettingsProcessor(defaultConfigurationElement); - configurationElement = (XmlElement)processor.Process(configurationElement); + configurationElement = this.RunSettingsProcessor(configurationElement, defaultConfigurationElement); } catch (Exception ex) { @@ -326,5 +325,11 @@ private void CreateDirectory(DataCollectionContext context, string path) throw; } } + + private XmlElement RunSettingsProcessor(XmlElement configurationElement, XmlElement defaultConfigurationElement) + { + var processor = new CodeCoverageRunSettingsProcessor(defaultConfigurationElement); + return (XmlElement)processor.Process(configurationElement); + } } } \ No newline at end of file From 2dce46dfca696aed2e2909a2e374a5e0bf7c2b54 Mon Sep 17 00:00:00 2001 From: Codrin Poienaru Date: Mon, 10 Aug 2020 20:48:49 +0200 Subject: [PATCH 2/3] Added comment --- .../DynamicCoverageDataCollectorImpl.cs | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs index 2a4e59de86..71d39d6f03 100644 --- a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs +++ b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs @@ -112,7 +112,14 @@ public virtual void Initialize( try { - configurationElement = this.RunSettingsProcessor(configurationElement, defaultConfigurationElement); + // 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,7 +333,13 @@ private void CreateDirectory(DataCollectionContext context, string path) } } - private XmlElement RunSettingsProcessor(XmlElement configurationElement, XmlElement defaultConfigurationElement) + /// + /// 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); From 557ad26199e2dd973143ad2a78674098c8acf99a Mon Sep 17 00:00:00 2001 From: Codrin Poienaru Date: Mon, 10 Aug 2020 22:22:55 +0200 Subject: [PATCH 3/3] Updated commit --- .../VanguardCollector/DynamicCoverageDataCollectorImpl.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs index 71d39d6f03..6d0e0b56ee 100644 --- a/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs +++ b/src/DataCollectors/TraceDataCollector/VanguardCollector/DynamicCoverageDataCollectorImpl.cs @@ -112,7 +112,7 @@ public virtual void Initialize( try { - // WARNING: Do NOT remove this function call ! + // 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.