Skip to content

Commit 01c7390

Browse files
committed
* Move MS test runner code out of separate project and into the test harness project.
* Exclude MSTest.TestAdapter assemblies from being bundled with the Meadow.UnitTestTemplate package. * Fix compiler warning about runtime bindings when using VS for Mac preview version. * Fix compiler warning from bad xml comment.
1 parent d9d363a commit 01c7390

File tree

10 files changed

+49
-100
lines changed

10 files changed

+49
-100
lines changed

src/.editorconfig

+5-1
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,8 @@ indent_size = 4
88

99
[*.cs]
1010
indent_style = space
11-
indent_size = 4
11+
indent_size = 4
12+
13+
[*.{xml,csproj,targets,props}]
14+
indent_syle = space
15+
indent_size = 2

src/Directory.Build.props

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<PackageProjectUrl>https://github.com/hosho</PackageProjectUrl>
99
<RepositoryUrl>https://github.com/hosho</RepositoryUrl>
1010
<PackageLicenseUrl>https://www.gnu.org/licenses/gpl-3.0.en.html</PackageLicenseUrl>
11-
<NoWarn>1591;1573;NU1603;NU1701</NoWarn>
11+
<NoWarn>$(NoWarn);1591;1573;NU1603;NU1701;CS1701</NoWarn>
1212
<GenerateDocumentationFile>true</GenerateDocumentationFile>
1313
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)\solution.ruleset</CodeAnalysisRuleSet>
1414
<DefineConstants>$(DefineConstants);LANG_7_3</DefineConstants>

src/Meadow.CoverageReport/Debugging/ExecutionTraceAnalysis.cs

+1-1
Original file line numberDiff line numberDiff line change
@@ -723,7 +723,7 @@ private void ParseStateVariableDeclarations()
723723

724724
/// <summary>
725725
/// Parses a single tracepoint in <see cref="ExecutionTrace"/> which
726-
/// (This function is a helper to <see cref="ParseScopes(int, int, int, ExecutionTraceScope)"/> which handles parsing at the same level, not entering or executing scope.
726+
/// (This function is a helper to <see cref="ParseScopes"/> which handles parsing at the same level, not entering or executing scope.
727727
/// </summary>
728728
/// <param name="traceIndex"></param>
729729
/// <param name="currentEntry"></param>

src/Meadow.MSTest.Runner/Meadow.MSTest.Runner.csproj

-15
This file was deleted.

src/Meadow.MSTest.Runner/Program.cs

-59
This file was deleted.

src/Meadow.UnitTestTemplate/Debugging.cs

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
using Meadow.CoverageReport.Debugging;
22
using Meadow.DebugAdapterServer;
33
using Meadow.JsonRpc.Client;
4-
using Meadow.MSTest.Runner;
54
using Microsoft.VisualStudio.Shared.VSCodeDebugProtocol.Messages;
65
using System;
76
using System.Collections.Generic;
@@ -22,7 +21,7 @@ public static void Launch()
2221
var debugSessionID = Environment.GetEnvironmentVariable("DEBUG_SESSION_ID");
2322
if (string.IsNullOrWhiteSpace(debugSessionID))
2423
{
25-
ApplicationTestRunner.RunAllTests(Assembly.GetExecutingAssembly());
24+
MSTestRunner.RunAllTests(Assembly.GetExecutingAssembly());
2625
}
2726
else
2827
{
@@ -52,7 +51,7 @@ public static void Launch()
5251
};
5352

5453
// Run all tests (blocking)
55-
ApplicationTestRunner.RunAllTests(Assembly.GetExecutingAssembly(), cancelToken.Token);
54+
MSTestRunner.RunAllTests(Assembly.GetExecutingAssembly(), cancelToken.Token);
5655
Console.WriteLine("Tests completed");
5756
}
5857
}

src/Meadow.MSTest.Runner/ApplicationTestRunner.cs src/Meadow.UnitTestTemplate/MSTestRunner.cs

+9-9
Original file line numberDiff line numberDiff line change
@@ -11,35 +11,35 @@
1111
using System.Threading;
1212
using System.Xml;
1313

14-
namespace Meadow.MSTest.Runner
14+
namespace Meadow.UnitTestTemplate
1515
{
16-
public class ApplicationTestRunner
16+
public class MSTestRunner
1717
{
1818
string[] _assemblies;
1919
(string FullyQualifiedTestName, string SourceAssembly)[] _testCases;
2020

21-
private ApplicationTestRunner()
21+
private MSTestRunner()
2222
{
2323

2424
}
2525

26-
public static ApplicationTestRunner CreateFromAssemblies(params Assembly[] assemblies)
26+
public static MSTestRunner CreateFromAssemblies(params Assembly[] assemblies)
2727
{
28-
var runner = new ApplicationTestRunner();
28+
var runner = new MSTestRunner();
2929
runner._assemblies = assemblies.Select(a => a.Location).ToArray();
3030
return runner;
3131
}
3232

33-
public static ApplicationTestRunner CreateFromAssemblies(params string[] assemblies)
33+
public static MSTestRunner CreateFromAssemblies(params string[] assemblies)
3434
{
35-
var runner = new ApplicationTestRunner();
35+
var runner = new MSTestRunner();
3636
runner._assemblies = assemblies;
3737
return runner;
3838
}
3939

40-
public static ApplicationTestRunner CreateFromSpecificTests(params (string FullyQualifiedTestName, string SourceAssembly)[] testCases)
40+
public static MSTestRunner CreateFromSpecificTests(params (string FullyQualifiedTestName, string SourceAssembly)[] testCases)
4141
{
42-
var runner = new ApplicationTestRunner();
42+
var runner = new MSTestRunner();
4343
runner._assemblies = testCases.Select(t => t.SourceAssembly).Distinct().ToArray();
4444
runner._testCases = testCases;
4545
return runner;

src/Meadow.UnitTestTemplate/Meadow.UnitTestTemplate.csproj

+19-4
Original file line numberDiff line numberDiff line change
@@ -2,22 +2,22 @@
22

33
<PropertyGroup>
44
<TargetFramework>netcoreapp2.1</TargetFramework>
5+
<IsTestProject>false</IsTestProject>
56
<GeneratePackageOnBuild Condition="'$(Configuration)' == 'Release'">true</GeneratePackageOnBuild>
67
</PropertyGroup>
78

89
<ItemGroup>
910
<PackageReference Include="ExposedObject" Version="1.3.0" />
1011
<PackageReference Include="Microsoft.UnitTestFramework.Extensions" Version="2.0.0" />
11-
<PackageReference Include="MSTest.TestAdapter" Version="1.3.2" IncludeAssets="contentFiles" />
1212
<PackageReference Include="MSTest.TestFramework" Version="1.3.2" />
13+
<PackageReference Include="Microsoft.TestPlatform.TestHost" Version="15.8.0" />
1314
<PackageReference Include="System.Configuration.ConfigurationManager" Version="4.5.0" />
1415
</ItemGroup>
1516

1617
<ItemGroup>
1718
<ProjectReference Include="..\Meadow.Contract\Meadow.Contract.csproj" />
1819
<ProjectReference Include="..\Meadow.CoverageReport\Meadow.CoverageReport.csproj" />
1920
<ProjectReference Include="..\Meadow.DebugAdapterServer\Meadow.DebugAdapterServer.csproj" />
20-
<ProjectReference Include="..\Meadow.MSTest.Runner\Meadow.MSTest.Runner.csproj" />
2121
<ProjectReference Include="..\Meadow.SolCodeGen\Meadow.SolCodeGen.csproj" PrivateAssets="none" />
2222
<ProjectReference Include="..\Meadow.TestNode\Meadow.TestNode.csproj" />
2323
</ItemGroup>
@@ -32,6 +32,21 @@
3232
<PackagePath>build</PackagePath>
3333
</None>
3434
</ItemGroup>
35-
36-
35+
36+
37+
<!--
38+
We include a reference to the MSTest.TestAdapter package as a transitive dependency
39+
so consumers of this project have it. But we don't want to bundle the content files
40+
from MSTest.TestAdapter inside this package.
41+
TODO: Try to find a cleaner way to exclude these files from the package.
42+
-->
43+
<Import Project="reference-mstest-adapter.targets" Condition="'$(Configuration)' == 'Release'" />
44+
<Target Name="ExlcudeTestAdapterPackageContent" BeforeTargets="BeforeBuild" Condition="'$(Configuration)' == 'Release'">
45+
<ItemGroup>
46+
<Content Update="*" Condition="$([System.String]::Copy('%(Content.Link)').StartsWith('Microsoft.VisualStudio.TestPlatform'))">
47+
<Pack>false</Pack>
48+
</Content>
49+
</ItemGroup>
50+
</Target>
51+
3752
</Project>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
3+
4+
<!-- Work around to prevent Visual Studio for Mac from treating this project
5+
as a test project in the Unit Test panel. -->
6+
7+
<ItemGroup>
8+
<PackageReference Include="MSTest.TestAdapter" Version="1.3.2" PrivateAssets="none" />
9+
</ItemGroup>
10+
11+
</Project>

src/Meadow.sln

+1-7
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.SolCodeGen.Test", "M
5858
EndProject
5959
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.CoverageReport", "Meadow.CoverageReport\Meadow.CoverageReport.csproj", "{4370F8AB-A419-4872-82A9-15CAEEAFE159}"
6060
EndProject
61-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.UnitTestTemplate", "Meadow.UnitTestTemplate\Meadow.UnitTestTemplate.csproj", "{5D042EFF-7CB7-4DD4-81FF-D704E1C9D44D}"
61+
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Meadow.UnitTestTemplate", "Meadow.UnitTestTemplate\Meadow.UnitTestTemplate.csproj", "{5D042EFF-7CB7-4DD4-81FF-D704E1C9D44D}"
6262
EndProject
6363
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.UnitTestTemplate.Test", "Meadow.UnitTestTemplate.Test\Meadow.UnitTestTemplate.Test.csproj", "{26C69B00-BB7D-4655-A4B3-B30DC848517F}"
6464
EndProject
@@ -85,8 +85,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Contracts", "Contracts", "{
8585
pwsh_testing\Contracts\VarAnalysisContract.sol = pwsh_testing\Contracts\VarAnalysisContract.sol
8686
EndProjectSection
8787
EndProject
88-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.MSTest.Runner", "Meadow.MSTest.Runner\Meadow.MSTest.Runner.csproj", "{D02491BE-3D1B-4CFC-8F99-FB1096ECD7E7}"
89-
EndProject
9088
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.DebugAdapterProxy", "Meadow.DebugAdapterProxy\Meadow.DebugAdapterProxy.csproj", "{5B293442-78BE-42C7-AD18-4AD871DA6BA1}"
9189
EndProject
9290
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Meadow.DebugAdapterServer", "Meadow.DebugAdapterServer\Meadow.DebugAdapterServer.csproj", "{880077C2-3514-4955-B068-E3D97B943FF9}"
@@ -203,10 +201,6 @@ Global
203201
{E531CAAD-03C2-4E6F-A960-E2AC79C9B8B7}.Debug|Any CPU.Build.0 = Debug|Any CPU
204202
{E531CAAD-03C2-4E6F-A960-E2AC79C9B8B7}.Release|Any CPU.ActiveCfg = Release|Any CPU
205203
{E531CAAD-03C2-4E6F-A960-E2AC79C9B8B7}.Release|Any CPU.Build.0 = Release|Any CPU
206-
{D02491BE-3D1B-4CFC-8F99-FB1096ECD7E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
207-
{D02491BE-3D1B-4CFC-8F99-FB1096ECD7E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
208-
{D02491BE-3D1B-4CFC-8F99-FB1096ECD7E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
209-
{D02491BE-3D1B-4CFC-8F99-FB1096ECD7E7}.Release|Any CPU.Build.0 = Release|Any CPU
210204
{5B293442-78BE-42C7-AD18-4AD871DA6BA1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
211205
{5B293442-78BE-42C7-AD18-4AD871DA6BA1}.Debug|Any CPU.Build.0 = Debug|Any CPU
212206
{5B293442-78BE-42C7-AD18-4AD871DA6BA1}.Release|Any CPU.ActiveCfg = Release|Any CPU

0 commit comments

Comments
 (0)