Files
spring-net/build-support/nuke-build/Build.Test.cs
Marko Lahma ca2bf1e889 Add GitHub Actions configuration (#201)
* new build system based on NUKE build
* support test running on Linux
2021-08-02 17:54:41 +03:00

59 lines
2.3 KiB
C#

using System.Linq;
using Nuke.Common;
using Nuke.Common.Tools.DotNet;
using static Nuke.Common.Tools.DotNet.DotNetTasks;
public partial class Build
{
[Parameter]
readonly bool TestFull = false;
[Parameter]
readonly bool TestIntegrationData = false;
[Parameter]
readonly bool TestIntegrationEms = false;
[Parameter]
readonly bool TestIntegrationNms = false;
[Parameter]
readonly bool TestIntegrationMsMq = false;
Target Test => _ => _
.DependsOn(Restore)
.After(Compile)
.Executes(() =>
{
var testTargets = GetActiveProjects()
.Where(x => x.Name.Contains(".Test"))
.Where(x => !x.Name.Contains(".Integration") || TestFull)
.Where(x => !x.Name.Contains("Spring.Web.Conversation.NHibernate5.Tests") || TestFull)
.Where(x => !x.Name.Contains("Spring.Data.Integration.Tests") || TestIntegrationData)
.Where(x => !x.Name.Contains("Spring.Messaging.Tests") || TestIntegrationMsMq || TestFull)
.Where(x => !x.Name.Contains("Spring.Nms.Integration.Tests") || TestIntegrationNms || TestFull)
.Where(x => !x.Name.Contains("Spring.Messaging.Ems.Integration.Tests") || TestIntegrationEms || TestFull)
.Where(x => !x.Name.Contains("Spring.Services.Tests"))
.Where(x => !x.Name.Contains("Spring.Template.Velocity.Castle.Tests") || EnvironmentInfo.IsWin)
.Where(x => !x.Name.Contains("Spring.Template.Velocity.Tests") || EnvironmentInfo.IsWin)
.Where(x => !x.Name.Contains("Spring.Testing.Microsoft.Test") || EnvironmentInfo.IsWin)
.Where(x => !x.Name.Contains("Spring.Web.Tests") || EnvironmentInfo.IsWin)
.Where(x => !x.Name.Contains("Spring.Web.Mvc5.Tests") || EnvironmentInfo.IsWin);
foreach (var project in testTargets)
{
DotNetTest(s =>
{
s = s
.SetProjectFile(project.Path)
.SetConfiguration(Configuration)
.EnableNoRestore();
if (!EnvironmentInfo.IsWin)
{
s = s.SetFramework("net5.0");
}
return s;
});
}
});
}