From d68071090f04306e617c662292df7ec35ba77d52 Mon Sep 17 00:00:00 2001 From: Michael Mortensen Date: Wed, 11 Sep 2024 21:13:04 +0200 Subject: [PATCH 1/5] :ambulance: finally fixes the issue introduced after bumping xUnit to v2.9.0 - https://github.com/xunit/xunit/discussions/2994 --- .../ServiceCollectionExtensions.cs | 29 ++++++++++++++++- .../XunitTestLogger.cs | 9 +++--- .../XunitTestLoggerProvider.cs | 9 +++--- .../ITestOutputHelperAccessor.cs | 16 ++++++++++ .../TestOutputHelperAccessor.cs | 32 +++++++++++++++++++ .../AspNetCoreHostTestTest.cs | 15 ++++++++- 6 files changed, 98 insertions(+), 12 deletions(-) create mode 100644 src/Cuemon.Extensions.Xunit/ITestOutputHelperAccessor.cs create mode 100644 src/Cuemon.Extensions.Xunit/TestOutputHelperAccessor.cs diff --git a/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs b/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs index 7552e0131..6f62b94c1 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs @@ -28,9 +28,36 @@ public static IServiceCollection AddXunitTestLogging(this IServiceCollection ser services.AddLogging(builder => { builder.SetMinimumLevel(minimumLevel); - builder.AddProvider(new XunitTestLoggerProvider(output)); + builder.AddProvider(new XunitTestLoggerProvider(new TestOutputHelperAccessor(output))); }); return services; } + + /// + /// Adds a default implementation of to the collection. + /// + /// The to extend. + /// A reference to so that additional configuration calls can be chained. + public static IServiceCollection AddTestOutputHelperAccessor(this IServiceCollection services) + { + services.AddTestOutputHelperAccessor(); + return services; + } + + /// + /// Adds a specified implementation of to the collection. + /// + /// The type of the implementation of . + /// The to extend. + /// A reference to so that additional configuration calls can be chained. + /// + /// cannot be null. + /// + public static IServiceCollection AddTestOutputHelperAccessor(this IServiceCollection services) where T : class, ITestOutputHelperAccessor + { + Validator.ThrowIfNull(services); + services.AddSingleton(); + return services; + } } } diff --git a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs index eea1d18cd..65ed468d7 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs @@ -1,17 +1,16 @@ using System; using System.Text; using Microsoft.Extensions.Logging; -using Xunit.Abstractions; namespace Cuemon.Extensions.Xunit.Hosting { internal class XunitTestLogger : InMemoryTestStore, ILogger, IDisposable { - private readonly ITestOutputHelper _output; + private readonly ITestOutputHelperAccessor _accessor; - public XunitTestLogger(ITestOutputHelper output) + public XunitTestLogger(ITestOutputHelperAccessor accessor) { - _output = output; + _accessor = accessor; } public void Log(LogLevel logLevel, EventId eventId, TState state, Exception exception, Func formatter) @@ -20,7 +19,7 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except if (exception != null) { builder.AppendLine().Append(exception).AppendLine(); } var message = builder.ToString(); - _output.WriteLine(message); + _accessor.TestOutput.WriteLine(message); Add(new XunitTestLoggerEntry(logLevel, eventId, message)); } diff --git a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs index 86e77b574..fc86a675e 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs @@ -1,22 +1,21 @@ using Microsoft.Extensions.Logging; using System.Collections.Concurrent; -using Xunit.Abstractions; namespace Cuemon.Extensions.Xunit.Hosting { internal class XunitTestLoggerProvider : ILoggerProvider { private readonly ConcurrentDictionary _loggers = new(); - private readonly ITestOutputHelper _output; + private readonly ITestOutputHelperAccessor _accessor; - public XunitTestLoggerProvider(ITestOutputHelper output) + public XunitTestLoggerProvider(ITestOutputHelperAccessor accessor) { - _output = output; + _accessor = accessor; } public ILogger CreateLogger(string categoryName) { - return _loggers.GetOrAdd(categoryName, s => new XunitTestLogger(_output)); + return _loggers.GetOrAdd(categoryName, s => new XunitTestLogger(_accessor)); } public void Dispose() diff --git a/src/Cuemon.Extensions.Xunit/ITestOutputHelperAccessor.cs b/src/Cuemon.Extensions.Xunit/ITestOutputHelperAccessor.cs new file mode 100644 index 000000000..41641ee32 --- /dev/null +++ b/src/Cuemon.Extensions.Xunit/ITestOutputHelperAccessor.cs @@ -0,0 +1,16 @@ +using Xunit.Abstractions; + +namespace Cuemon.Extensions.Xunit +{ + /// + /// Provides an interface for accessing the instance. + /// + public interface ITestOutputHelperAccessor + { + /// + /// Gets or sets the instance used for outputting test results. + /// + /// The instance. + ITestOutputHelper TestOutput { get; set; } + } +} diff --git a/src/Cuemon.Extensions.Xunit/TestOutputHelperAccessor.cs b/src/Cuemon.Extensions.Xunit/TestOutputHelperAccessor.cs new file mode 100644 index 000000000..55a6c546d --- /dev/null +++ b/src/Cuemon.Extensions.Xunit/TestOutputHelperAccessor.cs @@ -0,0 +1,32 @@ +using System.Threading; +using Xunit.Abstractions; + +namespace Cuemon.Extensions.Xunit +{ + /// + /// Provides a default implementation of the interface. + /// + public class TestOutputHelperAccessor : ITestOutputHelperAccessor + { + private static readonly AsyncLocal Current = new(); + + /// + /// Initializes a new instance of the class with the specified instance. + /// + /// The instance to be used for outputting test results. + public TestOutputHelperAccessor(ITestOutputHelper output = null) + { + Current.Value = output; + } + + /// + /// Gets or sets the instance used for outputting test results. + /// + /// The instance. + public ITestOutputHelper TestOutput + { + get => Current.Value; + set => Current.Value = value; + } + } +} diff --git a/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs b/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs index 059e3bd1b..0f82382ff 100644 --- a/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs +++ b/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs @@ -6,6 +6,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Http; using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Logging; using Microsoft.Extensions.Options; using Xunit; using Xunit.Abstractions; @@ -21,6 +22,8 @@ public AspNetCoreHostTestTest(AspNetCoreHostFixture hostFixture, ITestOutputHelp { _pipeline = hostFixture.Application; _provider = hostFixture.ServiceProvider; + + _provider.GetRequiredService().TestOutput = output; } [Fact] @@ -44,8 +47,16 @@ public async Task ShouldHaveResultOfBoolMiddlewareInBody() Assert.False(options.Value.F); } + [Fact] + public void ShouldLogToXunitTestLogging() + { + var logger = _pipeline.ApplicationServices.GetRequiredService>(); + logger.LogInformation("Hello from {0}", nameof(ShouldLogToXunitTestLogging)); + } + public override void ConfigureApplication(IApplicationBuilder app) { + app.ApplicationServices.GetRequiredService>().LogInformation(nameof(ConfigureApplication)); app.UseMiddleware(); } @@ -58,6 +69,8 @@ public override void ConfigureServices(IServiceCollection services) o.C = true; o.E = true; }); + services.AddTestOutputHelperAccessor(); + services.AddXunitTestLogging(TestOutput); } } -} \ No newline at end of file +} From 6cdfcfdb19031390261b76738d3de93896a3de1d Mon Sep 17 00:00:00 2001 From: Michael Mortensen Date: Wed, 11 Sep 2024 21:42:03 +0200 Subject: [PATCH 2/5] :recycle: backward compatibility for d68071090f0 --- .../ServiceCollectionExtensions.cs | 31 ++++++++++++++++--- .../XunitTestLogger.cs | 16 +++++++++- .../XunitTestLoggerProvider.cs | 11 ++++++- .../AspNetCoreHostTestTest.cs | 6 ++-- 4 files changed, 55 insertions(+), 9 deletions(-) diff --git a/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs b/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs index 6f62b94c1..60ac253e1 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/ServiceCollectionExtensions.cs @@ -28,7 +28,30 @@ public static IServiceCollection AddXunitTestLogging(this IServiceCollection ser services.AddLogging(builder => { builder.SetMinimumLevel(minimumLevel); - builder.AddProvider(new XunitTestLoggerProvider(new TestOutputHelperAccessor(output))); + builder.AddProvider(new XunitTestLoggerProvider(output)); + }); + return services; + } + + /// + /// Adds a unit test optimized implementation of output logging to the collection. + /// + /// The to extend. + /// The that provides access to the output for the logging. + /// The that specifies the minimum level to include for the logging. + /// A reference to so that additional configuration calls can be chained. + /// + /// cannot be null -or- + /// cannot be null. + /// + public static IServiceCollection AddXunitTestLogging(this IServiceCollection services, ITestOutputHelperAccessor accessor, LogLevel minimumLevel = LogLevel.Trace) + { + Validator.ThrowIfNull(services); + Validator.ThrowIfNull(accessor); + services.AddLogging(builder => + { + builder.SetMinimumLevel(minimumLevel); + builder.AddProvider(new XunitTestLoggerProvider(accessor)); }); return services; } @@ -38,9 +61,9 @@ public static IServiceCollection AddXunitTestLogging(this IServiceCollection ser /// /// The to extend. /// A reference to so that additional configuration calls can be chained. - public static IServiceCollection AddTestOutputHelperAccessor(this IServiceCollection services) + public static IServiceCollection AddXunitTestOutputHelperAccessor(this IServiceCollection services) { - services.AddTestOutputHelperAccessor(); + services.AddXunitTestOutputHelperAccessor(); return services; } @@ -53,7 +76,7 @@ public static IServiceCollection AddTestOutputHelperAccessor(this IServiceCollec /// /// cannot be null. /// - public static IServiceCollection AddTestOutputHelperAccessor(this IServiceCollection services) where T : class, ITestOutputHelperAccessor + public static IServiceCollection AddXunitTestOutputHelperAccessor(this IServiceCollection services) where T : class, ITestOutputHelperAccessor { Validator.ThrowIfNull(services); services.AddSingleton(); diff --git a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs index 65ed468d7..8af387b57 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLogger.cs @@ -1,12 +1,19 @@ using System; using System.Text; using Microsoft.Extensions.Logging; +using Xunit.Abstractions; namespace Cuemon.Extensions.Xunit.Hosting { internal class XunitTestLogger : InMemoryTestStore, ILogger, IDisposable { private readonly ITestOutputHelperAccessor _accessor; + private readonly ITestOutputHelper _output; + + public XunitTestLogger(ITestOutputHelper output) + { + _output = output; + } public XunitTestLogger(ITestOutputHelperAccessor accessor) { @@ -19,7 +26,14 @@ public void Log(LogLevel logLevel, EventId eventId, TState state, Except if (exception != null) { builder.AppendLine().Append(exception).AppendLine(); } var message = builder.ToString(); - _accessor.TestOutput.WriteLine(message); + if (_accessor != null) + { + _accessor.TestOutput.WriteLine(message); + } + else + { + _output.WriteLine(message); + } Add(new XunitTestLoggerEntry(logLevel, eventId, message)); } diff --git a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs index fc86a675e..a3c1cdc8e 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs +++ b/src/Cuemon.Extensions.Xunit.Hosting/XunitTestLoggerProvider.cs @@ -1,5 +1,6 @@ using Microsoft.Extensions.Logging; using System.Collections.Concurrent; +using Xunit.Abstractions; namespace Cuemon.Extensions.Xunit.Hosting { @@ -7,6 +8,12 @@ internal class XunitTestLoggerProvider : ILoggerProvider { private readonly ConcurrentDictionary _loggers = new(); private readonly ITestOutputHelperAccessor _accessor; + private readonly ITestOutputHelper _output; + + public XunitTestLoggerProvider(ITestOutputHelper output) + { + _output = output; + } public XunitTestLoggerProvider(ITestOutputHelperAccessor accessor) { @@ -15,7 +22,9 @@ public XunitTestLoggerProvider(ITestOutputHelperAccessor accessor) public ILogger CreateLogger(string categoryName) { - return _loggers.GetOrAdd(categoryName, s => new XunitTestLogger(_accessor)); + return _loggers.GetOrAdd(categoryName, _ => _accessor != null + ? new XunitTestLogger(_accessor) + : new XunitTestLogger(_output)); } public void Dispose() diff --git a/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs b/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs index 0f82382ff..50c8f8e14 100644 --- a/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs +++ b/test/Cuemon.Extensions.Xunit.Hosting.AspNetCore.Tests/AspNetCoreHostTestTest.cs @@ -33,7 +33,7 @@ public async Task ShouldHaveResultOfBoolMiddlewareInBody() var options = _provider.GetRequiredService>(); var pipeline = _pipeline.Build(); - Assert.Equal("Hello awesome developers!", context.Response.Body.ToEncodedString(o => o.LeaveOpen = true)); + Assert.Equal("Hello awesome developers!", context!.Response.Body.ToEncodedString(o => o.LeaveOpen = true)); await pipeline(context); @@ -69,8 +69,8 @@ public override void ConfigureServices(IServiceCollection services) o.C = true; o.E = true; }); - services.AddTestOutputHelperAccessor(); - services.AddXunitTestLogging(TestOutput); + services.AddXunitTestOutputHelperAccessor(); + services.AddXunitTestLogging(new TestOutputHelperAccessor(TestOutput)); } } } From 1477b53e20c8ee68c9134e9fcfba472c24e2d531 Mon Sep 17 00:00:00 2001 From: Michael Mortensen Date: Wed, 11 Sep 2024 21:59:58 +0200 Subject: [PATCH 3/5] :speech_balloon: updated changelog and release notes --- .../Cuemon.Extensions.Xunit.Hosting/PackageReleaseNotes.txt | 1 + .nuget/Cuemon.Extensions.Xunit/PackageReleaseNotes.txt | 4 ++++ CHANGELOG.md | 4 ++++ 3 files changed, 9 insertions(+) diff --git a/.nuget/Cuemon.Extensions.Xunit.Hosting/PackageReleaseNotes.txt b/.nuget/Cuemon.Extensions.Xunit.Hosting/PackageReleaseNotes.txt index 6ae8375d5..21ab2ae7b 100644 --- a/.nuget/Cuemon.Extensions.Xunit.Hosting/PackageReleaseNotes.txt +++ b/.nuget/Cuemon.Extensions.Xunit.Hosting/PackageReleaseNotes.txt @@ -6,6 +6,7 @@ Availability: .NET 9, .NET 8, .NET 6 and .NET Standard 2.0   # New Features - ADDED ServiceProviderExtensions class in the Cuemon.Extensions.Xunit.Hosting namespace that consist of one extension method for the IServiceProvider interface: GetRequiredScopedService +- EXTENDED ServiceCollectionExtensions class in the Cuemon.Extensions.Xunit.Hosting namespace with three new extension methods for the IServiceCollection interface: AddXunitTestOutputHelperAccessor, AddXunitTestOutputHelperAccessor{T} and an overload of AddXunitTestOutputHelperAccessor   Version 8.3.2 Availability: .NET 8, .NET 6 and .NET Standard 2.0 diff --git a/.nuget/Cuemon.Extensions.Xunit/PackageReleaseNotes.txt b/.nuget/Cuemon.Extensions.Xunit/PackageReleaseNotes.txt index 572ceda20..63c7d6ceb 100644 --- a/.nuget/Cuemon.Extensions.Xunit/PackageReleaseNotes.txt +++ b/.nuget/Cuemon.Extensions.Xunit/PackageReleaseNotes.txt @@ -7,6 +7,10 @@ Availability: .NET 9, .NET 8, .NET 6 and .NET Standard 2.0 # Improvements - EXTENDED TestOutputHelperExtensions class in the Cuemon.Extensions.Xunit namespace with an additional overloaded method: WriteLines   +# New Features +- ADDED ITestOutputHelperAccessor interface in the Cuemon.Extensions.Xunit namespace that provides access to the ITestOutputHelper instance +- ADDED TestOutputHelperAccessor class in the Cuemon.Extensions.Xunit namespace that provides a default implementation of the ITestOutputHelper interface +  Version 8.3.2 Availability: .NET 8, .NET 6 and .NET Standard 2.0   diff --git a/CHANGELOG.md b/CHANGELOG.md index c0b0f6f57..e66caa308 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -25,6 +25,10 @@ New features: - FailureConverter class in the Cuemon.Extensions.Text.Json.Converters namespace to convert FailureConverter to JSON - FailureConverter class in the Cuemon.Xml.Serialization.Converters namespace to convert FailureConverter to XML - Support for System.Threading.Lock object that targets TFMs prior to .NET 9 (credits to Mark Cilia Vincenti, https://github.com/MarkCiliaVincenti/Backport.System.Threading.Lock) +- ITestOutputHelperAccessor interface in the Cuemon.Extensions.Xunit namespace that provides access to the ITestOutputHelper instance +- TestOutputHelperAccessor class in the Cuemon.Extensions.Xunit namespace that provides a default implementation of the ITestOutputHelper interface +- ServiceProviderExtensions class in the Cuemon.Extensions.Xunit.Hosting namespace that consist of one extension method for the IServiceProvider interface: GetRequiredScopedService +- ServiceCollectionExtensions class in the Cuemon.Extensions.Xunit.Hosting namespace was extended with three new extension methods for the IServiceCollection interface: AddXunitTestOutputHelperAccessor, AddXunitTestOutputHelperAccessor{T} and an overload of AddXunitTestOutputHelperAccessor ### Changed From 03847e720c7b7109d4089c026cd6b5803148e4c8 Mon Sep 17 00:00:00 2001 From: Michael Mortensen Date: Wed, 11 Sep 2024 23:38:28 +0200 Subject: [PATCH 4/5] :arrow_up: bump dependencies --- ...ns.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj | 2 +- .../Cuemon.Extensions.DependencyInjection.csproj | 4 ++-- .../Cuemon.Extensions.Hosting.csproj | 2 +- src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj | 2 +- .../Cuemon.Extensions.Text.Json.csproj | 2 +- .../Cuemon.Extensions.Xunit.Hosting.AspNetCore.csproj | 2 +- .../Cuemon.Extensions.Xunit.Hosting.csproj | 10 +++++----- test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj | 6 +++--- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/src/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj b/src/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj index b519913ee..a447e3092 100644 --- a/src/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj +++ b/src/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json/Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json.csproj @@ -11,7 +11,7 @@ - + diff --git a/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj b/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj index c879eb7ea..d8ad566e2 100644 --- a/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj +++ b/src/Cuemon.Extensions.DependencyInjection/Cuemon.Extensions.DependencyInjection.csproj @@ -10,8 +10,8 @@ - - + + diff --git a/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj b/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj index d30d380eb..6a2cbd0ef 100644 --- a/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj +++ b/src/Cuemon.Extensions.Hosting/Cuemon.Extensions.Hosting.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj b/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj index 14dab98e8..460d7e81d 100644 --- a/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj +++ b/src/Cuemon.Extensions.Net/Cuemon.Extensions.Net.csproj @@ -10,7 +10,7 @@ - + diff --git a/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj b/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj index 8cd21616c..ec195212d 100644 --- a/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj +++ b/src/Cuemon.Extensions.Text.Json/Cuemon.Extensions.Text.Json.csproj @@ -17,7 +17,7 @@ - + diff --git a/src/Cuemon.Extensions.Xunit.Hosting.AspNetCore/Cuemon.Extensions.Xunit.Hosting.AspNetCore.csproj b/src/Cuemon.Extensions.Xunit.Hosting.AspNetCore/Cuemon.Extensions.Xunit.Hosting.AspNetCore.csproj index b85bf0488..ffed3069f 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting.AspNetCore/Cuemon.Extensions.Xunit.Hosting.AspNetCore.csproj +++ b/src/Cuemon.Extensions.Xunit.Hosting.AspNetCore/Cuemon.Extensions.Xunit.Hosting.AspNetCore.csproj @@ -16,7 +16,7 @@ - + diff --git a/src/Cuemon.Extensions.Xunit.Hosting/Cuemon.Extensions.Xunit.Hosting.csproj b/src/Cuemon.Extensions.Xunit.Hosting/Cuemon.Extensions.Xunit.Hosting.csproj index 1b5e7f71c..ee24a2cf2 100644 --- a/src/Cuemon.Extensions.Xunit.Hosting/Cuemon.Extensions.Xunit.Hosting.csproj +++ b/src/Cuemon.Extensions.Xunit.Hosting/Cuemon.Extensions.Xunit.Hosting.csproj @@ -11,11 +11,11 @@ - - - - - + + + + + diff --git a/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj b/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj index a9d822e51..46c6044ee 100644 --- a/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj +++ b/test/Cuemon.Data.Tests/Cuemon.Data.Tests.csproj @@ -26,15 +26,15 @@ - + - + - + From a3f7a5f05dd4f0abbd2dbf11e7c99ec995cd11b4 Mon Sep 17 00:00:00 2001 From: Michael Mortensen Date: Wed, 11 Sep 2024 23:43:05 +0200 Subject: [PATCH 5/5] :arrow_up: bump docker test --- testenvironments.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testenvironments.json b/testenvironments.json index 682fcd417..b5827e2ef 100644 --- a/testenvironments.json +++ b/testenvironments.json @@ -9,7 +9,7 @@ { "name": "Docker-Ubuntu", "type": "docker", - "dockerImage": "gimlichael/ubuntu-testrunner:net6.0.425-net8.0.401-9.0.100-preview.7.24407.12" + "dockerImage": "gimlichael/ubuntu-testrunner:net6.0.425-net8.0.401-9.0.100-rc.1.24452.12" } ] }