Skip to content

Commit 9f80d6d

Browse files
committed
Fix PrefetchManagerBasic.ReferenceToSessionIsNotPreservedInCacheTest
1 parent 4bb2ba0 commit 9f80d6d

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

Orm/Xtensive.Orm.Tests/Storage/Prefetch/PrefetchManagerBasicTest.cs

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
using System;
88
using System.Collections.Generic;
99
using System.Linq;
10+
using System.Threading;
1011
using NUnit.Framework;
1112
using Xtensive.Core;
1213
using Xtensive.Collections;
@@ -931,6 +932,15 @@ public void RemoveTest()
931932

932933
[Test]
933934
public void ReferenceToSessionIsNotPreservedInCacheTest()
935+
{
936+
// Use separate method for session related processing
937+
// to make sure we don't hold session reference somewhere on stack
938+
OpenSessionsAndRunPrefetches();
939+
TestHelper.CollectGarbage(true);
940+
Assert.That(instanceCount, Is.EqualTo(0));
941+
}
942+
943+
private void OpenSessionsAndRunPrefetches()
934944
{
935945
instanceCount = 10;
936946
for (int i = 0; i < instanceCount; i++) {
@@ -948,8 +958,6 @@ public void ReferenceToSessionIsNotPreservedInCacheTest()
948958
t.Complete();
949959
}
950960
}
951-
TestHelper.CollectGarbage(true);
952-
Assert.That(instanceCount, Is.EqualTo(0));
953961
}
954962

955963
private void PrefetchIntrinsicFields(PrefetchManager prefetchManager, Key key, Type type)

0 commit comments

Comments
 (0)