Skip to content

Commit 6a73c7b

Browse files
radicaleerhardt
andauthored
[CI] Improve overall PR Tests time (#10309)
* [tests] Split NewUpAndBuildSupportProjectTemplates The number of tests have multiplied, and it takes ~14 mins on github actions to run them. Split them up so they can run in parallel and the overall run time can come down. * Update tests/Aspire.Templates.Tests/NewUpAndBuildSupportProjectTemplatesTests.cs Co-authored-by: Eric Erhardt <[email protected]> --------- Co-authored-by: Eric Erhardt <[email protected]>
1 parent 31b8894 commit 6a73c7b

File tree

1 file changed

+110
-13
lines changed

1 file changed

+110
-13
lines changed

tests/Aspire.Templates.Tests/NewUpAndBuildSupportProjectTemplatesTests.cs

Lines changed: 110 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -5,21 +5,10 @@
55

66
namespace Aspire.Templates.Tests;
77

8-
public class NewUpAndBuildSupportProjectTemplates(ITestOutputHelper testOutput) : TemplateTestsBase(testOutput)
8+
public abstract class NewUpAndBuildSupportProjectTemplatesBase(ITestOutputHelper testOutput) : TemplateTestsBase(testOutput)
99
{
10-
[Theory]
11-
// [MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: "aspire-apphost")]
12-
// [MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: "aspire-servicedefaults")]
13-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-mstest", ""])]
14-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-nunit", ""])]
15-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", ""])]
16-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v2"])]
17-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v3"])]
18-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v3mtp"])]
19-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--aspire-version 9.3"])]
20-
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--aspire-version 9.4"])]
2110
[Trait("category", "basic-build")]
22-
public async Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
11+
protected async Task CanNewAndBuildActual(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
2312
{
2413
var id = GetNewProjectId(prefix: $"new_build_{FixupSymbolName(templateName)}");
2514
var topLevelDir = Path.Combine(BuildEnvironment.TestRootPath, id + "_root");
@@ -71,3 +60,111 @@ public async Task CanNewAndBuild(string templateName, string extraTestCreationAr
7160
}
7261
}
7362
}
63+
64+
public class NUnit_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : NewUpAndBuildSupportProjectTemplatesBase(testOutput)
65+
{
66+
[Theory]
67+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-nunit", ""])]
68+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
69+
{
70+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
71+
}
72+
}
73+
74+
public class XUnit_Default_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
75+
{
76+
public XUnit_Default_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
77+
{
78+
}
79+
80+
[Theory]
81+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", ""])]
82+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
83+
{
84+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
85+
}
86+
}
87+
88+
public class XUnit_V2_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
89+
{
90+
public XUnit_V2_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
91+
{
92+
}
93+
94+
[Theory]
95+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v2"])]
96+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
97+
{
98+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
99+
}
100+
}
101+
102+
public class XUnit_V3_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
103+
{
104+
public XUnit_V3_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
105+
{
106+
}
107+
108+
[Theory]
109+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v3"])]
110+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
111+
{
112+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
113+
}
114+
}
115+
116+
public class XUnit_V3MTP_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
117+
{
118+
public XUnit_V3MTP_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
119+
{
120+
}
121+
122+
[Theory]
123+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--xunit-version v3mtp"])]
124+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
125+
{
126+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
127+
}
128+
}
129+
130+
public class XUnit_AspireVersion93_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
131+
{
132+
public XUnit_AspireVersion93_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
133+
{
134+
}
135+
136+
[Theory]
137+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--aspire-version 9.3"])]
138+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
139+
{
140+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
141+
}
142+
}
143+
144+
public class XUnit_AspireVersion94_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
145+
{
146+
public XUnit_AspireVersion94_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
147+
{
148+
}
149+
150+
[Theory]
151+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-xunit", "--aspire-version 9.4"])]
152+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
153+
{
154+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
155+
}
156+
}
157+
158+
public class MSTest_NewUpAndBuildSupportProjectTemplatesTests : NewUpAndBuildSupportProjectTemplatesBase
159+
{
160+
public MSTest_NewUpAndBuildSupportProjectTemplatesTests(ITestOutputHelper testOutput) : base(testOutput)
161+
{
162+
}
163+
164+
[Theory]
165+
[MemberData(nameof(TestDataForNewAndBuildTemplateTests), arguments: ["aspire-mstest", ""])]
166+
public Task CanNewAndBuild(string templateName, string extraTestCreationArgs, TestSdk sdk, TestTargetFramework tfm, string? error)
167+
{
168+
return CanNewAndBuildActual(templateName, extraTestCreationArgs, sdk, tfm, error);
169+
}
170+
}

0 commit comments

Comments
 (0)