diff --git a/src/vstest.console/Processors/CollectArgumentProcessor.cs b/src/vstest.console/Processors/CollectArgumentProcessor.cs
index 81746431bd..6eb3454fd2 100644
--- a/src/vstest.console/Processors/CollectArgumentProcessor.cs
+++ b/src/vstest.console/Processors/CollectArgumentProcessor.cs
@@ -144,21 +144,6 @@ internal static void EnableDataCollectorUsingFriendlyName(string argument, DataC
}
}
- private static void DisableUnConfiguredDataCollectors(DataCollectionRunSettings dataCollectionRunSettings)
- {
- foreach (var dataCollectorSetting in dataCollectionRunSettings.DataCollectorSettingsList)
- {
- if (EnabledDataCollectors.Contains(dataCollectorSetting.FriendlyName.ToLower()))
- {
- dataCollectorSetting.IsEnabled = true;
- }
- else
- {
- dataCollectorSetting.IsEnabled = false;
- }
- }
- }
-
private static bool DoesDataCollectorSettingsExist(string friendlyName,
DataCollectionRunSettings dataCollectionRunSettings,
out DataCollectorSettings dataCollectorSettings)
@@ -192,12 +177,6 @@ internal static void AddDataCollectorToRunSettings(string argument, IRunSettings
{
dataCollectionRunSettings = new DataCollectionRunSettings();
}
- else
- {
- // By default, all data collectors present in run settings are enabled, if enabled attribute is not specified.
- // So explicitely disable those data collectors and enable those which are specified.
- DisableUnConfiguredDataCollectors(dataCollectionRunSettings);
- }
// Add data collectors if not already present, enable if already present.
EnableDataCollectorUsingFriendlyName(argument, dataCollectionRunSettings);
diff --git a/test/vstest.console.UnitTests/Processors/CollectArgumentProcessorTests.cs b/test/vstest.console.UnitTests/Processors/CollectArgumentProcessorTests.cs
index 699a206403..ee7eba7fd6 100644
--- a/test/vstest.console.UnitTests/Processors/CollectArgumentProcessorTests.cs
+++ b/test/vstest.console.UnitTests/Processors/CollectArgumentProcessorTests.cs
@@ -136,7 +136,7 @@ public void InitializeShouldEnableDataCollectorIfDisabledInRunSettings()
}
[TestMethod]
- public void InitializeShouldDisableOtherDataCollectors()
+ public void InitializeShouldNotDisableOtherDataCollectorsIfEnabled()
{
var runsettingsString = string.Format(DefaultRunSettings, "");
var runsettings = new RunSettings();
@@ -146,6 +146,20 @@ public void InitializeShouldDisableOtherDataCollectors()
this.executor.Initialize("MyDataCollector");
this.executor.Initialize("MyDataCollector2");
+ Assert.AreEqual("\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", this.settingsProvider.ActiveRunSettings.SettingsXml);
+ }
+
+ [TestMethod]
+ public void InitializeShouldNotEnableOtherDataCollectorsIfDisabled()
+ {
+ var runsettingsString = string.Format(DefaultRunSettings, "");
+ var runsettings = new RunSettings();
+ runsettings.LoadSettingsXml(runsettingsString);
+ this.settingsProvider.SetActiveRunSettings(runsettings);
+
+ this.executor.Initialize("MyDataCollector");
+ this.executor.Initialize("MyDataCollector2");
+
Assert.AreEqual("\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n", this.settingsProvider.ActiveRunSettings.SettingsXml);
}