Skip to content
Snippets Groups Projects
Commit d36b9010 authored by Jan Tattermusch's avatar Jan Tattermusch
Browse files

Merge pull request #6829 from jtattermusch/csharp_add_server_test

C#: Add unstarted server test
parents 1bc2976a 8e93533f
No related branches found
No related tags found
No related merge requests found
...@@ -93,5 +93,20 @@ namespace Grpc.Core.Tests ...@@ -93,5 +93,20 @@ namespace Grpc.Core.Tests
server.ShutdownAsync().Wait(); server.ShutdownAsync().Wait();
} }
[Test]
public void UnstartedServerCanBeShutdown()
{
var server = new Server();
server.ShutdownAsync().Wait();
Assert.Throws(typeof(InvalidOperationException), () => server.Start());
}
[Test]
public void UnstartedServerDoesNotPreventShutdown()
{
// just create a server, don't start it, and make sure it doesn't prevent shutdown.
var server = new Server();
}
} }
} }
...@@ -140,6 +140,7 @@ namespace Grpc.Core ...@@ -140,6 +140,7 @@ namespace Grpc.Core
lock (myLock) lock (myLock)
{ {
GrpcPreconditions.CheckState(!startRequested); GrpcPreconditions.CheckState(!startRequested);
GrpcPreconditions.CheckState(!shutdownRequested);
startRequested = true; startRequested = true;
handle.Start(); handle.Start();
...@@ -203,7 +204,6 @@ namespace Grpc.Core ...@@ -203,7 +204,6 @@ namespace Grpc.Core
{ {
lock (myLock) lock (myLock)
{ {
GrpcPreconditions.CheckState(startRequested);
GrpcPreconditions.CheckState(!shutdownRequested); GrpcPreconditions.CheckState(!shutdownRequested);
shutdownRequested = true; shutdownRequested = true;
} }
...@@ -215,7 +215,6 @@ namespace Grpc.Core ...@@ -215,7 +215,6 @@ namespace Grpc.Core
{ {
handle.CancelAllCalls(); handle.CancelAllCalls();
} }
await ShutdownCompleteOrEnvironmentDeadAsync().ConfigureAwait(false); await ShutdownCompleteOrEnvironmentDeadAsync().ConfigureAwait(false);
DisposeHandle(); DisposeHandle();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment