diff --git a/src/Akka.Persistence.Sql.Tests.Common/Containers/MsSqliteContainer.cs b/src/Akka.Persistence.Sql.Tests.Common/Containers/MsSqliteContainer.cs index 368bc832..66822a6f 100644 --- a/src/Akka.Persistence.Sql.Tests.Common/Containers/MsSqliteContainer.cs +++ b/src/Akka.Persistence.Sql.Tests.Common/Containers/MsSqliteContainer.cs @@ -47,10 +47,11 @@ public async Task InitializeDbAsync() { GenerateDatabaseName(); + _heldConnection ??= new List(); var conn = new SqliteConnection(ConnectionString); await conn.OpenAsync(); - _heldConnection!.Add(conn); + _heldConnection.Add(conn); } public async Task DisposeAsync() diff --git a/src/Akka.Persistence.Sql.Tests.Common/Containers/SqliteContainer.cs b/src/Akka.Persistence.Sql.Tests.Common/Containers/SqliteContainer.cs index 364d13d5..9b36f999 100644 --- a/src/Akka.Persistence.Sql.Tests.Common/Containers/SqliteContainer.cs +++ b/src/Akka.Persistence.Sql.Tests.Common/Containers/SqliteContainer.cs @@ -46,10 +46,11 @@ public async Task InitializeDbAsync() { GenerateDatabaseName(); + _heldConnection ??= new List(); var conn = new SQLiteConnection(ConnectionString); await conn.OpenAsync(); - _heldConnection!.Add(conn); + _heldConnection.Add(conn); } public async Task DisposeAsync() diff --git a/src/Akka.Persistence.Sql.Tests/SqlDataOptionsEndToEndSpecBase.cs b/src/Akka.Persistence.Sql.Tests/SqlDataOptionsEndToEndSpecBase.cs index 1da9f185..68692ab9 100644 --- a/src/Akka.Persistence.Sql.Tests/SqlDataOptionsEndToEndSpecBase.cs +++ b/src/Akka.Persistence.Sql.Tests/SqlDataOptionsEndToEndSpecBase.cs @@ -45,6 +45,7 @@ private static Configuration.Config Config() => ConfigurationFactory.ParseStrin plugin = "akka.persistence.snapshot-store.sql" } } +akka.test.single-expect-default = 10s """) .WithFallback(SqlPersistence.DefaultConfiguration); @@ -89,7 +90,8 @@ public async Task InitializeAsync() public async Task DisposeAsync() { await Sys.Terminate(); - await _fixture.DisposeAsync(); + // Do NOT call _fixture.DisposeAsync() here - xUnit manages the collection fixture lifecycle. + // Disposing the shared fixture destroys in-memory databases for all other test classes in the collection. } /// diff --git a/src/Akka.Persistence.Sql.Tests/SqlEndToEndSpecBase.cs b/src/Akka.Persistence.Sql.Tests/SqlEndToEndSpecBase.cs index 521beced..8039e79e 100644 --- a/src/Akka.Persistence.Sql.Tests/SqlEndToEndSpecBase.cs +++ b/src/Akka.Persistence.Sql.Tests/SqlEndToEndSpecBase.cs @@ -57,6 +57,7 @@ class = "Akka.Persistence.Sql.Snapshot.SqlSnapshotStore, Akka.Persistence.Sql" } } } +akka.test.single-expect-default = 10s """; private const string GetAll = "getAll"; diff --git a/src/Akka.Persistence.Sql.Tests/Sqlite/SqliteEndToEndSpec.cs b/src/Akka.Persistence.Sql.Tests/Sqlite/SqliteEndToEndSpec.cs index dc84c731..eb3714c3 100644 --- a/src/Akka.Persistence.Sql.Tests/Sqlite/SqliteEndToEndSpec.cs +++ b/src/Akka.Persistence.Sql.Tests/Sqlite/SqliteEndToEndSpec.cs @@ -10,7 +10,7 @@ namespace Akka.Persistence.Sql.Tests.Sqlite { - [CollectionDefinition(nameof(SqlitePersistenceSpec), DisableParallelization = true)] + [Collection(nameof(SqlitePersistenceSpec))] public class SqliteEndToEndSpec: SqlEndToEndSpecBase { public SqliteEndToEndSpec(ITestOutputHelper output, SqliteContainer fixture) : base(output, fixture) { }