diff --git a/src/NHibernate.Test/NHSpecificTest/NH2192/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/NH2192/Fixture.cs index df91eef3f66..b0a895a0b63 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH2192/Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH2192/Fixture.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Threading; +using System.Threading.Tasks; using NUnit.Framework; namespace NHibernate.Test.NHSpecificTest.NH2192 @@ -73,7 +74,9 @@ public void HqlIsThreadsafe_UsingThreads() threads.ForEach(t => t.Join()); if (exceptions.Count > 0) + { throw exceptions[0]; + } results.ForEach(r => Assert.That(r, Is.EqualTo(2))); } @@ -83,25 +86,29 @@ public void HqlIsThreadsafe_UsingPool() { List exceptions = new List(); Func result = FetchRowResults; - List results = new List(); + List> tasks = new List>(); - for (int i=0; i<_threadCount; i++) - results.Add(result.BeginInvoke(null, null)); + for (int i = 0; i < _threadCount; i++) + { + tasks.Add(Task.Run(result)); + } - results.ForEach(r => + tasks.ForEach(r => + { + try { - try - { - Assert.That(result.EndInvoke(r), Is.EqualTo(2)); - } - catch (Exception e) - { - exceptions.Add(e); - } - }); + Assert.That(r.Result, Is.EqualTo(2)); + } + catch (Exception e) + { + exceptions.Add(e); + } + }); if (exceptions.Count > 0) + { throw exceptions[0]; + } } private int FetchRowResults() diff --git a/src/NHibernate.Test/NHSpecificTest/NH3050/Fixture.cs b/src/NHibernate.Test/NHSpecificTest/NH3050/Fixture.cs index 8b315fe753f..70415b79ff1 100644 --- a/src/NHibernate.Test/NHSpecificTest/NH3050/Fixture.cs +++ b/src/NHibernate.Test/NHSpecificTest/NH3050/Fixture.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Reflection; using System.Threading; +using System.Threading.Tasks; using NHibernate.Engine.Query; using NHibernate.Linq; @@ -144,11 +145,11 @@ where personIds.Contains(person.Id) } }; - var queryExecutorAsyncResult = queryExecutor.BeginInvoke(null, null); - var cacheCleanerAsyncResult = cacheCleaner.BeginInvoke(null, null); + var queryExecutorTask = Task.Run(queryExecutor); + var cacheCleanerTask = Task.Run(cacheCleaner); - queryExecutor.EndInvoke(queryExecutorAsyncResult); - cacheCleaner.EndInvoke(cacheCleanerAsyncResult); + queryExecutorTask.Wait(); + cacheCleanerTask.Wait(); Assert.IsTrue(allLinqQueriesSucceeded); }