Skip to content

Commit b92fd5f

Browse files
NH-4035 - cleanup even if tear down fails.
1 parent 8e343f6 commit b92fd5f

File tree

1 file changed

+19
-12
lines changed

1 file changed

+19
-12
lines changed

src/NHibernate.Test/TestCase.cs

Lines changed: 19 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -151,20 +151,27 @@ public void TearDown()
151151
string badCleanupMessage = null;
152152
try
153153
{
154-
OnTearDown();
155-
var wereClosed = _sessionFactory.CheckSessionsWereClosed();
156-
var wasCleaned = CheckDatabaseWasCleaned();
157-
var wereConnectionsClosed = CheckConnectionsWereClosed();
158-
fail = !wereClosed || !wasCleaned || !wereConnectionsClosed;
159-
160-
if (fail)
154+
try
155+
{
156+
OnTearDown();
157+
}
158+
finally
161159
{
162-
badCleanupMessage = "Test didn't clean up after itself. session closed: " + wereClosed + "; database cleaned: " + wasCleaned
163-
+ "; connection closed: " + wereConnectionsClosed;
164-
if (testResult != null && testResult.Outcome.Status == TestStatus.Failed)
160+
var wereClosed = _sessionFactory.CheckSessionsWereClosed();
161+
var wasCleaned = CheckDatabaseWasCleaned();
162+
var wereConnectionsClosed = CheckConnectionsWereClosed();
163+
fail = !wereClosed || !wasCleaned || !wereConnectionsClosed;
164+
165+
if (fail)
165166
{
166-
// Avoid hiding a test failure (asserts are usually not hidden, but other exception would be).
167-
badCleanupMessage = GetCombinedFailureMessage(testResult, badCleanupMessage, null);
167+
badCleanupMessage = "Test didn't clean up after itself. session closed: " + wereClosed + "; database cleaned: " +
168+
wasCleaned
169+
+ "; connection closed: " + wereConnectionsClosed;
170+
if (testResult != null && testResult.Outcome.Status == TestStatus.Failed)
171+
{
172+
// Avoid hiding a test failure (asserts are usually not hidden, but other exception would be).
173+
badCleanupMessage = GetCombinedFailureMessage(testResult, badCleanupMessage, null);
174+
}
168175
}
169176
}
170177
}

0 commit comments

Comments
 (0)