Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,21 @@

[assembly: InternalsVisibleTo("Fallout.Build")]
[assembly: InternalsVisibleTo("Fallout.Build.Shared")]
[assembly: InternalsVisibleTo("Fallout.Build.Tests")]
[assembly: InternalsVisibleTo("Fallout.Build.Specs")]
[assembly: InternalsVisibleTo("Fallout.Common")]
[assembly: InternalsVisibleTo("Fallout.Common.Tests")]
[assembly: InternalsVisibleTo("Fallout.Common.Specs")]
[assembly: InternalsVisibleTo("Fallout.Cli")]
[assembly: InternalsVisibleTo("Fallout.Cli.Tests")]
[assembly: InternalsVisibleTo("Fallout.ProjectModel.Tests")]
[assembly: InternalsVisibleTo("Fallout.Cli.Specs")]
[assembly: InternalsVisibleTo("Fallout.ProjectModel.Specs")]
[assembly: InternalsVisibleTo("Fallout.SourceGenerators")]
[assembly: InternalsVisibleTo("Fallout.Solution")]
[assembly: InternalsVisibleTo("Fallout.Solution.Tests")]
[assembly: InternalsVisibleTo("Fallout.Solution.Specs")]
[assembly: InternalsVisibleTo("Fallout.Persistence.Solution")]
[assembly: InternalsVisibleTo("Fallout.Persistence.Solution.Tests")]
[assembly: InternalsVisibleTo("Fallout.Tooling")]
[assembly: InternalsVisibleTo("Fallout.Tooling.Tests")]
[assembly: InternalsVisibleTo("Fallout.Tooling.Specs")]
[assembly: InternalsVisibleTo("Fallout.Utilities.IO.Globbing")]
[assembly: InternalsVisibleTo("Fallout.Utilities.Tests")]
[assembly: InternalsVisibleTo("Fallout.Utilities.Specs")]

// External extensions — kept as Nuke.* until those projects rebrand independently.
[assembly: InternalsVisibleTo("Nuke.VisualStudio")]
Expand Down
4 changes: 2 additions & 2 deletions Directory.Build.props
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
<PackageReadmeFile>README.md</PackageReadmeFile>
</PropertyGroup>

<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('Tests'))">
<PropertyGroup Condition="$(MSBuildProjectName.EndsWith('Tests')) Or $(MSBuildProjectName.EndsWith('Specs'))">
<IsPackable>False</IsPackable>
</PropertyGroup>

Expand Down Expand Up @@ -53,7 +53,7 @@
<PackageReference Include="Nerdbank.GitVersioning" PrivateAssets="All" />
</ItemGroup>

<ItemGroup Condition="$(MSBuildProjectName.EndsWith('Tests'))">
<ItemGroup Condition="$(MSBuildProjectName.EndsWith('Tests')) Or $(MSBuildProjectName.EndsWith('Specs'))">
<PackageReference Include="coverlet.msbuild" />
<PackageReference Include="FluentAssertions" />
<PackageReference Include="GitHubActionsTestLogger" />
Expand Down
2 changes: 1 addition & 1 deletion build/Build.cs
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ private static int ParseMajor(string informationalVersion)
from framework in project.GetTargetFrameworks()
select (project, framework);

IEnumerable<Fallout.Solutions.Project> ITest.TestProjects => Partition.GetCurrent(Solution.GetAllProjects("*.Tests"));
IEnumerable<Fallout.Solutions.Project> ITest.TestProjects => Partition.GetCurrent(Solution.GetAllProjects("*.Specs"));

[Parameter]
public int TestDegreeOfParallelism { get; } = 1;
Expand Down
8 changes: 8 additions & 0 deletions docs/rebrand-plan.md
Original file line number Diff line number Diff line change
Expand Up @@ -122,3 +122,11 @@ Dates land on the timeline once `R0` ships.
- [#37](https://github.com/ChrisonSimtian/Fallout/issues/37) — migration guide (P5)
- [#47](https://github.com/ChrisonSimtian/Fallout/issues/47) — `Nuke.<X>` type-forwarding shim packages on GH Packages (P5)
- [#48](https://github.com/ChrisonSimtian/Fallout/issues/48) — `Fallout.Migrate` CLI tool (P5, demand-driven)

## Test naming migration sizing (2026-06-28)

Scope estimate for renaming `Test`/`Tests` to `Spec`/`Specs`:

- C# files affected by filename/class declaration renames: **84**
- Test project files affected (`*.Tests.csproj` → `*.Specs.csproj`): **13**
- Combined unique files in scope: **97**
26 changes: 13 additions & 13 deletions fallout.slnx
Original file line number Diff line number Diff line change
Expand Up @@ -34,21 +34,21 @@
<Project Path="src\Fallout.Utilities.Text.Json\Fallout.Utilities.Text.Json.csproj" />
<Project Path="src\Fallout.Utilities.Text.Yaml\Fallout.Utilities.Text.Yaml.csproj" />
<Project Path="src\Fallout.Utilities\Fallout.Utilities.csproj" />
<Project Path="tests\Fallout.Build.Tests\Fallout.Build.Tests.csproj" />
<Project Path="tests\Fallout.Common.Tests\Fallout.Common.Tests.csproj" />
<Project Path="tests\Fallout.Core.Tests\Fallout.Core.Tests.csproj" />
<Project Path="tests\Fallout.Cli.Tests\Fallout.Cli.Tests.csproj" />
<Project Path="tests\Fallout.Migrate.Tests\Fallout.Migrate.Tests.csproj" />
<Project Path="tests\Fallout.Migrate.Analyzers.Tests\Fallout.Migrate.Analyzers.Tests.csproj" />
<Project Path="tests\Nuke.Common.Shim.Tests\Nuke.Common.Shim.Tests.csproj" />
<Project Path="tests\Nuke.Components.Shim.Tests\Nuke.Components.Shim.Tests.csproj" />
<Project Path="tests\Fallout.ProjectModel.Tests\Fallout.ProjectModel.Tests.csproj" />
<Project Path="tests\Fallout.Solution.Tests\Fallout.Solution.Tests.csproj" />
<Project Path="tests\Fallout.SourceGenerators.Tests\Fallout.SourceGenerators.Tests.csproj" />
<Project Path="tests\Fallout.Build.Specs\Fallout.Build.Specs.csproj" />
<Project Path="tests\Fallout.Common.Specs\Fallout.Common.Specs.csproj" />
<Project Path="tests\Fallout.Core.Specs\Fallout.Core.Specs.csproj" />
<Project Path="tests\Fallout.Cli.Specs\Fallout.Cli.Specs.csproj" />
<Project Path="tests\Fallout.Migrate.Specs\Fallout.Migrate.Specs.csproj" />
<Project Path="tests\Fallout.Migrate.Analyzers.Specs\Fallout.Migrate.Analyzers.Specs.csproj" />
<Project Path="tests\Nuke.Common.Shim.Specs\Nuke.Common.Shim.Specs.csproj" />
<Project Path="tests\Nuke.Components.Shim.Specs\Nuke.Components.Shim.Specs.csproj" />
<Project Path="tests\Fallout.ProjectModel.Specs\Fallout.ProjectModel.Specs.csproj" />
<Project Path="tests\Fallout.Solution.Specs\Fallout.Solution.Specs.csproj" />
<Project Path="tests\Fallout.SourceGenerators.Specs\Fallout.SourceGenerators.Specs.csproj" />
<Project Path="tests\Benchmarks\Fallout.Persistence.Solution.Benchmarks\Fallout.Persistence.Solution.Benchmarks.csproj" />
<Project Path="tests\Consumers\Nuke.Consumer\Nuke.Consumer.csproj" />
<Project Path="tests\Consumers\Fallout.Consumer.Local\Fallout.Consumer.Local.csproj" />
<Project Path="tests\Consumers\Fallout.Consumer.NuGet\Fallout.Consumer.NuGet.csproj" />
<Project Path="tests\Fallout.Tooling.Tests\Fallout.Tooling.Tests.csproj" />
<Project Path="tests\Fallout.Utilities.Tests\Fallout.Utilities.Tests.csproj" />
<Project Path="tests\Fallout.Tooling.Specs\Fallout.Tooling.Specs.csproj" />
<Project Path="tests\Fallout.Utilities.Specs\Fallout.Utilities.Specs.csproj" />
</Solution>
2 changes: 1 addition & 1 deletion src/Fallout.Migrate/Fallout.Migrate.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
</PropertyGroup>

<ItemGroup>
<InternalsVisibleTo Include="Fallout.Migrate.Tests" />
<InternalsVisibleTo Include="Fallout.Migrate.Specs" />
</ItemGroup>

</Project>
4 changes: 2 additions & 2 deletions tests/Consumers/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,8 @@ The `Nuke.Consumer` doesn't pin anything (it references the in-repo shim assembl
## What's NOT tested

- Actual build *execution* (see above — runtime activation is fragile)
- CI-host integration (GitHubActions, AzurePipelines, etc.) — covered by `tests/Fallout.Common.Tests/CI/`
- CI-host integration (GitHubActions, AzurePipelines, etc.) — covered by `tests/Fallout.Common.Specs/CI/`
- Tool wrappers — covered by their own generated tests
- Source generator behaviour — covered by `tests/Fallout.SourceGenerators.Tests/`
- Source generator behaviour — covered by `tests/Fallout.SourceGenerators.Specs/`

These consumer projects are a **sentinel for shape changes**, not a place to demo features. Don't add consumer projects covering specific subsystems — those go in their own focused tests.
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
using System;
using System;
using System.Linq;
using FluentAssertions;
using Fallout.Common.Execution;
using Fallout.Common.Utilities.Collections;
using Xunit;

namespace Fallout.Common.Tests.Execution;
namespace Fallout.Common.Specs.Execution;

public class BuildExecutorTest
public class BuildExecutorSpec
{
private ExecutableTarget A = new() { Name = nameof(A), Status = ExecutionStatus.Scheduled };
private ExecutableTarget B = new() { Name = nameof(B), Status = ExecutionStatus.Scheduled };
private ExecutableTarget C = new() { Name = nameof(C), Status = ExecutionStatus.Scheduled };

public BuildExecutorTest()
public BuildExecutorSpec()
{
C.ExecutionDependencies.Add(B);
B.ExecutionDependencies.Add(A);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,15 @@
using VerifyXunit;
using Xunit;

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public class CompletionUtilityTest
public class CompletionUtilitySpec
{
private readonly VerifySettings _verifySettings;
private static AbsolutePath RootDirectory => Constants.TryGetRootDirectoryFrom(EnvironmentInfo.WorkingDirectory).NotNull();
private static AbsolutePath TestDirectory => RootDirectory / "tests" / "Fallout.Build.Tests";
private static AbsolutePath TestDirectory => RootDirectory / "tests" / "Fallout.Build.Specs";

public CompletionUtilityTest()
public CompletionUtilitySpec()
{
_verifySettings = new VerifySettings();
_verifySettings.DontIgnoreEmptyCollections();
Expand All @@ -27,7 +27,7 @@ public CompletionUtilityTest()
[Fact]
public async Task TestGetCompletionItemsTargetBuild()
{
var file = TestDirectory / "SchemaUtilityTest.TestTargetBuild.verified.json";
var file = TestDirectory / "SchemaUtilitySpec.TestTargetBuild.verified.json";
var schema = JsonDocument.Parse(file.ReadAllText());
var items = CompletionUtility.GetItemsFromSchema(schema, new[] { "dev" });
await Verifier.Verify(items, _verifySettings);
Expand All @@ -36,7 +36,7 @@ public async Task TestGetCompletionItemsTargetBuild()
[Fact]
public async Task TestGetCompletionItemsParameterBuild()
{
var file = TestDirectory / "SchemaUtilityTest.TestParameterBuild.verified.json";
var file = TestDirectory / "SchemaUtilitySpec.TestParameterBuild.verified.json";
var schema = JsonDocument.Parse(file.ReadAllText());
var items = CompletionUtility.GetItemsFromSchema(schema, []);
await Verifier.Verify(items, _verifySettings);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@

// ReSharper disable ArgumentsStyleLiteral

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public class ControlFlowTest
public class ControlFlowSpec
{
[Fact]
public void Test()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
using System;
using System;
using System.Linq;
using System.Linq.Expressions;
using FluentAssertions;
using Fallout.Common.Execution;
using Xunit;

namespace Fallout.Common.Tests.Execution;
namespace Fallout.Common.Specs.Execution;

public class DefaultInterfaceExecutionTest
public class DefaultInterfaceExecutionSpec
{
public static string Description = "description";
public static Action Action = () => { };
Expand Down Expand Up @@ -185,11 +185,11 @@ private class OverriddenDuplicatedTargetTestBuild : FalloutBuild, ITestBuild, ID

private interface ITestBuild
{
public string Description => DefaultInterfaceExecutionTest.Description;
public Action Action => DefaultInterfaceExecutionTest.Action;
public Expression<Func<bool>> Requirement => DefaultInterfaceExecutionTest.Requirement;
public Func<bool> StaticCondition => DefaultInterfaceExecutionTest.StaticCondition;
public Func<bool> DynamicCondition => DefaultInterfaceExecutionTest.DynamicCondition;
public string Description => DefaultInterfaceExecutionSpec.Description;
public Action Action => DefaultInterfaceExecutionSpec.Action;
public Expression<Func<bool>> Requirement => DefaultInterfaceExecutionSpec.Requirement;
public Func<bool> StaticCondition => DefaultInterfaceExecutionSpec.StaticCondition;
public Func<bool> DynamicCondition => DefaultInterfaceExecutionSpec.DynamicCondition;

public Target A => _ => _
.Description(Description)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using Fallout.Common.Execution;
using Xunit;

namespace Fallout.Common.Tests.Execution;
namespace Fallout.Common.Specs.Execution;

public class ExecutableTargetFactoryTest
public class ExecutableTargetFactorySpec
{
[Fact]
public void Test()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using Fallout.Common.Execution;
using Xunit;

namespace Fallout.Common.Tests.Execution;
namespace Fallout.Common.Specs.Execution;

public class ExecutionPlannerTest
public class ExecutionPlannerSpec
{
private ExecutableTarget A = new() { Name = nameof(A), IsDefault = true };
private ExecutableTarget B = new() { Name = nameof(B) };
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using System;
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using Fallout.Common.Execution;

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public static class ExecutionTestsInitializer
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
using System;
using System;
using System.IO;
using System.Linq;
using FluentAssertions;
using Fallout.Common.Git;
using Xunit;

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public class GitRepositoryTest
public class GitRepositorySpec
{
[Theory]
[InlineData("https://github.com/nuke-build", "github.com", "nuke-build")]
Expand All @@ -27,7 +27,7 @@ public class GitRepositoryTest
[InlineData("https://git.test.org:1234/test/test", "git.test.org", "test/test")]
[InlineData("git://git.test.org:1234/test/test", "git.test.org", "test/test")]
[InlineData("git://git.test.org/test/test", "git.test.org", "test/test")]
public void FromUrlTest(string url, string endpoint, string identifier)
public void FromUrlSpec(string url, string endpoint, string identifier)
{
var repository = GitRepository.FromUrl(url);
repository.Endpoint.Should().Be(endpoint);
Expand All @@ -39,14 +39,14 @@ public void FromUrlTest(string url, string endpoint, string identifier)
[InlineData("git@git.test.org:test", GitProtocol.Ssh)]
[InlineData("ssh://git.test.org:1234/test/test", GitProtocol.Ssh)]
[InlineData("git://git.test.org:1234/test/test", GitProtocol.Ssh)]
public void FromUrlProtocolTest(string url, GitProtocol protocol)
public void FromUrlProtocolSpec(string url, GitProtocol protocol)
{
var repository = GitRepository.FromUrl(url);
repository.Protocol.Should().Be(protocol);
}

[Fact]
public void FromDirectoryTest()
public void FromDirectorySpec()
{
var repository = GitRepository.FromLocalDirectory(Directory.GetCurrentDirectory()).NotNull();
repository.Endpoint.Should().NotBeNullOrEmpty();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using System;
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using Fallout.Common.Utilities;

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public static class HostInitializer
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
using Xunit;
using static Fallout.Common.Utilities.ReflectionUtility;

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public class ParameterServiceTest
public class ParameterServiceSpec
{
private ParameterService GetService(string[] commandLineArguments = null, IDictionary<string, string> environmentVariables = null)
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.ComponentModel;
using System.Linq;
using System.Threading.Tasks;
Expand All @@ -11,9 +11,9 @@

#pragma warning disable CS0169 // Field is never used

namespace Fallout.Common.Tests;
namespace Fallout.Common.Specs;

public class SchemaUtilityTest
public class SchemaUtilitySpec
{
[Fact]
public Task TestEmptyBuild()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
using System;
using System;
using System.Linq;
using System.Runtime.CompilerServices;
using VerifyTests;

namespace Fallout.Cli.Tests;
namespace Fallout.Common.Specs;

public static class VerifyTestsInitializer
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"$schema": "./SchemaUtilityTest.TestTargetBuild.verified.json",
"$schema": "./SchemaUtilitySpec.TestTargetBuild.verified.json",
"Verbosity": "Minimal",
"Target": ["ExplicitTarget", "InheritedTarget"]
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
using FluentAssertions;
using Xunit;

namespace Fallout.Cli.Tests;
namespace Fallout.Cli.Specs;

public class BuildProjectResolverTests
public class BuildProjectResolverSpecs
{
[Fact]
public void Resolve_ConventionDefault_ReturnsBuildSlashUnderscoreBuildCsproj()
Expand Down
Loading
Loading