From 70f175ec1c10a46c1520ae56d354429dce9d43f6 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:05:04 +1000 Subject: [PATCH 01/14] Automatically fix NUnit2050 warning --- .../AsyncLocalSessionContextFixture.cs | 5 +---- .../ThreadStaticSessionContextFixture.cs | 5 +---- .../Criteria/Lambda/IntegrationFixture.cs | 2 +- .../Criteria/ProjectionsTest.cs | 2 +- .../Criteria/SelectModeTest/SelectModeTest.cs | 2 +- .../DialectTest/MsSql2005DialectFixture.cs | 6 +++--- .../DialectTest/MsSql2012DialectFixture.cs | 6 +++--- .../OracleDataClientDriverFixture.cs | 2 +- .../Extralazy/ExtraLazyFixture.cs | 19 +++++++++---------- src/NHibernate.Test/Futures/FutureFixture.cs | 2 +- .../Hql/Ast/BulkManipulation.cs | 2 +- .../NativeGuid/NativeGuidGeneratorFixture.cs | 2 +- src/NHibernate.Test/Linq/FunctionTests.cs | 8 ++++---- .../MappingTest/NonReflectiveBinderFixture.cs | 2 +- .../NHSpecificTest/NH1253/Fixture.cs | 2 +- .../NativeSqlCollectionLoaderFixture.cs | 4 ++-- .../NH2195/SQLiteMultiCriteriaTest.cs | 4 ++-- .../NH3023/DeadlockConnectionPoolIssueTest.cs | 8 +++----- .../NHSpecificTest/NH3850/MainFixture.cs | 7 +------ .../NHSpecificTest/NH3952/Fixture.cs | 11 +---------- .../NHSpecificTest/NH940/NH940Fixture.cs | 2 +- .../SqlConverterAndMultiQuery/Fixture.cs | 4 ++-- .../SqlCommandTest/SqlTokenizerFixture.cs | 13 ++++++------- .../DistributedSystemTransactionFixture.cs | 4 ++-- .../SystemTransactionFixture.cs | 8 +++----- .../SchemaValidateTableWithSchemaFixture.cs | 4 ++-- .../TypesTest/TypeFactoryFixture.cs | 2 +- 27 files changed, 56 insertions(+), 82 deletions(-) diff --git a/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs b/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs index 18e4fcec7da..eaf35c208a6 100644 --- a/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs +++ b/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs @@ -57,10 +57,7 @@ private void AssertCurrentSession(ISession session, string message) { Assert.That( Sfi.GetCurrentSession(), - Is.EqualTo(session), - "{0} {1} instead of {2}.", message, - Sfi.GetCurrentSession().GetSessionImplementation().SessionId, - session.GetSessionImplementation().SessionId); + Is.EqualTo(session), $"{message} {Sfi.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); } } } \ No newline at end of file diff --git a/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs b/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs index 5967e9bf626..33acac73440 100644 --- a/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs +++ b/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs @@ -78,10 +78,7 @@ private void AssertCurrentSession(ISessionFactory factory, ISession session, str { Assert.That( factory.GetCurrentSession(), - Is.EqualTo(session), - "{0} {1} instead of {2}.", message, - factory.GetCurrentSession().GetSessionImplementation().SessionId, - session.GetSessionImplementation().SessionId); + Is.EqualTo(session), $"{message} {factory.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); } } } \ No newline at end of file diff --git a/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs b/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs index dd23c4b91b4..17f5ae5a169 100644 --- a/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs +++ b/src/NHibernate.Test/Criteria/Lambda/IntegrationFixture.cs @@ -346,7 +346,7 @@ public void MultiCriteria() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); SetupPagingData(); diff --git a/src/NHibernate.Test/Criteria/ProjectionsTest.cs b/src/NHibernate.Test/Criteria/ProjectionsTest.cs index 0eb03b33a60..1e79dfd92ff 100644 --- a/src/NHibernate.Test/Criteria/ProjectionsTest.cs +++ b/src/NHibernate.Test/Criteria/ProjectionsTest.cs @@ -80,7 +80,7 @@ public void UsingSqlFunctions_Concat_WithCast() { if(Dialect is Oracle8iDialect) { - Assert.Ignore("Not supported by the active dialect:{0}.", Dialect); + Assert.Ignore($"Not supported by the active dialect:{Dialect}."); } if (TestDialect.HasBrokenTypeInferenceOnSelectedParameters) Assert.Ignore("Current dialect does not support this test"); diff --git a/src/NHibernate.Test/Criteria/SelectModeTest/SelectModeTest.cs b/src/NHibernate.Test/Criteria/SelectModeTest/SelectModeTest.cs index bcd00d7c9e5..652207aa15b 100644 --- a/src/NHibernate.Test/Criteria/SelectModeTest/SelectModeTest.cs +++ b/src/NHibernate.Test/Criteria/SelectModeTest/SelectModeTest.cs @@ -694,7 +694,7 @@ public void FetchModeEagerForEager() private void SkipFutureTestIfNotSupported() { if (Sfi.ConnectionProvider.Driver.SupportsMultipleQueries == false) - Assert.Ignore("Driver {0} does not support multi-queries", Sfi.ConnectionProvider.Driver.GetType().FullName); + Assert.Ignore($"Driver {Sfi.ConnectionProvider.Driver.GetType().FullName} does not support multi-queries"); } #region Test Setup diff --git a/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs b/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs index 3e5b162a61a..eaa2016adf7 100644 --- a/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs +++ b/src/NHibernate.Test/DialectTest/MsSql2005DialectFixture.cs @@ -357,13 +357,13 @@ private static void VerifyLimitStringForStoredProcedureCalls(string sql) { var d = new MsSql2005Dialect(); var limitSql = d.GetLimitString(new SqlString(sql), null, new SqlString("2")); - Assert.That(limitSql, Is.Null, "Limit only: {0}", sql); + Assert.That(limitSql, Is.Null, $"Limit only: {sql}"); limitSql = d.GetLimitString(new SqlString(sql), new SqlString("10"), null); - Assert.That(limitSql, Is.Null, "Offset only: {0}", sql); + Assert.That(limitSql, Is.Null, $"Offset only: {sql}"); limitSql = d.GetLimitString(new SqlString(sql), new SqlString("10"), new SqlString("2")); - Assert.That(limitSql, Is.Null, "Limit and Offset: {0}", sql); + Assert.That(limitSql, Is.Null, $"Limit and Offset: {sql}"); } [Test] diff --git a/src/NHibernate.Test/DialectTest/MsSql2012DialectFixture.cs b/src/NHibernate.Test/DialectTest/MsSql2012DialectFixture.cs index 04ebc9c638b..2f7ae070123 100644 --- a/src/NHibernate.Test/DialectTest/MsSql2012DialectFixture.cs +++ b/src/NHibernate.Test/DialectTest/MsSql2012DialectFixture.cs @@ -167,13 +167,13 @@ private static void VerifyLimitStringForStoredProcedureCalls(string sql) { var d = new MsSql2012Dialect(); var limitSql = d.GetLimitString(new SqlString(sql), null, new SqlString("2")); - Assert.That(limitSql, Is.Null, "Limit only: {0}", sql); + Assert.That(limitSql, Is.Null, $"Limit only: {sql}"); limitSql = d.GetLimitString(new SqlString(sql), new SqlString("10"), null); - Assert.That(limitSql, Is.Null, "Offset only: {0}", sql); + Assert.That(limitSql, Is.Null, $"Offset only: {sql}"); limitSql = d.GetLimitString(new SqlString(sql), new SqlString("10"), new SqlString("2")); - Assert.That(limitSql, Is.Null, "Limit and Offset: {0}", sql); + Assert.That(limitSql, Is.Null, $"Limit and Offset: {sql}"); } } } \ No newline at end of file diff --git a/src/NHibernate.Test/DriverTest/OracleDataClientDriverFixture.cs b/src/NHibernate.Test/DriverTest/OracleDataClientDriverFixture.cs index 93034e9dc3d..e673a18adec 100644 --- a/src/NHibernate.Test/DriverTest/OracleDataClientDriverFixture.cs +++ b/src/NHibernate.Test/DriverTest/OracleDataClientDriverFixture.cs @@ -121,7 +121,7 @@ private static OracleDataClientDriverBase GetDriver(bool managed, IDictionary(Func func, T arg1) diff --git a/src/NHibernate.Test/NHSpecificTest/NH940/NH940Fixture.cs b/src/NHibernate.Test/NHSpecificTest/NH940/NH940Fixture.cs index 28c088902b6..657c0bb738e 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH940/NH940Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH940/NH940Fixture.cs @@ -37,7 +37,7 @@ public void Bug() } catch (Exception e) { - Assert.Fail("Should have thrown MyException, thrown {0} instead", e); + Assert.Fail($"Should have thrown MyException, thrown {e} instead"); } } diff --git a/src/NHibernate.Test/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs index 7c170ebf0c6..d22b0d8fbf5 100644 --- a/src/NHibernate.Test/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs @@ -43,7 +43,7 @@ public void MultiHqlShouldThrowUserException() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); using (var s = OpenSession()) using (s.BeginTransaction()) @@ -85,7 +85,7 @@ public void MultiCriteriaShouldThrowUserException() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); using (var s = OpenSession()) using (s.BeginTransaction()) diff --git a/src/NHibernate.Test/SqlCommandTest/SqlTokenizerFixture.cs b/src/NHibernate.Test/SqlCommandTest/SqlTokenizerFixture.cs index 3cb38216fad..54332e78098 100644 --- a/src/NHibernate.Test/SqlCommandTest/SqlTokenizerFixture.cs +++ b/src/NHibernate.Test/SqlCommandTest/SqlTokenizerFixture.cs @@ -115,15 +115,14 @@ private static void VerifyTokenizer(string sql, params ExpectedToken[] expectedT { if (tokenIndex >= expectedTokens.Length) { - Assert.Fail("Tokenizer returns more than expected '{0}' tokens. \nSQL: {1}\nLast Token: {2}({3})", - expectedTokens.Length, sql, token.TokenType, token.Value); + Assert.Fail($"Tokenizer returns more than expected '{expectedTokens.Length}' tokens. \nSQL: {sql}\nLast Token: {token.TokenType}({token.Value})"); } var expectedToken = expectedTokens[tokenIndex]; - Assert.That(token.TokenType, Is.EqualTo(expectedToken.TokenType), "[Token #{0} in '{1}']TokenType", tokenIndex, sql); - Assert.That(token.Value, Is.EqualTo(expectedToken.Value), "[Token #{0} in {1}]Value", tokenIndex, sql); - Assert.That(token.SqlIndex, Is.EqualTo(sqlIndex), "[Token #{0} in {1}]SqlIndex", tokenIndex, sql); - Assert.That(token.Length, Is.EqualTo(expectedToken.Length), "[Token #{0} in {1}]Length", tokenIndex, sql); + Assert.That(token.TokenType, Is.EqualTo(expectedToken.TokenType), $"[Token #{tokenIndex} in '{sql}']TokenType"); + Assert.That(token.Value, Is.EqualTo(expectedToken.Value), $"[Token #{tokenIndex} in {sql}]Value"); + Assert.That(token.SqlIndex, Is.EqualTo(sqlIndex), $"[Token #{tokenIndex} in {sql}]SqlIndex"); + Assert.That(token.Length, Is.EqualTo(expectedToken.Length), $"[Token #{tokenIndex} in {sql}]Length"); tokenIndex++; sqlIndex += expectedToken.Length; @@ -131,7 +130,7 @@ private static void VerifyTokenizer(string sql, params ExpectedToken[] expectedT if (tokenIndex < expectedTokens.Length) { - Assert.Fail("Tokenizer returns less than expected '{0}' tokens.\nSQL: {1}", expectedTokens.Length, sql); + Assert.Fail($"Tokenizer returns less than expected '{expectedTokens.Length}' tokens.\nSQL: {sql}"); } } diff --git a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs index b7d931e0809..fd37b55351b 100644 --- a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs @@ -362,7 +362,7 @@ public void MultiThreadedTransaction() var errors = mtr.GetErrors(); if (errors.Length > 0) { - Assert.Fail("One or more thread failed, found {0} errors. First exception: {1}", errors.Length, errors[0]); + Assert.Fail($"One or more thread failed, found {errors.Length} errors. First exception: {errors[0]}"); } } @@ -542,7 +542,7 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn("Unexpected entity count: {0} instead of {1}. The transaction seems to have a delayed commit.", count, 1); + Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); } } diff --git a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs index 8503de97948..44cd8dd27d0 100644 --- a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs @@ -287,7 +287,7 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn("Unexpected entity count: {0} instead of {1}. The transaction seems to have a delayed commit.", count, 1); + Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); } } @@ -761,11 +761,9 @@ public void SupportsTransactionTimeout() Assert.That( _unhandledExceptions.Count, - Is.EqualTo(0), - "Unhandled exceptions have occurred: {0}", - string.Join(@" + Is.EqualTo(0), $"Unhandled exceptions have occurred: {string.Join(@" -", _unhandledExceptions)); +", _unhandledExceptions)}"); // Despite the Thread sleep and the count of entities to load, this test may get the timeout only for slightly // more than 10% of the attempts. diff --git a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs index 87afcd89625..29a30b11bf5 100644 --- a/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs +++ b/src/NHibernate.Test/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs @@ -53,7 +53,7 @@ protected override void CreateSchema() { // Unfortunateley Assert.Warn and Console.WriteLine at this place seems to be ignored in Rider // viewer. - Assert.Warn("Creating the schema failed, assuming it already exists. {0}", ex); + Assert.Warn($"Creating the schema failed, assuming it already exists. {ex}"); Console.WriteLine("Creating the schema failed, assuming it already exists."); Console.WriteLine(ex); } @@ -102,7 +102,7 @@ public void ShouldVerify() } catch (SchemaValidationException sve) { - Assert.Fail("Validation failed: {0}.\n{1}", StringHelper.CollectionToString(sve.ValidationErrors), sve); + Assert.Fail($"Validation failed: {StringHelper.CollectionToString(sve.ValidationErrors)}.\n{sve}"); } } } diff --git a/src/NHibernate.Test/TypesTest/TypeFactoryFixture.cs b/src/NHibernate.Test/TypesTest/TypeFactoryFixture.cs index 3efb4bbf5b5..a11d304c69a 100644 --- a/src/NHibernate.Test/TypesTest/TypeFactoryFixture.cs +++ b/src/NHibernate.Test/TypesTest/TypeFactoryFixture.cs @@ -87,7 +87,7 @@ public void MultiThreadAccess() var errors = mtr.GetErrors(); if (errors.Length > 0) { - Assert.Fail("One or more thread failed, found {0} errors. First exception: {1}", errors.Length, errors[0]); + Assert.Fail($"One or more thread failed, found {errors.Length} errors. First exception: {errors[0]}"); } } From 4733abac80b73e25a5efa28a1a8be00938c0c314 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:06:00 +1000 Subject: [PATCH 02/14] Remove configuration for NUnit2050 from editorconfig --- .editorconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/.editorconfig b/.editorconfig index f0af598780e..15901d7cb25 100644 --- a/.editorconfig +++ b/.editorconfig @@ -25,8 +25,6 @@ dotnet_diagnostic.NUnit2006.severity = suggestion dotnet_diagnostic.NUnit2015.severity = suggestion dotnet_diagnostic.NUnit2031.severity = suggestion dotnet_diagnostic.NUnit2049.severity = suggestion -# NUnit 4 no longer supports string.Format specification for Assert -dotnet_diagnostic.NUnit2050.severity = suggestion # The SameAs constraint always fails on value types as the actual and the expected value cannot be the same reference dotnet_diagnostic.NUnit2040.severity = suggestion From a6cd1cde04f713e3cae4dd2cc6fa07a75a22a480 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:18:13 +1000 Subject: [PATCH 03/14] Manually fix remaining NUnit2050 warnings --- src/NHibernate.Test/NHAssert.cs | 24 +++++++++---------- src/NHibernate.Test/ProxyTest/PeVerifier.cs | 6 ++++- .../TypesTest/SerializableTypesFixture.cs | 2 +- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/NHibernate.Test/NHAssert.cs b/src/NHibernate.Test/NHAssert.cs index 9eb04894774..72af6ab17ff 100644 --- a/src/NHibernate.Test/NHAssert.cs +++ b/src/NHibernate.Test/NHAssert.cs @@ -19,12 +19,12 @@ public static class NHAssert public static void HaveSerializableAttribute(System.Type clazz) { - HaveSerializableAttribute(clazz, null, null); + HaveSerializableAttribute(clazz, null); } - public static void HaveSerializableAttribute(System.Type clazz, string message, params object[] args) + public static void HaveSerializableAttribute(System.Type clazz, string message) { - Assert.That(clazz, Has.Attribute(), message, args); + Assert.That(clazz, Has.Attribute(), message); } public static void InheritedAreMarkedSerializable(System.Type clazz) @@ -54,15 +54,15 @@ public static void InheritedAreMarkedSerializable(System.Type clazz, string mess public static void IsSerializable(object obj) { - IsSerializable(obj, null, null); + IsSerializable(obj, null); } - public static void IsSerializable(object obj, string message, params object[] args) + public static void IsSerializable(object obj, string message) { #if NETFX - Assert.That(obj, Is.BinarySerializable, message, args); + Assert.That(obj, Is.BinarySerializable, message); #else - if (obj == null) throw new ArgumentNullException(nameof(args)); + if (obj == null) throw new ArgumentNullException(nameof(obj)); var formatter = new BinaryFormatter { SurrogateSelector = new SerializationHelper.SurrogateSelector() @@ -83,19 +83,19 @@ public static void IsSerializable(object obj, string message, params object[] ar } } - Assert.That(isSuccess, message, args); + Assert.That(isSuccess, message); #endif } public static void IsXmlSerializable(object obj) { - IsXmlSerializable(obj, null, null); + IsXmlSerializable(obj, null); } - public static void IsXmlSerializable(object obj, string message, params object[] args) + public static void IsXmlSerializable(object obj, string message) { #if NETFX - Assert.That(obj, Is.XmlSerializable, message, args); + Assert.That(obj, Is.XmlSerializable, message); #else if (obj == null) throw new ArgumentNullException(nameof(obj)); var isSuccess = false; @@ -116,7 +116,7 @@ public static void IsXmlSerializable(object obj, string message, params object[] } } - Assert.That(isSuccess, message, args); + Assert.That(isSuccess, message); #endif } diff --git a/src/NHibernate.Test/ProxyTest/PeVerifier.cs b/src/NHibernate.Test/ProxyTest/PeVerifier.cs index f5f4d027221..08db481d283 100644 --- a/src/NHibernate.Test/ProxyTest/PeVerifier.cs +++ b/src/NHibernate.Test/ProxyTest/PeVerifier.cs @@ -62,7 +62,11 @@ public void AssertIsValid() var result = process.ExitCode + " code "; if (process.ExitCode != 0) - Assert.Fail("PeVerify reported error(s): " + Environment.NewLine + processOutput, result); + Assert.Fail( + $@"PeVerify reported error(s): +{processOutput} + +{result}"); } } } diff --git a/src/NHibernate.Test/TypesTest/SerializableTypesFixture.cs b/src/NHibernate.Test/TypesTest/SerializableTypesFixture.cs index 6c6e6d72cf0..f1bca0035a6 100644 --- a/src/NHibernate.Test/TypesTest/SerializableTypesFixture.cs +++ b/src/NHibernate.Test/TypesTest/SerializableTypesFixture.cs @@ -33,7 +33,7 @@ public void EachEmbeddedBasicTypeIsSerializable() foreach (var fieldInfo in builtInCustomTypes) { var ntp = (IType) fieldInfo.GetValue(null); - NHAssert.IsSerializable(ntp, fieldInfo.Name + " is not serializable"); + NHAssert.IsSerializable(ntp, $"{fieldInfo.Name} is not serializable"); } if (typeof(System.Type).IsSerializable) From 1f499038f113b6a1e4ab572c83fc95dc43666157 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Apr 2024 07:23:40 +0000 Subject: [PATCH 04/14] Generate async files --- .../Criteria/Lambda/IntegrationFixture.cs | 2 +- .../Async/Criteria/ProjectionsTest.cs | 2 +- .../Criteria/SelectModeTest/SelectModeTest.cs | 2 +- .../Async/Extralazy/ExtraLazyFixture.cs | 19 +++---- .../Async/Hql/Ast/BulkManipulation.cs | 2 +- .../NativeGuid/NativeGuidGeneratorFixture.cs | 2 +- .../Async/Linq/FunctionTests.cs | 8 +-- .../Async/NHSpecificTest/NH1253/Fixture.cs | 2 +- .../NativeSqlCollectionLoaderFixture.cs | 4 +- .../NH2195/SQLiteMultiCriteriaTest.cs | 4 +- .../NH3023/DeadlockConnectionPoolIssueTest.cs | 57 +------------------ .../NHSpecificTest/NH940/NH940Fixture.cs | 2 +- .../SqlConverterAndMultiQuery/Fixture.cs | 4 +- .../DistributedSystemTransactionFixture.cs | 2 +- .../SystemTransactionFixture.cs | 8 +-- .../SchemaValidateTableWithSchemaFixture.cs | 4 +- 16 files changed, 35 insertions(+), 89 deletions(-) diff --git a/src/NHibernate.Test/Async/Criteria/Lambda/IntegrationFixture.cs b/src/NHibernate.Test/Async/Criteria/Lambda/IntegrationFixture.cs index df178490384..c9a7f52a39c 100644 --- a/src/NHibernate.Test/Async/Criteria/Lambda/IntegrationFixture.cs +++ b/src/NHibernate.Test/Async/Criteria/Lambda/IntegrationFixture.cs @@ -358,7 +358,7 @@ public async Task MultiCriteriaAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); await (SetupPagingDataAsync()); diff --git a/src/NHibernate.Test/Async/Criteria/ProjectionsTest.cs b/src/NHibernate.Test/Async/Criteria/ProjectionsTest.cs index aca0e5d3660..5c4e82bc1fc 100644 --- a/src/NHibernate.Test/Async/Criteria/ProjectionsTest.cs +++ b/src/NHibernate.Test/Async/Criteria/ProjectionsTest.cs @@ -91,7 +91,7 @@ public async Task UsingSqlFunctions_Concat_WithCastAsync() { if(Dialect is Oracle8iDialect) { - Assert.Ignore("Not supported by the active dialect:{0}.", Dialect); + Assert.Ignore($"Not supported by the active dialect:{Dialect}."); } if (TestDialect.HasBrokenTypeInferenceOnSelectedParameters) Assert.Ignore("Current dialect does not support this test"); diff --git a/src/NHibernate.Test/Async/Criteria/SelectModeTest/SelectModeTest.cs b/src/NHibernate.Test/Async/Criteria/SelectModeTest/SelectModeTest.cs index a54bec846f6..072a983f142 100644 --- a/src/NHibernate.Test/Async/Criteria/SelectModeTest/SelectModeTest.cs +++ b/src/NHibernate.Test/Async/Criteria/SelectModeTest/SelectModeTest.cs @@ -663,7 +663,7 @@ public async Task FetchModeEagerForEagerAsync() private void SkipFutureTestIfNotSupported() { if (Sfi.ConnectionProvider.Driver.SupportsMultipleQueries == false) - Assert.Ignore("Driver {0} does not support multi-queries", Sfi.ConnectionProvider.Driver.GetType().FullName); + Assert.Ignore($"Driver {Sfi.ConnectionProvider.Driver.GetType().FullName} does not support multi-queries"); } #region Test Setup diff --git a/src/NHibernate.Test/Async/Extralazy/ExtraLazyFixture.cs b/src/NHibernate.Test/Async/Extralazy/ExtraLazyFixture.cs index 351cb7daa3c..113983227d3 100644 --- a/src/NHibernate.Test/Async/Extralazy/ExtraLazyFixture.cs +++ b/src/NHibernate.Test/Async/Extralazy/ExtraLazyFixture.cs @@ -114,7 +114,7 @@ public async Task ListAddAsync(bool initialize) // Have to skip unloaded (non-queued indeed) elements to avoid triggering existence queries on them. foreach (var item in addedItems.Skip(5)) { - Assert.That(gavin.Companies.Contains(item), Is.True, "Company '{0}' existence", item.Name); + Assert.That(gavin.Companies.Contains(item), Is.True, $"Company '{item.Name}' existence"); } Assert.That(Sfi.Statistics.FlushCount, Is.EqualTo(0), "Flushes count after checking existence of non-flushed"); @@ -322,7 +322,7 @@ public async Task ListInsertAsync(bool initialize) // Have to skip unloaded (non-queued indeed) elements to avoid triggering existence queries on them. foreach (var item in addedItems.Skip(5)) { - Assert.That(gavin.Companies.Contains(item), Is.True, "Company '{0}' existence", item.Name); + Assert.That(gavin.Companies.Contains(item), Is.True, $"Company '{item.Name}' existence"); } Assert.That(Sfi.Statistics.FlushCount, Is.EqualTo(0), "Flushes count after existence check"); @@ -636,7 +636,7 @@ public async Task ListGetSetAsync(bool initialize) Sfi.Statistics.Clear(); for (var i = 0; i < 10; i++) { - Assert.That(gavin.Companies[i], Is.EqualTo(addedItems[i]), "Comparing added company at index {0}", i); + Assert.That(gavin.Companies[i], Is.EqualTo(addedItems[i]), $"Comparing added company at index {i}"); } Assert.That(Sfi.Statistics.FlushCount, Is.EqualTo(0), "Flushes count after adding comparing"); @@ -676,7 +676,7 @@ public async Task ListGetSetAsync(bool initialize) Sfi.Statistics.Clear(); for (var i = 0; i < 10; i++) { - Assert.That(gavin.Companies[i].ListIndex, Is.EqualTo(finalIndexOrder[i]), "Comparing company ListIndex at index {0}", i); + Assert.That(gavin.Companies[i].ListIndex, Is.EqualTo(finalIndexOrder[i]), $"Comparing company ListIndex at index {i}"); } Assert.That(Sfi.Statistics.FlushCount, Is.EqualTo(0), "Flushes count after comparing"); @@ -798,7 +798,7 @@ public async Task ListFlushAsync(bool initialize) { for (var i = 15; i < 20; i++) { - Assert.That(gavin.Companies.Remove(addedItems[i]), Is.True, "Removing transient company at index {0}", i); + Assert.That(gavin.Companies.Remove(addedItems[i]), Is.True, $"Removing transient company at index {i}"); } Assert.That(FindAllOccurrences(sqlLog.GetWholeLog(), "INSERT \n INTO"), Is.EqualTo(10), "Statements count after removing"); @@ -909,7 +909,7 @@ public async Task ListFlushAsync(bool initialize) for (var i = 0; i < gavin.Companies.Count; i++) { - Assert.That(gavin.Companies[i].ListIndex, Is.EqualTo(i), "Comparing company ListIndex at index {0}", i); + Assert.That(gavin.Companies[i].ListIndex, Is.EqualTo(i), $"Comparing company ListIndex at index {i}"); } if (initialize) @@ -1049,7 +1049,7 @@ public async Task ListClearAsync(bool initialize) Assert.That(collection.Count, Is.EqualTo(6), "Credit cards count after loading again Gavin"); for (var i = 0; i < 10; i++) { - Assert.That(collection.Contains(addedItems[i]), i < 6 ? Is.True : (IResolveConstraint) Is.False, "Checking existence for item at {0}", i); + Assert.That(collection.Contains(addedItems[i]), i < 6 ? Is.True : (IResolveConstraint) Is.False, $"Checking existence for item at {i}"); } Assert.That(NHibernateUtil.IsInitialized(collection), Is.False, "Credit cards initialization status after loading again"); @@ -1140,7 +1140,7 @@ public async Task ListIndexOperationsAsync(bool initialize) for (var i = 0; i < gavin.Companies.Count; i++) { - Assert.That(gavin.Companies[i].OriginalIndex, Is.EqualTo(finalIndexOrder[i]), "Comparing company index at {0}", i); + Assert.That(gavin.Companies[i].OriginalIndex, Is.EqualTo(finalIndexOrder[i]), $"Comparing company index at {i}"); } if (initialize) @@ -1882,8 +1882,7 @@ public async Task SetClearAsync(bool initialize) Assert.That(collection.Count, Is.EqualTo(6), "Permissions count after loading again Gavin"); for (var i = 0; i < 10; i++) { - Assert.That(collection.Contains(addedItems[i]), i < 6 ? Is.True : (IResolveConstraint) Is.False, - "Checking existence of added element at {0}", i); + Assert.That(collection.Contains(addedItems[i]), i < 6 ? Is.True : (IResolveConstraint) Is.False, $"Checking existence of added element at {i}"); } Assert.That(NHibernateUtil.IsInitialized(collection), Is.False, "Permissions initialization status after loading again"); diff --git a/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs b/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs index dbd820ee55f..09c57835ea0 100644 --- a/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs +++ b/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs @@ -884,7 +884,7 @@ public async Task SimpleDeleteOnAnimalAsync() { if (Dialect.HasSelfReferentialForeignKeyBug) { - Assert.Ignore("self referential FK bug", "HQL delete testing"); + Assert.Ignore($"self referential FK bug"); return; } diff --git a/src/NHibernate.Test/Async/IdGen/NativeGuid/NativeGuidGeneratorFixture.cs b/src/NHibernate.Test/Async/IdGen/NativeGuid/NativeGuidGeneratorFixture.cs index af898bcf8e6..62636575ef6 100644 --- a/src/NHibernate.Test/Async/IdGen/NativeGuid/NativeGuidGeneratorFixture.cs +++ b/src/NHibernate.Test/Async/IdGen/NativeGuid/NativeGuidGeneratorFixture.cs @@ -43,7 +43,7 @@ public async Task ReturnedValueIsGuidAsync() } catch (NotSupportedException) { - Assert.Ignore("This test does not apply to {0}", Dialect.Dialect.GetDialect()); + Assert.Ignore($"This test does not apply to {Dialect.Dialect.GetDialect()}"); } var gen = new NativeGuidGenerator(); diff --git a/src/NHibernate.Test/Async/Linq/FunctionTests.cs b/src/NHibernate.Test/Async/Linq/FunctionTests.cs index c39ff901df4..2a46df8e1e1 100644 --- a/src/NHibernate.Test/Async/Linq/FunctionTests.cs +++ b/src/NHibernate.Test/Async/Linq/FunctionTests.cs @@ -204,7 +204,7 @@ where lowerName.IndexOf('a') == 0 select lowerName; var result = await (query.ToListAsync()); - Assert.That(result, Is.EqualTo(expected), "Expected {0} but was {1}", string.Join("|", expected), string.Join("|", result)); + Assert.That(result, Is.EqualTo(expected), $"Expected {string.Join("|", expected)} but was {string.Join("|", result)}"); await (ObjectDumper.WriteAsync(query)); } @@ -220,7 +220,7 @@ where lowerName.IndexOf('a', 2) == -1 select lowerName; var result = await (query.ToListAsync()); - Assert.That(result, Is.EqualTo(expected), "Expected {0} but was {1}", string.Join("|", expected), string.Join("|", result)); + Assert.That(result, Is.EqualTo(expected), $"Expected {string.Join("|", expected)} but was {string.Join("|", result)}"); await (ObjectDumper.WriteAsync(query)); } @@ -236,7 +236,7 @@ where lowerName.IndexOf("an") == 0 select lowerName; var result = await (query.ToListAsync()); - Assert.That(result, Is.EqualTo(expected), "Expected {0} but was {1}", string.Join("|", expected), string.Join("|", result)); + Assert.That(result, Is.EqualTo(expected), $"Expected {string.Join("|", expected)} but was {string.Join("|", result)}"); await (ObjectDumper.WriteAsync(query)); } @@ -252,7 +252,7 @@ where lowerName.Contains("a") select lowerName.IndexOf("a", 1); var result = await (query.ToListAsync()); - Assert.That(result, Is.EqualTo(expected), "Expected {0} but was {1}", string.Join("|", expected), string.Join("|", result)); + Assert.That(result, Is.EqualTo(expected), $"Expected {string.Join("|", expected)} but was {string.Join("|", result)}"); await (ObjectDumper.WriteAsync(query)); } diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH1253/Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH1253/Fixture.cs index 20691ec53ea..aa36b45ef3d 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH1253/Fixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH1253/Fixture.cs @@ -85,7 +85,7 @@ public async Task MultiQuerySingleInListAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); using (var s = OpenSession()) using (var tx = s.BeginTransaction()) diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs index a98b448d4a9..8da2d232031 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs @@ -278,7 +278,7 @@ public async Task NativeScalarQueryWithUndefinedResultsetAsync() { if (!(Dialect is MsSql2000Dialect)) { - Assert.Ignore("This does not apply to {0}", Dialect); + Assert.Ignore($"This does not apply to {Dialect}"); } using (ISession session = OpenSession()) { @@ -301,7 +301,7 @@ public async Task NativeScalarQueryWithDefinedResultsetAsync() { if (!(Dialect is MsSql2000Dialect)) { - Assert.Ignore("This does not apply to {0}", Dialect); + Assert.Ignore($"This does not apply to {Dialect}"); } using (ISession session = OpenSession()) { diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH2195/SQLiteMultiCriteriaTest.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH2195/SQLiteMultiCriteriaTest.cs index 2d379ed23f5..8a1297d09e9 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH2195/SQLiteMultiCriteriaTest.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH2195/SQLiteMultiCriteriaTest.cs @@ -102,7 +102,7 @@ public async Task MultiCriteriaQueriesWithIntsShouldExecuteCorrectlyAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); // Test querying IntData using (ISession session = this.OpenSession()) @@ -131,7 +131,7 @@ public async Task MultiCriteriaQueriesWithStringsShouldExecuteCorrectlyAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); // Test querying StringData using (ISession session = this.OpenSession()) diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs index ad960e60d4c..8d392f7808b 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs @@ -124,7 +124,7 @@ public async Task ConnectionPoolCorruptionAfterDeadlockAsync(bool distributed, b // // ? This shouldn't happen // - Assert.Fail("Surprising exception when trying to force a deadlock: {0}", x); + Assert.Fail($"Surprising exception when trying to force a deadlock: {x}"); } _log.WarnFormat("Initial session seemingly not deadlocked at attempt {0}", tryCount); @@ -254,63 +254,12 @@ public async Task ConnectionPoolCorruptionAfterDeadlockAsync(bool distributed, b } } - Assert.Fail("{0}; {1} subsequent requests failed.", - missingDeadlock + Assert.Fail($"{(missingDeadlock ? "Deadlock not reported on initial request, and initial request failed" - : "Initial request failed", - subsequentFailedRequests); + : "Initial request failed")}; {subsequentFailedRequests} subsequent requests failed."); } while (tryCount < 3); // // I'll change this to while(true) sometimes so I don't have to keep running the test // } - - private static TransactionScope CreateDistributedTransactionScope() - { - var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); - // - // Forces promotion to distributed transaction - // - TransactionInterop.GetTransmitterPropagationToken(System.Transactions.Transaction.Current); - return scope; - } - - private void RunScript(string script) - { - var cxnString = GetConnectionString() + "; Pooling=No"; - // Disable connection pooling so this won't be hindered by - // problems encountered during the actual test - - string sql; - using (var reader = new StreamReader(GetType().Assembly.GetManifestResourceStream(GetType().Namespace + "." + script))) - { - sql = reader.ReadToEnd(); - } - - using (var cxn = new SqlConnection(cxnString)) - { - cxn.Open(); - - foreach (var batch in Regex.Split(sql, @"^go\s*$", RegexOptions.IgnoreCase | RegexOptions.Multiline) - .Where(b => !string.IsNullOrEmpty(b))) - { - using (var cmd = new System.Data.SqlClient.SqlCommand(batch, cxn)) - { - cmd.ExecuteNonQuery(); - } - } - } - } - - private string GetConnectionString() - { - return cfg.Properties["connection.connection_string"]; - } - } - - [TestFixture] - public class DeadlockConnectionPoolIssueWithoutConnectionFromPrepareAsync : DeadlockConnectionPoolIssueAsync - { - protected override bool UseConnectionOnSystemTransactionPrepare => false; } -} diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH940/NH940Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH940/NH940Fixture.cs index df98794f251..f4c4d9cc279 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH940/NH940Fixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH940/NH940Fixture.cs @@ -48,7 +48,7 @@ public async Task BugAsync() } catch (Exception e) { - Assert.Fail("Should have thrown MyException, thrown {0} instead", e); + Assert.Fail($"Should have thrown MyException, thrown {e} instead"); } } diff --git a/src/NHibernate.Test/Async/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs index 4e4c3d5c4bc..4268b4948ea 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/SqlConverterAndMultiQuery/Fixture.cs @@ -54,7 +54,7 @@ public void MultiHqlShouldThrowUserExceptionAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); using (var s = OpenSession()) using (s.BeginTransaction()) @@ -96,7 +96,7 @@ public void MultiCriteriaShouldThrowUserExceptionAsync() { var driver = Sfi.ConnectionProvider.Driver; if (!driver.SupportsMultipleQueries) - Assert.Ignore("Driver {0} does not support multi-queries", driver.GetType().FullName); + Assert.Ignore($"Driver {driver.GetType().FullName} does not support multi-queries"); using (var s = OpenSession()) using (s.BeginTransaction()) diff --git a/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs b/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs index 7973f10aa17..869ce132c79 100644 --- a/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs +++ b/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs @@ -531,7 +531,7 @@ public async Task CanUseSessionOutsideOfScopeAfterScopeAsync(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn("Unexpected entity count: {0} instead of {1}. The transaction seems to have a delayed commit.", count, 1); + Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); } } diff --git a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs index a87793c3d9b..0061e4666de 100644 --- a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs @@ -299,7 +299,7 @@ public async Task CanUseSessionOutsideOfScopeAfterScopeAsync(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn("Unexpected entity count: {0} instead of {1}. The transaction seems to have a delayed commit.", count, 1); + Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); } } @@ -643,11 +643,9 @@ public async Task SupportsTransactionTimeoutAsync() Assert.That( _unhandledExceptions.Count, - Is.EqualTo(0), - "Unhandled exceptions have occurred: {0}", - string.Join(@" + Is.EqualTo(0), $"Unhandled exceptions have occurred: {string.Join(@" -", _unhandledExceptions)); +", _unhandledExceptions)}"); // Despite the Thread sleep and the count of entities to load, this test may get the timeout only for slightly // more than 10% of the attempts. diff --git a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs index 3e719891bfe..3de1d4f3ea4 100644 --- a/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs +++ b/src/NHibernate.Test/Async/Tools/hbm2ddl/SchemaValidator/SchemaValidateTableWithSchemaFixture.cs @@ -64,7 +64,7 @@ protected override void CreateSchema() { // Unfortunateley Assert.Warn and Console.WriteLine at this place seems to be ignored in Rider // viewer. - Assert.Warn("Creating the schema failed, assuming it already exists. {0}", ex); + Assert.Warn($"Creating the schema failed, assuming it already exists. {ex}"); Console.WriteLine("Creating the schema failed, assuming it already exists."); Console.WriteLine(ex); } @@ -113,7 +113,7 @@ public async Task ShouldVerifyAsync() } catch (SchemaValidationException sve) { - Assert.Fail("Validation failed: {0}.\n{1}", StringHelper.CollectionToString(sve.ValidationErrors), sve); + Assert.Fail($"Validation failed: {StringHelper.CollectionToString(sve.ValidationErrors)}.\n{sve}"); } } } From fc04952f8c2e6f3944f900e97737465830207455 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:32:13 +1000 Subject: [PATCH 05/14] Manually format in some cases --- .../ConnectionTest/AsyncLocalSessionContextFixture.cs | 5 +++-- .../ThreadStaticSessionContextFixture.cs | 5 +++-- .../NH3023/DeadlockConnectionPoolIssueTest.cs | 8 +++++--- .../NHSpecificTest/NH3850/MainFixture.cs | 7 ++++++- src/NHibernate.Test/NHSpecificTest/NH3952/Fixture.cs | 11 +++++++++-- .../SystemTransactions/SystemTransactionFixture.cs | 3 ++- 6 files changed, 28 insertions(+), 11 deletions(-) diff --git a/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs b/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs index eaf35c208a6..f39f344ce62 100644 --- a/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs +++ b/src/NHibernate.Test/ConnectionTest/AsyncLocalSessionContextFixture.cs @@ -57,7 +57,8 @@ private void AssertCurrentSession(ISession session, string message) { Assert.That( Sfi.GetCurrentSession(), - Is.EqualTo(session), $"{message} {Sfi.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); + Is.EqualTo(session), + $"{message} {Sfi.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); } } -} \ No newline at end of file +} diff --git a/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs b/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs index 33acac73440..c2cad0ea0ef 100644 --- a/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs +++ b/src/NHibernate.Test/ConnectionTest/ThreadStaticSessionContextFixture.cs @@ -78,7 +78,8 @@ private void AssertCurrentSession(ISessionFactory factory, ISession session, str { Assert.That( factory.GetCurrentSession(), - Is.EqualTo(session), $"{message} {factory.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); + Is.EqualTo(session), + $"{message} {factory.GetCurrentSession().GetSessionImplementation().SessionId} instead of {session.GetSessionImplementation().SessionId}."); } } -} \ No newline at end of file +} diff --git a/src/NHibernate.Test/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs b/src/NHibernate.Test/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs index b0d7723336e..47e0171160f 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs @@ -243,9 +243,11 @@ public void ConnectionPoolCorruptionAfterDeadlock(bool distributed, bool dispose } } - Assert.Fail($"{(missingDeadlock - ? "Deadlock not reported on initial request, and initial request failed" - : "Initial request failed")}; {subsequentFailedRequests} subsequent requests failed."); + Assert.Fail( + missingDeadlock + ? $"Deadlock not reported on initial request, and initial request failed; {subsequentFailedRequests} subsequent requests failed." + : $"Initial request failed; {subsequentFailedRequests} subsequent requests failed."); + } while (tryCount < 3); // // I'll change this to while(true) sometimes so I don't have to keep running the test diff --git a/src/NHibernate.Test/NHSpecificTest/NH3850/MainFixture.cs b/src/NHibernate.Test/NHSpecificTest/NH3850/MainFixture.cs index d554ba209ac..41562a8e13a 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH3850/MainFixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH3850/MainFixture.cs @@ -1430,7 +1430,12 @@ public void OverloadReflectionBluntPerfCompare() } swEnHlp.Stop(); - Assert.Pass($"Blunt perf timings:\r\nDirect reflection: {swNoSameParamsCheck.Elapsed}\r\nCurrent impl, same overload: {swCurrentChoiceSameType.Elapsed}\r\nCurrent impl, other overload: {swCurrentChoice.Elapsed}\r\nEnumerableHelper.GetMethod(non generic overload): {swEnHlp.Elapsed}"); + Assert.Pass( + $@"Blunt perf timings: +Direct reflection: {swNoSameParamsCheck.Elapsed} +Current impl, same overload: {swCurrentChoiceSameType.Elapsed} +Current impl, other overload: {swCurrentChoice.Elapsed} +EnumerableHelper.GetMethod(non generic overload): {swEnHlp.Elapsed}"); } } } diff --git a/src/NHibernate.Test/NHSpecificTest/NH3952/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/NH3952/Fixture.cs index 1c469fbb503..0eca4c718e1 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH3952/Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH3952/Fixture.cs @@ -160,7 +160,14 @@ public void ReflectionBluntPerfCompare() } swEnHlp.Stop(); - Assert.Pass($"Blunt perf timings:\r\nCached method: {swCached.Elapsed}\r\nCached method definition + make gen: {swCachedDef.Elapsed}\r\nHazzik GetMethod: {swRefl2.Elapsed}\r\nHazzik GetMethodDefinition + make gen: {swRefl2Def.Elapsed}\r\nReflectHelper.GetMethod: {swRefl.Elapsed}\r\nReflectHelper.GetMethodDefinition + make gen: {swReflDef.Elapsed}\r\nEnumerableHelper.GetMethod(generic overload): {swEnHlp.Elapsed}"); + Assert.Pass($@"Blunt perf timings: +Cached method: {swCached.Elapsed} +Cached method definition + make gen: {swCachedDef.Elapsed} +Hazzik GetMethod: {swRefl2.Elapsed} +Hazzik GetMethodDefinition + make gen: {swRefl2Def.Elapsed} +ReflectHelper.GetMethod: {swRefl.Elapsed} +ReflectHelper.GetMethodDefinition + make gen: {swReflDef.Elapsed} +EnumerableHelper.GetMethod(generic overload): {swEnHlp.Elapsed}"); } public static MethodInfo GetMethod2(Func func, T arg1) @@ -174,4 +181,4 @@ public static MethodInfo GetMethodDefinition2(Func func, return method.IsGenericMethod ? method.GetGenericMethodDefinition() : method; } } -} \ No newline at end of file +} diff --git a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs index 44cd8dd27d0..efc46c4c9f2 100644 --- a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs @@ -761,7 +761,8 @@ public void SupportsTransactionTimeout() Assert.That( _unhandledExceptions.Count, - Is.EqualTo(0), $"Unhandled exceptions have occurred: {string.Join(@" + Is.EqualTo(0), + $"Unhandled exceptions have occurred: {string.Join(@" ", _unhandledExceptions)}"); From a1b61cc46cde569ba43be670c40d88112c8439a8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Apr 2024 07:34:52 +0000 Subject: [PATCH 06/14] Generate async files --- .../NH3023/DeadlockConnectionPoolIssueTest.cs | 57 ++++++++++++++++++- .../Async/NHSpecificTest/NH3952/Fixture.cs | 2 +- .../SystemTransactionFixture.cs | 3 +- 3 files changed, 57 insertions(+), 5 deletions(-) diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs index 8d392f7808b..2cb7e05afdb 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH3023/DeadlockConnectionPoolIssueTest.cs @@ -254,12 +254,63 @@ public async Task ConnectionPoolCorruptionAfterDeadlockAsync(bool distributed, b } } - Assert.Fail($"{(missingDeadlock - ? "Deadlock not reported on initial request, and initial request failed" - : "Initial request failed")}; {subsequentFailedRequests} subsequent requests failed."); + Assert.Fail( + missingDeadlock + ? $"Deadlock not reported on initial request, and initial request failed; {subsequentFailedRequests} subsequent requests failed." + : $"Initial request failed; {subsequentFailedRequests} subsequent requests failed."); + } while (tryCount < 3); // // I'll change this to while(true) sometimes so I don't have to keep running the test // } + + private static TransactionScope CreateDistributedTransactionScope() + { + var scope = new TransactionScope(TransactionScopeAsyncFlowOption.Enabled); + // + // Forces promotion to distributed transaction + // + TransactionInterop.GetTransmitterPropagationToken(System.Transactions.Transaction.Current); + return scope; + } + + private void RunScript(string script) + { + var cxnString = GetConnectionString() + "; Pooling=No"; + // Disable connection pooling so this won't be hindered by + // problems encountered during the actual test + + string sql; + using (var reader = new StreamReader(GetType().Assembly.GetManifestResourceStream(GetType().Namespace + "." + script))) + { + sql = reader.ReadToEnd(); + } + + using (var cxn = new SqlConnection(cxnString)) + { + cxn.Open(); + + foreach (var batch in Regex.Split(sql, @"^go\s*$", RegexOptions.IgnoreCase | RegexOptions.Multiline) + .Where(b => !string.IsNullOrEmpty(b))) + { + using (var cmd = new System.Data.SqlClient.SqlCommand(batch, cxn)) + { + cmd.ExecuteNonQuery(); + } + } + } + } + + private string GetConnectionString() + { + return cfg.Properties["connection.connection_string"]; + } + } + + [TestFixture] + public class DeadlockConnectionPoolIssueWithoutConnectionFromPrepareAsync : DeadlockConnectionPoolIssueAsync + { + protected override bool UseConnectionOnSystemTransactionPrepare => false; } +} diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH3952/Fixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH3952/Fixture.cs index c074a9df506..c782d087a29 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH3952/Fixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH3952/Fixture.cs @@ -106,4 +106,4 @@ public static MethodInfo GetMethodDefinition2(Func func, return method.IsGenericMethod ? method.GetGenericMethodDefinition() : method; } } -} \ No newline at end of file +} diff --git a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs index 0061e4666de..6cab243b696 100644 --- a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs @@ -643,7 +643,8 @@ public async Task SupportsTransactionTimeoutAsync() Assert.That( _unhandledExceptions.Count, - Is.EqualTo(0), $"Unhandled exceptions have occurred: {string.Join(@" + Is.EqualTo(0), + $"Unhandled exceptions have occurred: {string.Join(@" ", _unhandledExceptions)}"); From ca7aa5cfd095d7d57bf1628bd01839e69879b667 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:34:52 +1000 Subject: [PATCH 07/14] Fix erroneous conversion --- src/NHibernate.Test/Hql/Ast/BulkManipulation.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs b/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs index ea35682f161..ff1e0a98299 100644 --- a/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs +++ b/src/NHibernate.Test/Hql/Ast/BulkManipulation.cs @@ -884,7 +884,7 @@ public void SimpleDeleteOnAnimal() { if (Dialect.HasSelfReferentialForeignKeyBug) { - Assert.Ignore($"self referential FK bug"); + Assert.Ignore("self referential FK bug - HQL delete testing"); return; } From 65d0fa55128d92f1b583c4a3a8d52e27c682db46 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:39:27 +1000 Subject: [PATCH 08/14] Fix some confusing cases --- .../SystemTransactions/DistributedSystemTransactionFixture.cs | 2 +- .../SystemTransactions/SystemTransactionFixture.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs index fd37b55351b..6c880198103 100644 --- a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs @@ -542,7 +542,7 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of 1. The transaction seems to have a delayed commit."); } } diff --git a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs index efc46c4c9f2..8f012fe19d8 100644 --- a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs @@ -287,7 +287,7 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) if (count != 1) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of 1. The transaction seems to have a delayed commit."); } } From deb91ceb328a404901cc102c3901c843fa2d765e Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 17:42:06 +1000 Subject: [PATCH 09/14] Re-fix some confusing cases --- .../DistributedSystemTransactionFixture.cs | 5 +++-- .../SystemTransactions/SystemTransactionFixture.cs | 5 +++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs index 6c880198103..c16175432c9 100644 --- a/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/DistributedSystemTransactionFixture.cs @@ -539,10 +539,11 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) } var count = 0; Assert.DoesNotThrow(() => count = s.Query().Count(), "Failed using the session after scope."); - if (count != 1) + const int expectedCount = 1; + if (count != expectedCount) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of 1. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of {expectedCount}. The transaction seems to have a delayed commit."); } } diff --git a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs index 8f012fe19d8..1a42ae71e19 100644 --- a/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/SystemTransactions/SystemTransactionFixture.cs @@ -284,10 +284,11 @@ public void CanUseSessionOutsideOfScopeAfterScope(bool explicitFlush) } var count = 0; Assert.DoesNotThrow(() => count = s.Query().Count(), "Failed using the session after scope."); - if (count != 1) + const int expectedCount = 1; + if (count != expectedCount) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of 1. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of {expectedCount}. The transaction seems to have a delayed commit."); } } From 1e9fb964487a454905c8c93796d0a292424afeb7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Apr 2024 07:44:13 +0000 Subject: [PATCH 10/14] Generate async files --- src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs | 2 +- .../DistributedSystemTransactionFixture.cs | 5 +++-- .../Async/SystemTransactions/SystemTransactionFixture.cs | 5 +++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs b/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs index 09c57835ea0..b6a3f3c2bea 100644 --- a/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs +++ b/src/NHibernate.Test/Async/Hql/Ast/BulkManipulation.cs @@ -884,7 +884,7 @@ public async Task SimpleDeleteOnAnimalAsync() { if (Dialect.HasSelfReferentialForeignKeyBug) { - Assert.Ignore($"self referential FK bug"); + Assert.Ignore("self referential FK bug - HQL delete testing"); return; } diff --git a/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs b/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs index 869ce132c79..772522d5131 100644 --- a/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs +++ b/src/NHibernate.Test/Async/SystemTransactions/DistributedSystemTransactionFixture.cs @@ -528,10 +528,11 @@ public async Task CanUseSessionOutsideOfScopeAfterScopeAsync(bool explicitFlush) } var count = 0; Assert.DoesNotThrowAsync(async () => count = await (s.Query().CountAsync()), "Failed using the session after scope."); - if (count != 1) + const int expectedCount = 1; + if (count != expectedCount) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of {expectedCount}. The transaction seems to have a delayed commit."); } } diff --git a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs index 6cab243b696..a234b0e178f 100644 --- a/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs +++ b/src/NHibernate.Test/Async/SystemTransactions/SystemTransactionFixture.cs @@ -296,10 +296,11 @@ public async Task CanUseSessionOutsideOfScopeAfterScopeAsync(bool explicitFlush) } var count = 0; Assert.DoesNotThrowAsync(async () => count = await (s.Query().CountAsync()), "Failed using the session after scope."); - if (count != 1) + const int expectedCount = 1; + if (count != expectedCount) // We are not testing that here, so just issue a warning. Do not use DodgeTransactionCompletionDelayIfRequired // before previous assert. We want to ascertain the session is usable in any cases. - Assert.Warn($"Unexpected entity count: {count} instead of {1}. The transaction seems to have a delayed commit."); + Assert.Warn($"Unexpected entity count: {count} instead of {expectedCount}. The transaction seems to have a delayed commit."); } } From 3a030b2f7f1467692b307e8a4dd0ad0e35df1296 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 22:16:56 +1000 Subject: [PATCH 11/14] Fix NUnit2050 for Assume --- .../NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs b/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs index d1da0d773f4..035eae69e36 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs @@ -247,7 +247,7 @@ public void NativeUpdateQueryWithoutResults() [Test] public void NativeScalarQueryWithoutResults() { - Assume.That(Dialect, Is.InstanceOf(), "This does not apply to {0}", Dialect); + Assume.That(Dialect, Is.InstanceOf(), $"This does not apply to {Dialect}"); Assume.That(WithQueryCache, Is.False, "This test does not use a cacheable query."); using (ISession session = OpenSession()) { From cdeac117a69a3f1b62da5dd745271e51e49fe854 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Apr 2024 12:21:52 +0000 Subject: [PATCH 12/14] Generate async files --- .../NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs index 8da2d232031..328e4feccbc 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs @@ -259,7 +259,7 @@ public async Task NativeUpdateQueryWithoutResultsAsync() [Test] public async Task NativeScalarQueryWithoutResultsAsync() { - Assume.That(Dialect, Is.InstanceOf(), "This does not apply to {0}", Dialect); + Assume.That(Dialect, Is.InstanceOf(), $"This does not apply to {Dialect}"); Assume.That(WithQueryCache, Is.False, "This test does not use a cacheable query."); using (ISession session = OpenSession()) { From 6756a51639b3fd821d554d0107e70ddf98e0ff01 Mon Sep 17 00:00:00 2001 From: Alex Zaytsev Date: Sun, 7 Apr 2024 22:25:12 +1000 Subject: [PATCH 13/14] Fix NUnit2050 for Assume --- .../NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs b/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs index 035eae69e36..fd7fa20ce5f 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs @@ -232,7 +232,7 @@ private void Save(TArea area) where TArea : Area [Test] public void NativeUpdateQueryWithoutResults() { - Assume.That(Dialect, Is.InstanceOf(), "This does not apply to {0}", Dialect); + Assume.That(Dialect, Is.InstanceOf(), $"This does not apply to {Dialect}"); Assume.That(WithQueryCache, Is.False, "This test does not use a cacheable query."); using (ISession session = OpenSession()) { From 4781ff6be0560c96920c9af3a1a91d5ab3e3f706 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Sun, 7 Apr 2024 12:28:35 +0000 Subject: [PATCH 14/14] Generate async files --- .../NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs index 328e4feccbc..4687e62be28 100644 --- a/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs +++ b/src/NHibernate.Test/Async/NHSpecificTest/NH1612/NativeSqlCollectionLoaderFixture.cs @@ -244,7 +244,7 @@ public async Task LoadEntityCollectionWithCustomLoaderAsync() [Test] public async Task NativeUpdateQueryWithoutResultsAsync() { - Assume.That(Dialect, Is.InstanceOf(), "This does not apply to {0}", Dialect); + Assume.That(Dialect, Is.InstanceOf(), $"This does not apply to {Dialect}"); Assume.That(WithQueryCache, Is.False, "This test does not use a cacheable query."); using (ISession session = OpenSession()) {