Skip to content

Commit 6df15cc

Browse files
authored
Fix flaky deadline test (#553)
1 parent f448189 commit 6df15cc

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

test/FunctionalTests/Server/DeadlineTests.cs

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,25 @@ static async Task WriteUntilError(HelloRequest request, IServerStreamWriter<Hell
146146
// Arrange
147147
SetExpectedErrorsFilter(writeContext =>
148148
{
149-
return writeContext.LoggerName == TestConstants.ServerCallHandlerTestName &&
150-
writeContext.EventId.Name == "ErrorExecutingServiceMethod" &&
151-
writeContext.State.ToString() == "Error when executing service method 'WriteUntilError'." &&
152-
writeContext.Exception!.Message == "Cannot write message after request is complete.";
149+
if (writeContext.LoggerName == TestConstants.ServerCallHandlerTestName)
150+
{
151+
// Deadline happened before write
152+
if (writeContext.EventId.Name == "ErrorExecutingServiceMethod" &&
153+
writeContext.State.ToString() == "Error when executing service method 'WriteUntilError'." &&
154+
writeContext.Exception!.Message == "Cannot write message after request is complete.")
155+
{
156+
return true;
157+
}
158+
159+
// Deadline happened during write (error raised from pipeline writer)
160+
if (writeContext.Exception is InvalidOperationException &&
161+
writeContext.Exception.Message == "Writing is not allowed after writer was completed.")
162+
{
163+
return true;
164+
}
165+
}
166+
167+
return false;
153168
});
154169

155170
var method = Fixture.DynamicGrpc.AddServerStreamingMethod<HelloRequest, HelloReply>(WriteUntilError, nameof(WriteUntilError));

0 commit comments

Comments
 (0)