Skip to content

Commit 4e7d07c

Browse files
author
Paul van Brenk
committed
PR Feedback
1 parent c91592a commit 4e7d07c

File tree

5 files changed

+26
-13
lines changed

5 files changed

+26
-13
lines changed

Nodejs/Product/TestAdapter/JavaScriptTestExecutor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,17 @@ public class JavaScriptTestExecutor : ITestExecutor
1414
public void RunTests(IEnumerable<TestCase> tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
1515
{
1616
AssemblyResolver.SetupHandler();
17+
18+
this.Cancel();
1719
this.worker = new TestExecutorWorker(runContext, frameworkHandle);
1820
this.worker.RunTests(tests);
1921
}
2022

2123
public void RunTests(IEnumerable<string> sources, IRunContext runContext, IFrameworkHandle frameworkHandle)
2224
{
2325
AssemblyResolver.SetupHandler();
26+
27+
this.Cancel();
2428
this.worker = new TestExecutorWorker(runContext, frameworkHandle);
2529
this.worker.RunTests(sources, new JavaScriptTestDiscoverer());
2630
}

Nodejs/Product/TestAdapter/PackageJsonTestExecutor.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,17 @@ public void Cancel()
1919
public void RunTests(IEnumerable<string> sources, IRunContext runContext, IFrameworkHandle frameworkHandle)
2020
{
2121
AssemblyResolver.SetupHandler();
22+
23+
this.Cancel();
2224
this.worker = new TestExecutorWorker(runContext, frameworkHandle);
2325
this.worker.RunTests(sources, new PackageJsonTestDiscoverer());
2426
}
2527

2628
public void RunTests(IEnumerable<TestCase> tests, IRunContext runContext, IFrameworkHandle frameworkHandle)
2729
{
2830
AssemblyResolver.SetupHandler();
31+
32+
this.Cancel();
2933
this.worker = new TestExecutorWorker(runContext, frameworkHandle);
3034
this.worker.RunTests(tests);
3135
}

Nodejs/Product/TestAdapter/TestAdapter.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
<Compile Include="JavaScriptTestCaseProperties.cs" />
7676
<Compile Include="TestFrameworks\NodejsTestInfo.cs" />
7777
<Compile Include="TestFrameworks\TestFramework.cs" />
78-
<Compile Include="TestReceiver.cs" />
78+
<Compile Include="TestExecutorWorker.TestReceiver.cs" />
7979
</ItemGroup>
8080
<ItemGroup>
8181
<Reference Include="Microsoft.VisualStudio.TestPlatform.ObjectModel">

Nodejs/Product/TestAdapter/TestReceiver.cs renamed to Nodejs/Product/TestAdapter/TestExecutorWorker.TestReceiver.cs

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,16 @@
66

77
namespace Microsoft.NodejsTools.TestAdapter
88
{
9-
internal sealed class TestReceiver : ITestCaseDiscoverySink
9+
internal sealed partial class TestExecutorWorker
1010
{
11-
public readonly List<TestCase> Tests = new List<TestCase>();
12-
13-
public void SendTestCase(TestCase discoveredTest)
11+
private sealed class TestReceiver : ITestCaseDiscoverySink
1412
{
15-
this.Tests.Add(discoveredTest);
13+
public readonly List<TestCase> Tests = new List<TestCase>();
14+
15+
public void SendTestCase(TestCase discoveredTest)
16+
{
17+
this.Tests.Add(discoveredTest);
18+
}
1619
}
1720
}
1821
}

Nodejs/Product/TestAdapter/TestExecutorWorker.cs

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
namespace Microsoft.NodejsTools.TestAdapter
1919
{
20-
internal sealed class TestExecutorWorker
20+
internal sealed partial class TestExecutorWorker
2121
{
2222
private static readonly Version Node8Version = new Version(8, 0);
2323

@@ -59,7 +59,8 @@ public void RunTests(IEnumerable<string> sources, ITestDiscoverer discoverer)
5959
ValidateArg.NotNull(sources, nameof(sources));
6060
ValidateArg.NotNull(discoverer, nameof(discoverer));
6161

62-
this.cancelRequested.Reset();
62+
// Cancel any running tests before starting a new batch
63+
this.Cancel();
6364

6465
var receiver = new TestReceiver();
6566
discoverer.DiscoverTests(sources, /*discoveryContext*/null, this.frameworkHandle, receiver);
@@ -81,7 +82,9 @@ public void RunTests(IEnumerable<string> sources, ITestDiscoverer discoverer)
8182
public void RunTests(IEnumerable<TestCase> tests)
8283
{
8384
ValidateArg.NotNull(tests, nameof(tests));
84-
this.cancelRequested.Reset();
85+
86+
// Cancel any running tests before starting a new batch
87+
this.Cancel();
8588

8689
// .ts file path -> project settings
8790
var fileToTests = new Dictionary<string, List<TestCase>>();
@@ -97,12 +100,12 @@ public void RunTests(IEnumerable<TestCase> tests)
97100
}
98101

99102
// where key is the file and value is a list of tests
100-
foreach (var entry in fileToTests)
103+
foreach (var testcaseList in fileToTests.Values)
101104
{
102-
this.currentTests = entry.Value;
105+
this.currentTests = testcaseList;
103106

104107
// Run all test cases in a given file
105-
RunTestCases(entry.Value);
108+
RunTestCases(testcaseList);
106109
}
107110
}
108111

@@ -343,7 +346,6 @@ private void AttachDebugger(int vsProcessId, int port, Version nodeVersion)
343346
#endif
344347
}
345348

346-
347349
private static int GetFreePort()
348350
{
349351
return Enumerable.Range(new Random().Next(49152, 65536), 60000).Except(

0 commit comments

Comments
 (0)