Skip to content

Commit aa1f736

Browse files
committed
[Tests] Add test runner configuration, extend Revit test configurations
1 parent 23a4146 commit aa1f736

6 files changed

Lines changed: 66 additions & 3 deletions

File tree

Nice3point.Revit.Extensions.slnx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,16 @@
4646
<File Path="Readme.md"/>
4747
</Folder>
4848
<Folder Name="/Tests/">
49-
<Project Path="tests/Nice3point.Revit.Extensions.Tests/Nice3point.Revit.Extensions.Tests.csproj"/>
49+
<Project Path="tests/Nice3point.Revit.Extensions.Tests/Nice3point.Revit.Extensions.Tests.csproj">
50+
<BuildType Solution="Debug.R19|*" Project="Debug.R21"/>
51+
<BuildType Solution="Debug.R20|*" Project="Debug.R21"/>
52+
<BuildType Solution="Release.R19|*" Project="Release.R21"/>
53+
<BuildType Solution="Release.R20|*" Project="Release.R21"/>
54+
<Build Solution="Debug.R19|*" Project="false"/>
55+
<Build Solution="Debug.R20|*" Project="false"/>
56+
<Build Solution="Release.R19|*" Project="false"/>
57+
<Build Solution="Release.R20|*" Project="false"/>
58+
</Project>
5059
</Folder>
5160
<Project Path="source/Nice3point.Revit.Extensions/Nice3point.Revit.Extensions.csproj"/>
5261
</Solution>

build/Modules/PackProjectsModule.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ namespace Build.Modules;
1616
[DependsOn<UpdateReadmeModule>]
1717
[DependsOn<ResolveConfigurationsModule>]
1818
[DependsOn<GenerateNugetChangelogModule>(Optional = true)]
19+
[DependsOn<TestProjectsModule>(Optional = true)]
1920
public sealed class PackProjectsModule(IOptions<BuildOptions> buildOptions) : Module
2021
{
2122
protected override async Task ExecuteModuleAsync(IModuleContext context, CancellationToken cancellationToken)
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
using ModularPipelines.Attributes;
2+
using ModularPipelines.Conditions;
3+
using ModularPipelines.Context;
4+
using ModularPipelines.DotNet.Extensions;
5+
using ModularPipelines.DotNet.Options;
6+
using ModularPipelines.Models;
7+
using ModularPipelines.Modules;
8+
using Sourcy.DotNet;
9+
10+
namespace Build.Modules;
11+
12+
/// <summary>
13+
/// Test the add-in for each supported Revit configuration.
14+
/// </summary>
15+
[SkipIf<IsCI>]
16+
[DependsOn<ResolveConfigurationsModule>]
17+
[DependsOn<CompileProjectsModule>(Optional = true)]
18+
public sealed class TestProjectsModule : Module
19+
{
20+
protected override async Task ExecuteModuleAsync(IModuleContext context, CancellationToken cancellationToken)
21+
{
22+
var configurationsResult = await context.GetModule<ResolveConfigurationsModule>();
23+
var configurations = configurationsResult.ValueOrDefault!;
24+
25+
foreach (var configuration in configurations)
26+
{
27+
await context.SubModule(configuration, async () => await CompileAsync(context, configuration, cancellationToken));
28+
}
29+
}
30+
31+
/// <summary>
32+
/// Test the add-in project for the specified configuration.
33+
/// </summary>
34+
private static async Task<CommandResult> CompileAsync(IPipelineContext context, string configuration, CancellationToken cancellationToken)
35+
{
36+
return await context.DotNet().Test(new DotNetTestOptions
37+
{
38+
Configuration = configuration,
39+
Arguments =
40+
[
41+
"--solution", Solutions.Nice3point_Revit_Extensions.FullName
42+
]
43+
}, cancellationToken: cancellationToken);
44+
}
45+
}

build/Program.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@
2525
builder.Services.AddModule<DeleteNugetModule>();
2626
}
2727

28+
if (args.Contains("test"))
29+
{
30+
builder.Services.AddModule<TestProjectsModule>();
31+
}
32+
2833
if (args.Contains("pack"))
2934
{
3035
builder.Services.AddModule<PackProjectsModule>();

global.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,8 @@
33
"version": "10.0.101",
44
"rollForward": "latestFeature",
55
"allowPrerelease": true
6+
},
7+
"test": {
8+
"runner": "Microsoft.Testing.Platform"
69
}
710
}

tests/Nice3point.Revit.Extensions.Tests/Nice3point.Revit.Extensions.Tests.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
<PropertyGroup>
44
<EnableTUnitPolyfills>false</EnableTUnitPolyfills>
5-
<Configurations>Debug.R22;Debug.R23;Debug.R24;Debug.R25;Debug.R26</Configurations>
6-
<Configurations>$(Configurations);Release.R22;Release.R23;Release.R24;Release.R25;Release.R26</Configurations>
5+
<Configurations>Debug.R21;Debug.R22;Debug.R23;Debug.R24;Debug.R25;Debug.R26</Configurations>
6+
<Configurations>$(Configurations);Release.R21;Release.R22;Release.R23;Release.R24;Release.R25;Release.R26</Configurations>
77
</PropertyGroup>
88

99
<ItemGroup>

0 commit comments

Comments
 (0)