From bae9771a811b958fc408f21ba7a11661e55b6663 Mon Sep 17 00:00:00 2001 From: John Luo Date: Thu, 3 Dec 2015 11:03:13 -0800 Subject: [PATCH] Diabling async TestHost.Tests on Mono #507 --- .../ClientHandlerTests.cs | 23 +++++--- .../TestClientTests.cs | 29 +++++++---- .../TestServerTests.cs | 52 ++++++++++++------- 3 files changed, 68 insertions(+), 36 deletions(-) diff --git a/test/Microsoft.AspNet.TestHost.Tests/ClientHandlerTests.cs b/test/Microsoft.AspNet.TestHost.Tests/ClientHandlerTests.cs index 3108810f..820f98d1 100644 --- a/test/Microsoft.AspNet.TestHost.Tests/ClientHandlerTests.cs +++ b/test/Microsoft.AspNet.TestHost.Tests/ClientHandlerTests.cs @@ -59,7 +59,8 @@ public Task SingleSlashNotMovedToPathBase() return httpClient.GetAsync("https://example.com/"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ResubmitRequestWorks() { int requestCount = 1; @@ -83,7 +84,8 @@ public async Task ResubmitRequestWorks() Assert.Equal("TestValue:2", response.Headers.GetValues("TestHeader").First()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task MiddlewareOnlySetsHeaders() { var handler = new ClientHandler(PathString.Empty, new DummyApplication(context => @@ -96,7 +98,8 @@ public async Task MiddlewareOnlySetsHeaders() Assert.Equal("TestValue", response.Headers.GetValues("TestHeader").First()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task BlockingMiddlewareShouldNotBlockClient() { ManualResetEvent block = new ManualResetEvent(false); @@ -113,7 +116,8 @@ public async Task BlockingMiddlewareShouldNotBlockClient() HttpResponseMessage response = await task; } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task HeadersAvailableBeforeBodyFinished() { ManualResetEvent block = new ManualResetEvent(false); @@ -132,7 +136,8 @@ public async Task HeadersAvailableBeforeBodyFinished() Assert.Equal("BodyStarted,BodyFinished", await response.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task FlushSendsHeaders() { ManualResetEvent block = new ManualResetEvent(false); @@ -151,7 +156,8 @@ public async Task FlushSendsHeaders() Assert.Equal("BodyFinished", await response.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ClientDisposalCloses() { ManualResetEvent block = new ManualResetEvent(false); @@ -176,7 +182,8 @@ public async Task ClientDisposalCloses() block.Set(); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ClientCancellationAborts() { ManualResetEvent block = new ManualResetEvent(false); @@ -215,7 +222,7 @@ public Task ExceptionBeforeFirstWriteIsReported() } [ConditionalFact] - [OSSkipCondition(OperatingSystems.Linux, SkipReason = "Hangs randomly (issue #422).")] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ExceptionAfterFirstWriteIsReported() { ManualResetEvent block = new ManualResetEvent(false); diff --git a/test/Microsoft.AspNet.TestHost.Tests/TestClientTests.cs b/test/Microsoft.AspNet.TestHost.Tests/TestClientTests.cs index 0d19dd88..61e0f2b9 100644 --- a/test/Microsoft.AspNet.TestHost.Tests/TestClientTests.cs +++ b/test/Microsoft.AspNet.TestHost.Tests/TestClientTests.cs @@ -25,7 +25,8 @@ public TestClientTests() _server = TestServer.Create(app => app.Run(ctx => Task.FromResult(0))); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task GetAsyncWorks() { // Arrange @@ -42,7 +43,8 @@ public async Task GetAsyncWorks() Assert.Equal(expected, actual); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task NoTrailingSlash_NoPathBase() { // Arrange @@ -63,7 +65,8 @@ public async Task NoTrailingSlash_NoPathBase() Assert.Equal(expected, actual); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task SingleTrailingSlash_NoPathBase() { // Arrange @@ -84,7 +87,8 @@ public async Task SingleTrailingSlash_NoPathBase() Assert.Equal(expected, actual); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task PutAsyncWorks() { // Arrange @@ -101,7 +105,8 @@ public async Task PutAsyncWorks() Assert.Equal("Hello world PUT Response", await response.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task PostAsyncWorks() { // Arrange @@ -118,7 +123,8 @@ public async Task PostAsyncWorks() Assert.Equal("Hello world POST Response", await response.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task WebSocketWorks() { // Arrange @@ -179,7 +185,8 @@ public async Task WebSocketWorks() clientSocket.Dispose(); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task WebSocketDisposalThrowsOnPeer() { // Arrange @@ -205,7 +212,8 @@ public async Task WebSocketDisposalThrowsOnPeer() clientSocket.Dispose(); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task WebSocketTinyReceiveGeneratesEndOfMessage() { // Arrange @@ -248,7 +256,8 @@ public async Task WebSocketTinyReceiveGeneratesEndOfMessage() clientSocket.Dispose(); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ClientDisposalAbortsRequest() { // Arrange @@ -282,7 +291,7 @@ public async Task ClientDisposalAbortsRequest() } [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.CoreCLR, SkipReason = "Hangs randomly (issue #422).")] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ClientCancellationAbortsRequest() { // Arrange diff --git a/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs b/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs index ad55d2ee..80e0e44f 100644 --- a/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs +++ b/test/Microsoft.AspNet.TestHost.Tests/TestServerTests.cs @@ -31,7 +31,8 @@ public void CreateWithDelegate() TestServer.Create(app => { }); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task RequestServicesAutoCreated() { var server = TestServer.Create(app => @@ -66,7 +67,8 @@ public void Configure(IApplicationBuilder app) } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CustomServiceProviderSetsApplicationServices() { var server = new TestServer(TestServer.CreateBuilder().UseStartup()); @@ -107,7 +109,8 @@ public Action Configure(Action next) } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ExistingRequestServicesWillNotBeReplaced() { var server = TestServer.Create(app => @@ -123,7 +126,8 @@ public async Task ExistingRequestServicesWillNotBeReplaced() Assert.Equal("Found:True", result); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanSetCustomServiceProvider() { var server = TestServer.Create(app => @@ -169,7 +173,8 @@ public Action Configure(Action next) } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ExistingServiceProviderFeatureWillNotBeReplaced() { var appServices = new ServiceCollection().BuildServiceProvider(); @@ -206,7 +211,8 @@ public Action Configure(Action next) } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task WillReplaceServiceProviderFeatureWithNullRequestServices() { var server = TestServer.Create(app => @@ -222,7 +228,8 @@ public async Task WillReplaceServiceProviderFeatureWithNullRequestServices() Assert.Equal("Success", result); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanAccessLogger() { var server = TestServer.Create(app => @@ -238,7 +245,8 @@ public async Task CanAccessLogger() Assert.Equal("FoundLogger:True", result); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanAccessHttpContext() { Action configureServices = services => @@ -268,7 +276,8 @@ public ContextHolder(IHttpContextAccessor accessor) public IHttpContextAccessor Accessor { get; set; } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanAddNewHostServices() { Action configureServices = services => @@ -289,7 +298,8 @@ public async Task CanAddNewHostServices() Assert.Equal("HasContext:True", result); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CreateInvokesApp() { TestServer server = TestServer.Create(app => @@ -304,7 +314,8 @@ public async Task CreateInvokesApp() Assert.Equal("CreateInvokesApp", result); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task DisposeStreamIgnored() { TestServer server = TestServer.Create(app => @@ -321,7 +332,8 @@ public async Task DisposeStreamIgnored() Assert.Equal("Response", await result.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task DisposedServerThrows() { TestServer server = TestServer.Create(app => @@ -340,7 +352,7 @@ public async Task DisposedServerThrows() } [ConditionalFact] - [FrameworkSkipCondition(RuntimeFrameworks.CoreCLR, SkipReason = "Hangs randomly (issue #422).")] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public void CancelAborts() { TestServer server = TestServer.Create(app => @@ -356,7 +368,8 @@ public void CancelAborts() Assert.Throws(() => { string result = server.CreateClient().GetStringAsync("/path").Result; }); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanCreateViaStartupType() { TestServer server = new TestServer(TestServer.CreateBuilder().UseStartup()); @@ -365,7 +378,8 @@ public async Task CanCreateViaStartupType() Assert.Equal("FoundService:True", await result.Content.ReadAsStringAsync()); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task CanCreateViaStartupTypeAndSpecifyEnv() { TestServer server = new TestServer(TestServer.CreateBuilder() @@ -375,8 +389,9 @@ public async Task CanCreateViaStartupTypeAndSpecifyEnv() Assert.Equal(HttpStatusCode.OK, result.StatusCode); Assert.Equal("FoundFoo:False", await result.Content.ReadAsStringAsync()); } - - [Fact] + + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task BeginEndDiagnosticAvailable() { DiagnosticListener diagnosticListener = null; @@ -401,7 +416,8 @@ public async Task BeginEndDiagnosticAvailable() Assert.Null(listener.UnhandledException); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.Mono, SkipReason = "Hangs randomly (issue #507)")] public async Task ExceptionDiagnosticAvailable() { DiagnosticListener diagnosticListener = null;