From daae6351309a4d0ce80c61fb9aa60692b37af2aa Mon Sep 17 00:00:00 2001 From: jnm2 Date: Mon, 29 Apr 2019 20:47:15 -0400 Subject: [PATCH] =?UTF-8?q?If=20you=20can=E2=80=99t=20beat=20=E2=80=99em,?= =?UTF-8?q?=20join=20=E2=80=99em?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/NUnitFramework/tests/Attributes/TimeoutTests.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/NUnitFramework/tests/Attributes/TimeoutTests.cs b/src/NUnitFramework/tests/Attributes/TimeoutTests.cs index 5d45d7500f..5b2aa7b0ee 100644 --- a/src/NUnitFramework/tests/Attributes/TimeoutTests.cs +++ b/src/NUnitFramework/tests/Attributes/TimeoutTests.cs @@ -50,6 +50,9 @@ public void TestWithTimeoutCurrentContextIsNotAnAdhocContext() } #if PLATFORM_DETECTION && THREAD_ABORT + // Most recent version of Mono tested: 5.20.1 + private const string MonoFailsToAbortThreadReason = "ThreadAbortException is never thrown on Mono"; + [Test, Timeout(500)] public void TestWithTimeoutRunsOnSameThread() { @@ -63,7 +66,7 @@ public void TestWithTimeoutRunsSetUpAndTestOnSameThread() } [Test] - [Platform(Exclude = "Mono", Reason = "Runner hangs at end when this is run")] + [Platform(Exclude = "Mono", Reason = MonoFailsToAbortThreadReason)] public void TestTimesOutAndTearDownIsRun() { TimeoutFixture fixture = new TimeoutFixture(); @@ -88,7 +91,7 @@ public void SetUpTimesOutAndTearDownIsRun() } [Test] - [Platform(Exclude = "Mono", Reason = "Test never aborts on Mono (tested 5.4–5.12)")] + [Platform(Exclude = "Mono", Reason = MonoFailsToAbortThreadReason)] public void TearDownTimesOutAndNoFurtherTearDownIsRun() { TimeoutFixture fixture = new TimeoutFixtureWithTimeoutInTearDown(); @@ -101,7 +104,7 @@ public void TearDownTimesOutAndNoFurtherTearDownIsRun() } [Test] - [Platform(Exclude = "Mono", Reason = "Runner hangs at end when this is run")] + [Platform(Exclude = "Mono", Reason = MonoFailsToAbortThreadReason)] public void TimeoutCanBeSetOnTestFixture() { ITestResult suiteResult = TestBuilder.RunTestFixture(typeof(TimeoutFixtureWithTimeoutOnFixture)); @@ -172,6 +175,7 @@ public void TestTimeOutTestCaseWithOutElapsed() } [Test, Platform("Win")] + [Platform(Exclude = "Mono", Reason = MonoFailsToAbortThreadReason)] public void TimeoutWithMessagePumpShouldAbort() { ITestResult result = TestBuilder.RunTest(