Skip to content

Commit 7c6203e

Browse files
RussKiepeterwald
authored andcommitted
Test templates (dotnet#6086)
Leveraging [template testing infra](https://github.com/dotnet/templating/wiki/Templates-Testing-Tooling) for a basic test of the AI template. More tests can be added later. During a test the template is getting installed locally and then a new app is created, which is then gets snapshot-verified using Verify tooling. For the local devex, it is very much worth installing [Verify DiffEngineTray](https://github.com/VerifyTests/DiffEngine/blob/main/docs/tray.md) to approve all incoming snapshots (for the initial iteration). It is also possible that git block staging the snapshot files due to line ending issues, and "git config core.safecrlf false" could be used as a way to work around this.
1 parent 8582442 commit 7c6203e

File tree

77 files changed

+18138
-14
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+18138
-14
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ TestResult.xml
5050

5151
# VERIFY
5252
*.received.*
53+
**/*.received/
5354

5455
# Build Results of an ATL Project
5556
[Dd]ebugPS/

eng/Versions.props

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,5 +157,11 @@
157157
<!-- Compatibility with VS 17.8/.NET SDK 8.0.1xx -->
158158
<MicrosoftCodeAnalysisVersion>4.8.0</MicrosoftCodeAnalysisVersion>
159159
<MicrosoftCodeAnalysisAnalyzersVersion>3.3.4</MicrosoftCodeAnalysisAnalyzersVersion>
160+
161+
<!--
162+
xUnit version is configured by the Arcade SDK.
163+
https://github.com/dotnet/arcade/blob/f5a7c5d5c56197b09715dece7541ca06beb94eb0/src/Microsoft.DotNet.Arcade.Sdk/tools/XUnit/XUnit.targets#L9
164+
-->
165+
<XUnitVersion>2.9.3</XUnitVersion>
160166
</PropertyGroup>
161167
</Project>

eng/build.proj

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
<Project Sdk="Microsoft.Build.Traversal">
22
<ItemGroup>
3+
<_SnapshotsToExclude Include="$(MSBuildThisFileDirectory)..\test\**\Snapshots\**\*.*proj" />
4+
35
<!-- We recursively add all of the projects inside the src directory, except for the exclusions above -->
4-
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\src\**\*.csproj" Exclude="@(_ProjectsToExclude)" />
6+
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\src\**\*.csproj" />
57
<!-- We recursively add all of the test projects -->
68
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\test\**\*.csproj" />
79
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\bench\**\*.csproj" />
810
<!-- Additionally, include the transport project that is not defined as a csproj -->
911
<_ProjectsToBuild Include="$(MSBuildThisFileDirectory)..\src\Packages\Microsoft.Internal.Extensions.DotNetApiDocs.Transport\Microsoft.Internal.Extensions.DotNetApiDocs.Transport.proj" />
12+
1013
<!-- Add all the projects we want to build as project references, so the traversal SDK can build them -->
11-
<ProjectReference Include="@(_ProjectsToBuild)" />
14+
<ProjectReference Include="@(_ProjectsToBuild)" Exclude="@(_ProjectsToExclude);@(_SnapshotsToExclude)" />
1215
</ItemGroup>
1316
</Project>

eng/packages/General.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
<PackageVersion Include="System.Memory" Version="4.5.5" />
2727
<PackageVersion Include="System.Private.Uri" Version="4.3.2" />
2828
<PackageVersion Include="System.Runtime.Caching" Version="$(SystemRuntimeCachingVersion)" />
29-
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.0.0" />
29+
<PackageVersion Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.0" />
3030
<PackageVersion Include="System.Threading.Tasks.Extensions" Version="4.5.4" />
3131
<PackageVersion Include="System.ValueTuple" Version="4.5.0" />
3232
<PackageVersion Include="YamlDotNet" Version="12.3.1" />

eng/packages/TestOnly.props

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,24 +6,26 @@
66
<PackageVersion Include="Azure.Identity" Version="1.13.2" />
77
<PackageVersion Include="autofixture" Version="4.17.0" />
88
<PackageVersion Include="BenchmarkDotNet" Version="0.13.5" />
9-
<PackageVersion Include="FluentAssertions" Version="6.11.0" />
9+
<PackageVersion Include="FluentAssertions" Version="6.12.0" />
1010
<PackageVersion Include="Grpc.AspNetCore" Version="2.65.0" />
1111
<PackageVersion Include="JsonSchema.Net" Version="7.2.3" />
1212
<PackageVersion Include="Microsoft.Data.SqlClient" Version="5.2.2" />
1313
<PackageVersion Include="Microsoft.Diagnostics.Tracing.TraceEvent" Version="3.1.3" />
1414
<PackageVersion Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0" />
1515
<PackageVersion Include="Microsoft.Extensions.Configuration.UserSecrets" Version="9.0.0" />
1616
<PackageVersion Include="Microsoft.ML.Tokenizers.Data.O200kBase" Version="$(MicrosoftMLTokenizersVersion)" />
17+
<PackageVersion Include="Microsoft.TemplateEngine.Authoring.TemplateVerifier" Version="9.0.201" />
18+
<PackageVersion Include="Microsoft.TemplateEngine.TestHelper" Version="9.0.200-rtm.25066.4" />
1719
<PackageVersion Include="Moq.AutoMock" Version="3.1.0" />
1820
<PackageVersion Include="Moq" Version="4.18.4" />
1921
<PackageVersion Include="OpenTelemetry.Exporter.InMemory" Version="1.9.0" />
2022
<PackageVersion Include="Polly.Testing" Version="8.4.2" />
2123
<PackageVersion Include="StrongNamer" Version="0.2.5" />
2224
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="$(SystemConfigurationConfigurationManagerVersion)" />
2325
<PackageVersion Include="System.Numerics.Tensors" Version="$(SystemNumericsTensorsVersion)" />
24-
<PackageVersion Include="Verify.Xunit" Version="20.4.0" />
26+
<PackageVersion Include="Verify.Xunit" Version="28.15.0" />
2527
<PackageVersion Include="Xunit.Combinatorial" Version="1.6.24" />
26-
<PackageVersion Include="xunit.extensibility.execution" Version="2.4.2" />
28+
<PackageVersion Include="xunit.extensibility.execution" Version="$(XUnitVersion)" />
2729
<PackageVersion Include="Xunit.SkippableFact" Version="1.4.13" />
2830
</ItemGroup>
2931

scripts/Slngen.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ param (
6464
[Parameter(Mandatory = $false, HelpMessage="Enables use of folders.")]
6565
[switch]$Folders = $false,
6666
[Parameter(Mandatory = $false, HelpMessage="Path to exclude from search for project files. Must be repo root folder based.")]
67-
[string[]]$ExcludePaths = @('src\Tools\MutationTesting\samples\', 'src\Templates\templates'),
67+
[string[]]$ExcludePaths = @('src\Tools\MutationTesting\samples\', 'src\Templates\templates', 'test\**\Snapshots'),
6868
[Parameter(Mandatory = $false, HelpMessage="Don't launch Visual Studio.")]
6969
[switch]$NoLaunch = $false,
7070
[Parameter(Mandatory = $false, HelpMessage="Minimizes console output.")]

test/Generators/Microsoft.Gen.Logging/Unit/ParserTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121

2222
namespace Microsoft.Gen.Logging.Test;
2323

24-
[UsesVerify]
2524
public partial class ParserTests
2625
{
2726
private const int TotalSensitiveCases = 21;

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxNetworkUtilizationParserTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Test;
1212

13-
[UsesVerify]
1413
public sealed class LinuxNetworkUtilizationParserTests
1514
{
1615
private const string VerifiedDataDirectory = "Verified";

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxUtilizationParserCgroupV2Tests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Test;
1616

1717
[OSSkipCondition(OperatingSystems.Windows | OperatingSystems.MacOSX, SkipReason = "Linux specific tests")]
18-
[UsesVerify]
1918
public sealed class LinuxUtilizationParserCgroupV2Tests
2019
{
2120
private const string VerifiedDataDirectory = "Verified";

test/Libraries/Microsoft.Extensions.Diagnostics.ResourceMonitoring.Tests/Linux/LinuxUtilizationProviderTests.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
namespace Microsoft.Extensions.Diagnostics.ResourceMonitoring.Linux.Test;
1919

2020
[OSSkipCondition(OperatingSystems.Windows | OperatingSystems.MacOSX, SkipReason = "Linux specific tests")]
21-
[UsesVerify]
2221
public sealed class LinuxUtilizationProviderTests
2322
{
2423
private const string VerifiedDataDirectory = "Verified";

0 commit comments

Comments
 (0)