From ca8161466eafddb7e2e5226a22ba51b0e45871db Mon Sep 17 00:00:00 2001 From: Stephen Halter Date: Thu, 24 Sep 2015 17:06:28 -0700 Subject: [PATCH] Allow mock libuv to shutdown gracefully. This speeds up SocketOutputTests and reduces the total test time on my machine from 35 seconds to 25 seconds. --- .../TestHelpers/{MockLibUv.cs => MockLibuv.cs} | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) rename test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/{MockLibUv.cs => MockLibuv.cs} (92%) diff --git a/test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibUv.cs b/test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibuv.cs similarity index 92% rename from test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibUv.cs rename to test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibuv.cs index a23cd076ce..1134ae8fab 100644 --- a/test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibUv.cs +++ b/test/Microsoft.AspNet.Server.KestrelTests/TestHelpers/MockLibuv.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Threading; using Microsoft.AspNet.Server.Kestrel.Networking; @@ -42,11 +42,16 @@ namespace Microsoft.AspNet.Server.KestrelTests.TestHelpers _onPost(_postHandle.InternalGetHandle()); } - _postHandle.Dispose(); - loopHandle.Dispose(); return 0; }; + _uv_ref = handle => { }; + _uv_unref = handle => + { + _stopLoop = true; + _loopWh.Set(); + }; + _uv_stop = handle => { _stopLoop = true; @@ -60,7 +65,6 @@ namespace Microsoft.AspNet.Server.KestrelTests.TestHelpers _uv_tcp_init = (loopHandle, tcpHandle) => 0; _uv_close = (handle, callback) => callback(handle); _uv_loop_close = handle => 0; - _uv_unref = handle => { }; _uv_walk = (loop, callback, ignore) => 0; }