diff --git a/.github/actions/execute-pipeline/action.yml b/.github/actions/execute-pipeline/action.yml index 55e4893bc4..50c32f7793 100644 --- a/.github/actions/execute-pipeline/action.yml +++ b/.github/actions/execute-pipeline/action.yml @@ -23,7 +23,7 @@ inputs: netversion: description: 'Net version' required: false - default: 'net9.0' + default: 'net10.0' runs: using: "composite" diff --git a/Directory.Build.props b/Directory.Build.props index a351596691..3a10242347 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -69,4 +69,16 @@ - + + true + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + \ No newline at end of file diff --git a/Directory.Packages.props b/Directory.Packages.props index 60ebed43a2..f771af1524 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -59,7 +59,7 @@ - + diff --git a/Polyfill.targets b/Polyfill.targets index 27f0006759..ca88149295 100644 --- a/Polyfill.targets +++ b/Polyfill.targets @@ -1,14 +1,6 @@ - - true - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - + + diff --git a/Roslyn.props b/Roslyn.props index 24cdff7c9e..9a3940c423 100644 --- a/Roslyn.props +++ b/Roslyn.props @@ -1,16 +1,9 @@ - - - true - + - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - diff --git a/TUnit.Assertions.SourceGenerator.Tests/TestsBase.cs b/TUnit.Assertions.SourceGenerator.Tests/TestsBase.cs index eddc6c2fda..10df29a364 100644 --- a/TUnit.Assertions.SourceGenerator.Tests/TestsBase.cs +++ b/TUnit.Assertions.SourceGenerator.Tests/TestsBase.cs @@ -37,7 +37,7 @@ public Task RunTest(string inputFile, Func assertions) public async Task RunTest(string inputFile, RunTestOptions runTestOptions, Func assertions) { #if NET - var source = await FilePolyfill.ReadAllTextAsync(inputFile); + var source = await File.ReadAllTextAsync(inputFile); #else var source = File.ReadAllText(inputFile); #endif @@ -80,7 +80,7 @@ namespace System.Diagnostics.CodeAnalysis; public class UnconditionalSuppressMessageAttribute : Attribute; """, #if NET - ..await Task.WhenAll(runTestOptions.AdditionalFiles.Select(x => FilePolyfill.ReadAllTextAsync(x))), + ..await Task.WhenAll(runTestOptions.AdditionalFiles.Select(x => File.ReadAllTextAsync(x))), #else ..runTestOptions.AdditionalFiles.Select(x => File.ReadAllText(x)), #endif @@ -160,8 +160,8 @@ Have you added required references and additional files? verifyTask = verifyTask.OnVerifyMismatch(async (pair, message, verify) => { - var received = await FilePolyfill.ReadAllTextAsync(pair.ReceivedPath); - var verified = await FilePolyfill.ReadAllTextAsync(pair.VerifiedPath); + var received = await File.ReadAllTextAsync(pair.ReceivedPath); + var verified = await File.ReadAllTextAsync(pair.VerifiedPath); // Better diff message since original one is too large await Assert.That(Scrub(received)).IsEqualTo(Scrub(verified)); diff --git a/TUnit.Core.SourceGenerator.Tests/GenericTypeResolverTests.cs b/TUnit.Core.SourceGenerator.Tests/GenericTypeResolverTests.cs index c074eb0d5f..40b105d8fe 100644 --- a/TUnit.Core.SourceGenerator.Tests/GenericTypeResolverTests.cs +++ b/TUnit.Core.SourceGenerator.Tests/GenericTypeResolverTests.cs @@ -148,7 +148,7 @@ public void TestMethod() private async Task RunTestWithInlineSource(string source) { var tempFile = Path.GetTempFileName() + ".cs"; - await FilePolyfill.WriteAllTextAsync(tempFile, source); + await File.WriteAllTextAsync(tempFile, source); try { diff --git a/TUnit.Core.SourceGenerator.Tests/TestsBase.cs b/TUnit.Core.SourceGenerator.Tests/TestsBase.cs index 161a01beed..98e003ad13 100644 --- a/TUnit.Core.SourceGenerator.Tests/TestsBase.cs +++ b/TUnit.Core.SourceGenerator.Tests/TestsBase.cs @@ -43,7 +43,7 @@ public Task RunTest(string inputFile, Func assertions) public async Task RunTest(string inputFile, RunTestOptions runTestOptions, Func assertions) { #if NET - var source = await FilePolyfill.ReadAllTextAsync(inputFile); + var source = await File.ReadAllTextAsync(inputFile); #else var source = File.ReadAllText(inputFile); #endif @@ -86,7 +86,7 @@ namespace System.Diagnostics.CodeAnalysis; public class UnconditionalSuppressMessageAttribute : Attribute; """, #if NET - ..await Task.WhenAll(runTestOptions.AdditionalFiles.Select(x => FilePolyfill.ReadAllTextAsync(x))), + ..await Task.WhenAll(runTestOptions.AdditionalFiles.Select(x => File.ReadAllTextAsync(x))), #else ..runTestOptions.AdditionalFiles.Select(x => File.ReadAllText(x)), #endif @@ -172,8 +172,8 @@ Have you added required references and additional files? { verifyTask = verifyTask.OnVerifyMismatch(async (pair, message, verify) => { - var received = await FilePolyfill.ReadAllTextAsync(pair.ReceivedPath); - var verified = await FilePolyfill.ReadAllTextAsync(pair.VerifiedPath); + var received = await File.ReadAllTextAsync(pair.ReceivedPath); + var verified = await File.ReadAllTextAsync(pair.VerifiedPath); // Better diff message since original one is too large await Assert.That(Scrub(received)).IsEqualTo(Scrub(verified)); diff --git a/TUnit.Core.SourceGenerator.Tests/UnifiedReflectionFreeTests.cs b/TUnit.Core.SourceGenerator.Tests/UnifiedReflectionFreeTests.cs index 3a039c557d..6182181767 100644 --- a/TUnit.Core.SourceGenerator.Tests/UnifiedReflectionFreeTests.cs +++ b/TUnit.Core.SourceGenerator.Tests/UnifiedReflectionFreeTests.cs @@ -95,7 +95,7 @@ public void TestWithConfiguration() private async Task RunTestWithInlineSource(string source) { var tempFile = Path.GetTempFileName() + ".cs"; - await FilePolyfill.WriteAllTextAsync(tempFile, source); + await File.WriteAllTextAsync(tempFile, source); try { diff --git a/TUnit.Core.SourceGenerator.Tests/Verify.cs b/TUnit.Core.SourceGenerator.Tests/Verify.cs index d1db167879..d15b2ac87a 100644 --- a/TUnit.Core.SourceGenerator.Tests/Verify.cs +++ b/TUnit.Core.SourceGenerator.Tests/Verify.cs @@ -157,15 +157,15 @@ public async Task ToTask() if (!File.Exists(_verifiedPath)) { - await FilePolyfill.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); + await File.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); throw new InvalidOperationException($"No verified file found for '{name}'."); } - var approved = await FilePolyfill.ReadAllTextAsync(_verifiedPath); + var approved = await File.ReadAllTextAsync(_verifiedPath); if (!string.Equals(NormalizeNewline(final), NormalizeNewline(approved), StringComparison.Ordinal)) { - await FilePolyfill.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); + await File.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); if (_onVerifyMismatch != null) { diff --git a/TUnit.Engine.Tests/Attributes/SkipNetFrameworkAttribute.cs b/TUnit.Engine.Tests/Attributes/SkipNetFrameworkAttribute.cs index 8ad1fb4e2b..b8205c3ad6 100644 --- a/TUnit.Engine.Tests/Attributes/SkipNetFrameworkAttribute.cs +++ b/TUnit.Engine.Tests/Attributes/SkipNetFrameworkAttribute.cs @@ -2,7 +2,7 @@ public class SkipNetFrameworkAttribute(string reason) : SkipAttribute(reason) { - private static readonly string NetVersion = Environment.GetEnvironmentVariable("NET_VERSION") ?? "net9.0"; + private static readonly string NetVersion = Environment.GetEnvironmentVariable("NET_VERSION") ?? "net10.0"; public override Task ShouldSkip(TestRegisteredContext testRegisteredContext) { diff --git a/TUnit.Engine.Tests/InvokableTestBase.cs b/TUnit.Engine.Tests/InvokableTestBase.cs index bc20a0e4a1..1e264449bc 100644 --- a/TUnit.Engine.Tests/InvokableTestBase.cs +++ b/TUnit.Engine.Tests/InvokableTestBase.cs @@ -22,7 +22,7 @@ public static IEnumerable GetTestModes() } } - private static readonly string GetEnvironmentVariable = Environment.GetEnvironmentVariable("NET_VERSION") ?? "net9.0"; + private static readonly string GetEnvironmentVariable = Environment.GetEnvironmentVariable("NET_VERSION") ?? "net10.0"; public static bool IsNetFramework => GetEnvironmentVariable.StartsWith("net4"); diff --git a/TUnit.Pipeline/Modules/Abstract/TestBaseModule.cs b/TUnit.Pipeline/Modules/Abstract/TestBaseModule.cs index 0943197e35..481e4167a3 100644 --- a/TUnit.Pipeline/Modules/Abstract/TestBaseModule.cs +++ b/TUnit.Pipeline/Modules/Abstract/TestBaseModule.cs @@ -14,7 +14,7 @@ protected virtual IEnumerable TestableFrameworks { get { - yield return "net9.0"; + yield return "net10.0"; yield return "net8.0"; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) diff --git a/TUnit.Pipeline/Modules/PublishNugetTesterAOTModule.cs b/TUnit.Pipeline/Modules/PublishNugetTesterAOTModule.cs index 5bbb404429..b15f0e8a03 100644 --- a/TUnit.Pipeline/Modules/PublishNugetTesterAOTModule.cs +++ b/TUnit.Pipeline/Modules/PublishNugetTesterAOTModule.cs @@ -32,8 +32,8 @@ protected override Task ShouldSkip(IPipelineContext context) .FindFile(x => x.Name == "TUnit.NugetTester.csproj") .AssertExists(); - // Test AOT publishing for net8.0 and net9.0 - foreach (var framework in new[] { "net8.0", "net9.0" }) + // Test AOT publishing + foreach (var framework in new[] { "net8.0", "net9.0", "net10.0" }) { var result = await SubModule($"AOT-{framework}", async () => { diff --git a/TUnit.Pipeline/Modules/RunAspNetTestsModule.cs b/TUnit.Pipeline/Modules/RunAspNetTestsModule.cs index ad5ed5103e..e6c974434a 100644 --- a/TUnit.Pipeline/Modules/RunAspNetTestsModule.cs +++ b/TUnit.Pipeline/Modules/RunAspNetTestsModule.cs @@ -22,7 +22,7 @@ public class RunAspNetTestsModule : Module Project = project.Name, NoBuild = true, Configuration = Configuration.Release, - Framework = "net9.0", + Framework = "net10.0", WorkingDirectory = project.Folder!, Arguments = ["--ignore-exit-code", "8", "--hangdump", "--hangdump-filename", "hangdump.aspnet-tests.dmp", "--hangdump-timeout", "5m"], EnvironmentVariables = new Dictionary diff --git a/TUnit.Pipeline/Modules/RunEngineTestsModule.cs b/TUnit.Pipeline/Modules/RunEngineTestsModule.cs index 162ccaf06e..49a70177aa 100644 --- a/TUnit.Pipeline/Modules/RunEngineTestsModule.cs +++ b/TUnit.Pipeline/Modules/RunEngineTestsModule.cs @@ -33,7 +33,7 @@ public class RunEngineTestsModule : Module Project = project.Name, NoBuild = true, Configuration = Configuration.Release, - Framework = "net9.0", + Framework = "net10.0", WorkingDirectory = project.Folder!, Arguments = [ "--hangdump", "--hangdump-filename", $"hangdump.{Environment.OSVersion.Platform}.engine-tests.dmp", "--hangdump-timeout", "30m", diff --git a/TUnit.Pipeline/Modules/RunTemplateTestsModule.cs b/TUnit.Pipeline/Modules/RunTemplateTestsModule.cs index ad6f2384bd..6199c64f72 100644 --- a/TUnit.Pipeline/Modules/RunTemplateTestsModule.cs +++ b/TUnit.Pipeline/Modules/RunTemplateTestsModule.cs @@ -22,7 +22,7 @@ public class RunTemplateTestsModule : Module WorkingDirectory = project.Folder!, NoBuild = true, Configuration = Configuration.Release, - Framework = "net9.0", + Framework = "net10.0", Arguments = ["--", "--hangdump", "--hangdump-filename", "hangdump.template-tests.dmp", "--hangdump-timeout", "5m"], EnvironmentVariables = new Dictionary { diff --git a/TUnit.Pipeline/Modules/TestNugetPackageModule.cs b/TUnit.Pipeline/Modules/TestNugetPackageModule.cs index 6ace295308..e9045d5c6e 100644 --- a/TUnit.Pipeline/Modules/TestNugetPackageModule.cs +++ b/TUnit.Pipeline/Modules/TestNugetPackageModule.cs @@ -37,7 +37,7 @@ protected override IEnumerable TestableFrameworks { get { - yield return "net9.0"; + yield return "net10.0"; yield return "net8.0"; if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) diff --git a/TUnit.PublicAPI/Tests.cs b/TUnit.PublicAPI/Tests.cs index 0aa7f2dff9..67830f80f0 100644 --- a/TUnit.PublicAPI/Tests.cs +++ b/TUnit.PublicAPI/Tests.cs @@ -51,8 +51,8 @@ await VerifyTUnit.Verify(publicApi) .ScrubFilePaths() .OnVerifyMismatch(async (pair, message, verify) => { - var received = await FilePolyfill.ReadAllTextAsync(pair.ReceivedPath); - var verified = await FilePolyfill.ReadAllTextAsync(pair.VerifiedPath); + var received = await File.ReadAllTextAsync(pair.ReceivedPath); + var verified = await File.ReadAllTextAsync(pair.VerifiedPath); // Better diff message since original one is too large await Assert.That(Scrub(received)).IsEqualTo(Scrub(verified)); diff --git a/TUnit.PublicAPI/Verify.cs b/TUnit.PublicAPI/Verify.cs index d057db9a0b..5059fc603c 100644 --- a/TUnit.PublicAPI/Verify.cs +++ b/TUnit.PublicAPI/Verify.cs @@ -129,15 +129,15 @@ public async Task ToTask() if (!File.Exists(_verifiedPath)) { - await FilePolyfill.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); + await File.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); throw new InvalidOperationException($"No verified file found for '{name}'."); } - var approved = await FilePolyfill.ReadAllTextAsync(_verifiedPath); + var approved = await File.ReadAllTextAsync(_verifiedPath); if (!string.Equals(NormalizeNewline(final), NormalizeNewline(approved), StringComparison.Ordinal)) { - await FilePolyfill.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); + await File.WriteAllTextAsync(_receivedPath, NormalizeNewline(final)); if (_onVerifyMismatch != null) { diff --git a/TUnit.TestProject.Library/Polyfills/ModuleInitializerAttribute.cs b/TUnit.TestProject.Library/Polyfills/ModuleInitializerAttribute.cs deleted file mode 100644 index 49cce8f4f0..0000000000 --- a/TUnit.TestProject.Library/Polyfills/ModuleInitializerAttribute.cs +++ /dev/null @@ -1,5 +0,0 @@ -// ReSharper disable once CheckNamespace -namespace System.Runtime.CompilerServices; - -// ReSharper disable once RedundantExtendsListEntry -sealed class ModuleInitializerAttribute : Attribute; diff --git a/TUnit.TestProject/AfterTestAttributeTests.cs b/TUnit.TestProject/AfterTestAttributeTests.cs index 47e9022801..4aba172d1d 100644 --- a/TUnit.TestProject/AfterTestAttributeTests.cs +++ b/TUnit.TestProject/AfterTestAttributeTests.cs @@ -19,7 +19,7 @@ public async ValueTask OnTestEnd(TestContext testContext) { Console.WriteLine(@"Writing file inside WriteFileAfterTestAttribute!"); - await FilePolyfill.WriteAllTextAsync(Filename, "Foo!"); + await File.WriteAllTextAsync(Filename, "Foo!"); } public int Order => 0; diff --git a/TUnit.TestProject/AfterTests/TestDiscoveryAfterTests.cs b/TUnit.TestProject/AfterTests/TestDiscoveryAfterTests.cs index 9a7b82e62a..1adac76180 100644 --- a/TUnit.TestProject/AfterTests/TestDiscoveryAfterTests.cs +++ b/TUnit.TestProject/AfterTests/TestDiscoveryAfterTests.cs @@ -11,7 +11,7 @@ public static async Task AfterTestDiscovery(TestDiscoveryContext context) [AfterEvery(TestDiscovery)] public static async Task AfterEveryTestDiscovery(TestDiscoveryContext context) { - await FilePolyfill.WriteAllTextAsync($"TestDiscoveryAfterTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests found"); + await File.WriteAllTextAsync($"TestDiscoveryAfterTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests found"); var test = context.AllTests.FirstOrDefault(x => x.Metadata.TestDetails.TestName == nameof(TestDiscoveryAfterTests.EnsureAfterEveryTestDiscoveryHit)); diff --git a/TUnit.TestProject/AfterTests/TestSessionAfterTests.cs b/TUnit.TestProject/AfterTests/TestSessionAfterTests.cs index 384c5f3ba2..34dc0788fb 100644 --- a/TUnit.TestProject/AfterTests/TestSessionAfterTests.cs +++ b/TUnit.TestProject/AfterTests/TestSessionAfterTests.cs @@ -11,7 +11,7 @@ public static async Task AfterTestSession(TestSessionContext context) [AfterEvery(TestSession)] public static async Task AfterEveryTestSession(TestSessionContext context) { - await FilePolyfill.WriteAllTextAsync($"TestSessionAfterTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests in session"); + await File.WriteAllTextAsync($"TestSessionAfterTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests in session"); var test = context.AllTests.FirstOrDefault(x => x.Metadata.TestDetails.TestName == nameof(TestSessionAfterTests.PepareForAfterSession)); diff --git a/TUnit.TestProject/BeforeTests/TestDiscoveryBeforeTests.cs b/TUnit.TestProject/BeforeTests/TestDiscoveryBeforeTests.cs index da3412f221..73b5060e00 100644 --- a/TUnit.TestProject/BeforeTests/TestDiscoveryBeforeTests.cs +++ b/TUnit.TestProject/BeforeTests/TestDiscoveryBeforeTests.cs @@ -11,7 +11,7 @@ public static async Task BeforeTestDiscovery(BeforeTestDiscoveryContext context) [BeforeEvery(TestDiscovery)] public static async Task BeforeEveryTestDiscovery(BeforeTestDiscoveryContext context) { - await FilePolyfill.WriteAllTextAsync($"TestDiscoveryBeforeTests{Guid.NewGuid():N}.txt", $"Blah!"); + await File.WriteAllTextAsync($"TestDiscoveryBeforeTests{Guid.NewGuid():N}.txt", $"Blah!"); } } diff --git a/TUnit.TestProject/BeforeTests/TestSessionBeforeTests.cs b/TUnit.TestProject/BeforeTests/TestSessionBeforeTests.cs index 8c443ef421..8baf92eadd 100644 --- a/TUnit.TestProject/BeforeTests/TestSessionBeforeTests.cs +++ b/TUnit.TestProject/BeforeTests/TestSessionBeforeTests.cs @@ -11,7 +11,7 @@ public static async Task BeforeTestSession(TestSessionContext context) [BeforeEvery(TestSession)] public static async Task BeforeEveryTestSession(TestSessionContext context) { - await FilePolyfill.WriteAllTextAsync($"TestSessionBeforeTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests in session"); + await File.WriteAllTextAsync($"TestSessionBeforeTests{Guid.NewGuid():N}.txt", $"{context.AllTests.Count()} tests in session"); var test = context.AllTests.FirstOrDefault(x => x.Metadata.TestDetails.TestName == nameof(TestSessionBeforeTests.EnsureBeforeEveryTestSessionHit));