Skip to content
This repository was archived by the owner on Mar 19, 2019. It is now read-only.

Commit 74d779f

Browse files
committed
Add diagnostics to debug flaky tests #457
1 parent e8efed1 commit 74d779f

13 files changed

+191
-176
lines changed

test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/Listener/AuthenticationTests.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ public async Task AuthTypes_AllowAnonymous_NoChallenge(AuthenticationSchemes aut
2929
{
3030
Task<HttpResponseMessage> responseTask = SendRequestAsync(address);
3131

32-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
32+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
3333
Assert.NotNull(context.User);
3434
Assert.False(context.User.Identity.IsAuthenticated);
3535
Assert.Equal(authType, context.Response.AuthenticationChallenges);
@@ -72,7 +72,7 @@ public async Task AuthType_AllowAnonymousButSpecify401_ChallengesAdded(Authentic
7272
{
7373
Task<HttpResponseMessage> responseTask = SendRequestAsync(address);
7474

75-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
75+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
7676
Assert.NotNull(context.User);
7777
Assert.False(context.User.Identity.IsAuthenticated);
7878
Assert.Equal(authType, context.Response.AuthenticationChallenges);
@@ -98,7 +98,7 @@ public async Task MultipleAuthTypes_AllowAnonymousButSpecify401_ChallengesAdded(
9898
{
9999
Task<HttpResponseMessage> responseTask = SendRequestAsync(address);
100100

101-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
101+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
102102
Assert.NotNull(context.User);
103103
Assert.False(context.User.Identity.IsAuthenticated);
104104
Assert.Equal(authType, context.Response.AuthenticationChallenges);
@@ -124,14 +124,14 @@ public async Task AuthTypes_AllowAnonymousButSpecify401_Success(AuthenticationSc
124124
{
125125
Task<HttpResponseMessage> responseTask = SendRequestAsync(address, useDefaultCredentials: true);
126126

127-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
127+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
128128
Assert.NotNull(context.User);
129129
Assert.False(context.User.Identity.IsAuthenticated);
130130
Assert.Equal(authType, context.Response.AuthenticationChallenges);
131131
context.Response.StatusCode = 401;
132132
context.Dispose();
133133

134-
context = await server.AcceptAsync(Utilities.DefaultTimeout);
134+
context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
135135
Assert.NotNull(context.User);
136136
Assert.True(context.User.Identity.IsAuthenticated);
137137
Assert.Equal(authType, context.Response.AuthenticationChallenges);
@@ -155,7 +155,7 @@ public async Task AuthTypes_RequireAuth_Success(AuthenticationSchemes authType)
155155
{
156156
Task<HttpResponseMessage> responseTask = SendRequestAsync(address, useDefaultCredentials: true);
157157

158-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
158+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
159159
Assert.NotNull(context.User);
160160
Assert.True(context.User.Identity.IsAuthenticated);
161161
Assert.Equal(authType, context.Response.AuthenticationChallenges);
@@ -174,7 +174,7 @@ public async Task AuthTypes_RequireKerberosAuth_Success()
174174
{
175175
Task<HttpResponseMessage> responseTask = SendRequestAsync(address, useDefaultCredentials: true);
176176

177-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
177+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
178178
Assert.NotNull(context.User);
179179
Assert.True(context.User.Identity.IsAuthenticated);
180180
Assert.Equal(AuthenticationSchemes.Kerberos, context.Response.AuthenticationChallenges);
@@ -193,7 +193,7 @@ public async Task MultipleAuthTypes_KerberosAllowAnonymousButSpecify401_Challeng
193193
{
194194
Task<HttpResponseMessage> responseTask = SendRequestAsync(address);
195195

196-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
196+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
197197
Assert.NotNull(context.User);
198198
Assert.False(context.User.Identity.IsAuthenticated);
199199
Assert.Equal(AuthenticationSchemes.Kerberos, context.Response.AuthenticationChallenges);

test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/Listener/HttpsTests.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public async Task Https_200OK_Success()
2323
{
2424
Task<string> responseTask = SendRequestAsync(Address);
2525

26-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
26+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
2727
context.Dispose();
2828

2929
string response = await responseTask;
@@ -38,7 +38,7 @@ public async Task Https_SendHelloWorld_Success()
3838
{
3939
Task<string> responseTask = SendRequestAsync(Address);
4040

41-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
41+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
4242
byte[] body = Encoding.UTF8.GetBytes("Hello World");
4343
context.Response.ContentLength = body.Length;
4444
await context.Response.Body.WriteAsync(body, 0, body.Length);
@@ -56,7 +56,7 @@ public async Task Https_EchoHelloWorld_Success()
5656
{
5757
Task<string> responseTask = SendRequestAsync(Address, "Hello World");
5858

59-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
59+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
6060
string input = new StreamReader(context.Request.Body).ReadToEnd();
6161
Assert.Equal("Hello World", input);
6262
context.Response.ContentLength = 11;
@@ -76,7 +76,7 @@ public async Task Https_ClientCertNotSent_ClientCertNotPresent()
7676
{
7777
Task<string> responseTask = SendRequestAsync(Address);
7878

79-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
79+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
8080
var cert = await context.Request.GetClientCertificateAsync();
8181
Assert.Null(cert);
8282
context.Dispose();
@@ -95,7 +95,7 @@ public async Task Https_ClientCertRequested_ClientCertPresent()
9595
Assert.NotNull(clientCert);
9696
Task<string> responseTask = SendRequestAsync(Address, clientCert);
9797

98-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
98+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
9999
var cert = await context.Request.GetClientCertificateAsync();
100100
Assert.NotNull(cert);
101101
context.Dispose();

test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/Listener/OpaqueUpgradeTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public async Task OpaqueUpgrade_AfterHeadersSent_Throws()
2323
{
2424
Task<HttpResponseMessage> clientTask = SendRequestAsync(address);
2525

26-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
26+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(clientTask);
2727
byte[] body = Encoding.UTF8.GetBytes("Hello World");
2828
await context.Response.Body.WriteAsync(body, 0, body.Length);
2929

test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/Listener/RequestBodyTests.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ public async Task RequestBody_SyncReadEnabledByDefault_ThrowsWhenDisabled()
2626

2727
Assert.True(server.Options.AllowSynchronousIO);
2828

29-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
29+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
3030
byte[] input = new byte[100];
3131

3232
Assert.True(context.AllowSynchronousIO);
@@ -51,7 +51,7 @@ public async Task RequestBody_ReadSync_Success()
5151
Task<string> responseTask = SendRequestAsync(address, "Hello World");
5252

5353
server.Options.AllowSynchronousIO = true;
54-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
54+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
5555
byte[] input = new byte[100];
5656
int read = context.Request.Body.Read(input, 0, input.Length);
5757
context.Response.ContentLength = read;
@@ -70,7 +70,7 @@ public async Task RequestBody_ReadAsync_Success()
7070
{
7171
Task<string> responseTask = SendRequestAsync(address, "Hello World");
7272

73-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
73+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
7474
byte[] input = new byte[100];
7575
int read = await context.Request.Body.ReadAsync(input, 0, input.Length);
7676
context.Response.ContentLength = read;
@@ -89,7 +89,7 @@ public async Task RequestBody_ReadBeginEnd_Success()
8989
{
9090
Task<string> responseTask = SendRequestAsync(address, "Hello World");
9191

92-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
92+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
9393
byte[] input = new byte[100];
9494
int read = context.Request.Body.EndRead(context.Request.Body.BeginRead(input, 0, input.Length, null, null));
9595
context.Response.ContentLength = read;
@@ -109,7 +109,7 @@ public async Task RequestBody_InvalidBuffer_ArgumentException()
109109
Task<string> responseTask = SendRequestAsync(address, "Hello World");
110110

111111
server.Options.AllowSynchronousIO = true;
112-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
112+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
113113
byte[] input = new byte[100];
114114
Assert.Throws<ArgumentNullException>("buffer", () => context.Request.Body.Read(null, 0, 1));
115115
Assert.Throws<ArgumentOutOfRangeException>("offset", () => context.Request.Body.Read(input, -1, 1));
@@ -135,7 +135,7 @@ public async Task RequestBody_ReadSyncPartialBody_Success()
135135
Task<string> responseTask = SendRequestAsync(address, content);
136136

137137
server.Options.AllowSynchronousIO = true;
138-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
138+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
139139
byte[] input = new byte[10];
140140
int read = context.Request.Body.Read(input, 0, input.Length);
141141
Assert.Equal(5, read);
@@ -158,7 +158,7 @@ public async Task RequestBody_ReadAsyncPartialBody_Success()
158158
{
159159
Task<string> responseTask = SendRequestAsync(address, content);
160160

161-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
161+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
162162
byte[] input = new byte[10];
163163
int read = await context.Request.Body.ReadAsync(input, 0, input.Length);
164164
Assert.Equal(5, read);
@@ -180,7 +180,7 @@ public async Task RequestBody_PostWithImidateBody_Success()
180180
{
181181
Task<string> responseTask = SendSocketRequestAsync(address);
182182

183-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
183+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
184184
byte[] input = new byte[11];
185185
int read = await context.Request.Body.ReadAsync(input, 0, input.Length);
186186
Assert.Equal(10, read);
@@ -206,7 +206,7 @@ public async Task RequestBody_ReadAsyncAlreadyCanceled_ReturnsCanceledTask()
206206
{
207207
Task<string> responseTask = SendRequestAsync(address, "Hello World");
208208

209-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
209+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
210210

211211
byte[] input = new byte[10];
212212
var cts = new CancellationTokenSource();
@@ -231,7 +231,7 @@ public async Task RequestBody_ReadAsyncPartialBodyWithCancellationToken_Success(
231231
{
232232
Task<string> responseTask = SendRequestAsync(address, content);
233233

234-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
234+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
235235
byte[] input = new byte[10];
236236
var cts = new CancellationTokenSource();
237237
int read = await context.Request.Body.ReadAsync(input, 0, input.Length, cts.Token);
@@ -255,7 +255,7 @@ public async Task RequestBody_ReadAsyncPartialBodyWithTimeout_Success()
255255
{
256256
Task<string> responseTask = SendRequestAsync(address, content);
257257

258-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
258+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
259259
byte[] input = new byte[10];
260260
var cts = new CancellationTokenSource();
261261
cts.CancelAfter(TimeSpan.FromSeconds(5));
@@ -280,7 +280,7 @@ public async Task RequestBody_ReadAsyncPartialBodyAndCancel_Canceled()
280280
{
281281
Task<string> responseTask = SendRequestAsync(address, content);
282282

283-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
283+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
284284
byte[] input = new byte[10];
285285
var cts = new CancellationTokenSource();
286286
int read = await context.Request.Body.ReadAsync(input, 0, input.Length, cts.Token);
@@ -305,7 +305,7 @@ public async Task RequestBody_ReadAsyncPartialBodyAndExpiredTimeout_Canceled()
305305
{
306306
Task<string> responseTask = SendRequestAsync(address, content);
307307

308-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
308+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
309309
byte[] input = new byte[10];
310310
var cts = new CancellationTokenSource();
311311
int read = await context.Request.Body.ReadAsync(input, 0, input.Length, cts.Token);
@@ -333,7 +333,7 @@ public async Task RequestBody_ReadAsyncPartialBodyAndDisconnectedClient_Canceled
333333
var client = new HttpClient();
334334
var responseTask = client.PostAsync(address, content);
335335

336-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
336+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
337337
byte[] input = new byte[10];
338338
int read = await context.Request.Body.ReadAsync(input, 0, input.Length, context.DisconnectToken);
339339
Assert.False(context.DisconnectToken.IsCancellationRequested);

test/Microsoft.AspNetCore.Server.HttpSys.FunctionalTests/Listener/RequestHeaderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ public async Task RequestHeaders_ClientSendsDefaultHeaders_Success()
2323
{
2424
Task<string> responseTask = SendRequestAsync(address);
2525

26-
var context = await server.AcceptAsync(Utilities.DefaultTimeout);
26+
var context = await server.AcceptAsync(Utilities.DefaultTimeout).Before(responseTask);
2727
var requestHeaders = context.Request.Headers;
2828
// NOTE: The System.Net client only sends the Connection: keep-alive header on the first connection per service-point.
2929
// Assert.Equal(2, requestHeaders.Count);

0 commit comments

Comments
 (0)