Skip to content

Commit 36b5bdd

Browse files
authored
Update settings container to use source + test name as key (#224)
* update child process dbg settings for easier debugging * update settings container to use source + testname as the key since testname isnt always unique
1 parent cbc7f89 commit 36b5bdd

4 files changed

Lines changed: 11 additions & 7 deletions

File tree

GoogleTestAdapter/Core/Runners/SequentialTestRunner.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// This file has been modified by Microsoft on 10/2022.
1+
// This file has been modified by Microsoft on 11/2022.
22

33
using System;
44
using System.Collections.Generic;
@@ -63,9 +63,10 @@ public void RunTests(IEnumerable<TestCase> testCasesToRun, string baseDir,
6363

6464
foreach (var testCase in groupedTestCases[executable])
6565
{
66+
var key = Path.GetFullPath(testCase.Source) + ":" + testCase.FullyQualifiedName;
6667
ITestPropertySettings settings;
6768
// Tests with default settings are treated as not having settings and can be run together
68-
if (_settings.TestPropertySettingsContainer.TryGetSettings(testCase.FullyQualifiedName, out settings)
69+
if (_settings.TestPropertySettingsContainer.TryGetSettings(key, out settings)
6970
&& (settings.Environment.Count > 0 || Path.GetFullPath(settings.WorkingDirectory) != Path.GetFullPath(finalWorkingDir)))
7071
{
7172
RunTestsFromExecutable(

GoogleTestAdapter/Core/Settings/ITestPropertySettingsContainer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,6 @@ namespace GoogleTestAdapter.Settings
33
{
44
public interface ITestPropertySettingsContainer
55
{
6-
bool TryGetSettings(string testName, out ITestPropertySettings settings);
6+
bool TryGetSettings(string key, out ITestPropertySettings settings);
77
}
88
}

GoogleTestAdapter/GoogleTestAdapter.ChildProcessDbgSettings

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<ChildProcessDebuggingSettings IsEnabled="true" xmlns="http://schemas.microsoft.com/vstudio/ChildProcessDebuggingSettings/2014">
3-
<DefaultRule Attach="false" />
3+
<DefaultRule EngineFilter="[inherit]" />
44
<Rule IsEnabled="true" ProcessName="TE.ProcessHost.Managed.exe" EngineFilter="{92ef0900-2251-11d2-b72e-0000f87572ef}" />
55
<Rule IsEnabled="true" ProcessName="vstest.discoveryengine.exe" EngineFilter="{92ef0900-2251-11d2-b72e-0000f87572ef}" />
66
<Rule IsEnabled="true" ProcessName="vstest.discoveryengine.x86.exe" EngineFilter="{92ef0900-2251-11d2-b72e-0000f87572ef}" />

GoogleTestAdapter/TestAdapter/Settings/TestPropertySettingsContainer.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
// Copyright (c) Microsoft Corporation. All rights reserved.
22
// Licensed under the MIT license.
3+
// This file has been modified by Microsoft on 11/2022.
34

45
using GoogleTestAdapter.Settings;
56
using Microsoft.VisualStudio.TestPlatform.ObjectModel;
67
using System.Collections.Generic;
8+
using System.IO;
79
using System.Xml;
810
using System.Xml.Serialization;
911

@@ -46,10 +48,10 @@ public override XmlElement ToXml()
4648
return document.DocumentElement;
4749
}
4850

49-
public bool TryGetSettings(string testName, out ITestPropertySettings settings)
51+
public bool TryGetSettings(string key, out ITestPropertySettings settings)
5052
{
5153
EnsureTestPropertiesMap();
52-
return _tests.TryGetValue(testName, out settings);
54+
return _tests.TryGetValue(key, out settings);
5355
}
5456

5557
private void EnsureTestPropertiesMap()
@@ -64,8 +66,9 @@ private void EnsureTestPropertiesMap()
6466
{
6567
foreach (var t in this.Tests)
6668
{
69+
var key = Path.GetFullPath(t.Command) + ":" + t.Name;
6770
var propertySettings = new TestPropertySettings(t);
68-
_tests.Add(t.Name, propertySettings);
71+
_tests.Add(key, propertySettings);
6972
}
7073
}
7174
}

0 commit comments

Comments
 (0)