Commit Graph

264 Commits

Author SHA1 Message Date
Cesar Blum Silveira 00ee2145fc Add xproj for Microsoft.AspNetCore.Server.Kestrel.TestCommon. 2016-04-21 14:51:37 -07:00
Cesar Blum Silveira 95722670c1 More robust port assignment for tests. 2016-04-20 17:25:50 -07:00
Cesar Blum Silveira f29dd60999 Fix connection termination issues when using connection filters (#737, #747).
- If we're done before the client sends a FIN, force a FIN into the raw
  SocketInput so the task in FileteredStreamAdapter finishes gracefully
  and we dispose everything in proper order.
- If there's an error while writing to a stream (like ObjectDisposedException),
  log it once and prevent further write attempts. This means the client closed
  the connection while we were still writing output.
- This also fixes a bug related to the point above, where memory blocks were
  being leaked instead of returned to the pool (because we weren't catching
  the exception from Write()).
2016-04-19 22:04:33 -07:00
Pranav K 33ad355114 Use latest build of dotnet-test-xunit 2016-04-19 14:54:04 -07:00
Pavel Krymets 5273e0e768 Bring Microsoft.NETCore.Platforms dependency back 2016-04-18 17:01:20 -07:00
Mike Harder 0453e4af70 Add KestrelServerOptionsSetup before KestrelServerOptions (#755) (#757)
- Required to ensure that options.ApplicationServices is available after during UseKestrel(options)
2016-04-18 16:57:59 -07:00
Mike Harder bbf2c83a7d Add KestrelServerOptionsSetup to IServiceCollection in UseKestrel() (#755)
- Previously, KestrelServerOptionsSetup was only added to IServiceCollection in UseKestrel(options)
- Required to ensure that options.ApplicationServices is available after calling UseKestrel()
2016-04-18 15:32:09 -07:00
Chris R c48353f4ef Hosting#698 Remove IServerFactory 2016-04-15 16:05:01 -07:00
Pavel Krymets f61af9a746 Migrate tests, tools and samples to portable 2016-04-14 15:47:59 -07:00
Mike Harder 6047a62c07 Add IWebHostBuilder.UseKestrel(options) overload to configure Kestrel (#720)
- Replace KestrelServerInformation with KestrelServerOptions.
- Move properties from KestrelServerPoolingParameters to KestrelServerOptions.
- Stop reading default options from "kestrel.*" config settings.
- Move extension method IApplicatonBuilder.UseKestrelConnectionLogging() to KestrelServerOptions.UseConnectionLogging()
2016-04-13 14:57:54 -07:00
Stephen Halter 7d4fcfeb23 Depend on separate libuv package 2016-04-10 21:15:43 -07:00
BrennanConroy 109c56713a React to logging changes 2016-04-01 11:53:47 -07:00
Stephen Halter c567e4814a Clean up Travis builds
- No longer build libuv in .travis.yml
- The Ubuntu libuv build should now be taken from http://github.com/aspnet/libuv-build
- Remove unneeded packages from .travis.yml
- Stop skipping mono tests
2016-03-31 12:25:01 -07:00
Doug Bunting c828fafe1b React to HttpAbstractions namespace changes
- aspnet/HttpAbstractions#549 and aspnet/HttpAbstractions#592
- clean up `using`s
2016-03-30 16:04:43 -07:00
Mike Harder 088b7e5779 Add UseKestrel() extension method to IWebHostBuilder (#713) 2016-03-30 12:08:32 -07:00
Stephen Halter f0e438f65f Remove IKestrelTrace.ApplicationError overload without connection id
Add test verifying that exceptions thrown from application tcs continuations
run by the LoggingThreadPool don't get logged as general exceptions.
2016-03-30 11:13:13 -07:00
Cesar Blum Silveira 4b214115ca Proper skip reasons for HttpsConnectionFilter tests (#677). 2016-03-22 18:00:15 -07:00
Stephen Halter 850632a091 Ensure KestrelThreads get stopped in tests if there is a startup failure 2016-03-17 07:44:30 -07:00
Stephen Halter b55bef20aa Allow the server to forcefully close socket it tests with connection failures
- This is a delayed reaction to 54caf30 which causes connections closed from
  the server to be closed less gracefully due to no longer waiting for a FIN
  from the client
2016-03-17 07:44:28 -07:00
Cesar Blum Silveira 37b0917ac1 Use TLS 1.1 or 1.2 only (#637). 2016-03-09 12:09:31 -08:00
Stephen Halter f15471bcf2 Remove 2 from MemoryPool2 and related types
- This was merely an artifact from when this was the second of 2 pools
2016-03-03 12:11:25 -08:00
Doug Bunting bb2e76c7f1 Remove project name from output path
- aspnet/Coherence-Signed#187
- remove `<RootNamespace>` settings but maintain other unique aspects e.g. `<DnxInvisibleContent ... />`
- in a few cases, standardize on VS version `14.0` and not something more specific
2016-03-02 18:57:23 -08:00
Cesar Blum Silveira 41f77ee3fd Handle uploads larger than 2GB. 2016-03-02 16:09:52 -08:00
N. Taylor Mullen c33b422d7a Transition to netstandard.
- dotnet5.X => netstandard1.y (where y = x-1).
- DNXCore50 => netstandardapp1.5.
- Applied the same changes to ifdefs.
2016-03-01 13:36:06 -08:00
Ben Adams 766803c573 Return 400 for bad requests and close conn 2016-02-27 12:35:12 +00:00
Ben Adams 48d3c63f70 TestHelper classes for shared types 2016-02-26 23:48:52 +00:00
Ben Adams 4bfcd7ba1f Drain chunked extensions + refactor 2016-02-26 23:48:51 +00:00
Ben Adams 331d4a87ac Move chunked request tests 2016-02-26 23:48:51 +00:00
Ben Adams 8d8176f14a Consume chunked request fully 2016-02-26 23:48:49 +00:00
Cesar Blum Silveira f21cb128e8 Handle 0-byte reads correctly (#520). 2016-02-26 15:21:11 -08:00
Stephen Halter 4bcc44faed Merge branch 'benaadams/build-issues' into dev 2016-02-26 12:18:15 -08:00
Ben Adams e579745f93 System.Net.Http references 2016-02-26 12:17:59 -08:00
Doug Bunting 37055517ee Correct test attributes
- #654
- `[IPv6SupportedCondition]` requires `[ConditionalFact]` or `[ConditionalTheory]`
2016-02-24 22:35:20 -08:00
BrennanConroy f6d0443692 Add build references to tests because they don't flow up to parent anymore. See:https://github.com/NuGet/Home/issues/2153 2016-02-22 16:01:24 -08:00
John Luo 99ccae64eb Updating test TFMs for custom test discovery 2016-02-18 16:50:53 -08:00
Chris R aef612bdac Add IHttpConnectionFeature.ConnectionId. 2016-02-18 11:10:55 -08:00
Cesar Blum Silveira aa48ad2933 Merge branch 'benaadams/loopback-fastpath' into dev 2016-02-18 10:52:42 -08:00
Stephen Halter bc56d11d8c Set IsBackground property to true on libuv Threads for non-debug builds
- If libuv doesn't shutdown as expected, the process will still stop. Thanks @benaadams!
- Address other minor PR feedback.
2016-02-17 16:40:05 -08:00
Stephen Halter 04736e1d09 Remove FrameworkSkipConditions for Mono
- Maybe things are better now with graceful shutdown *crosses fingers*
2016-02-17 16:05:37 -08:00
Stephen Halter f4bb8d5eff Verify that memory pool blocks aren't leaked in tests 2016-02-17 16:05:34 -08:00
Stephen Halter 304016fc3b Close UvAsyncHandle properly to avoid zombie threads
- Even when safe handles are disposed explicitly, ReleaseHandle is sometimes
  called on another thread which breaks uv_close.
- Ensure we close the UvAsyncHandle the uv loop so that the second call
  to uv_run always completes without a timeout/Thread.Abort.
- Re-enable some tests. Add skip conditions for those that aren't passing.
2016-02-17 16:05:32 -08:00
Stephen Halter 54caf3071c Close connections as quickly and gracefully as possible on shutdown
- Make the time given for requests to complete gracefully configurable.
- Complete all async reads so calling code can re-check whether to stop
  request processing and exit if in between requests.
- Don't wait for a FIN from the client since some browsers (e.g. IE & Chrome)
  will take a long time to send one.
- Ensure all ConnectionFilters complete before the memory pool is disposed.
- Ensure blocks get returned even when a ConnectionFilter produces a failed read
2016-02-17 16:05:23 -08:00
Ben Adams ffa8f3f092 Helper function for test socket creation 2016-02-17 03:59:59 +00:00
Ben Adams 020e0b9dc5 Enable TCP Loopback Fast Path (Windows)
Enable TCP Loopback Fast Path; where the IP layer is skipped, for lower
latency for localhost comms, like HttpPlatformHandler+IIS reverse proxy

http://blogs.technet.com/b/wincat/archive/2012/12/05/fast-tcp-loopback-performance-and-low-latency-with-windows-server-2012-tcp-loopback-fast-path.aspx

Have to do it this way due to open issue in libuv

Loopback fast path: libuv/libuv#489

Related: "Confirm HttpPlatformHandler uses Fast TCP Loopback"
aspnet/IISIntegration#29
2016-02-14 04:44:20 +00:00
Ben Adams f8aa1a676a Pass ServerInformation as property of ServiceContext 2016-02-13 05:51:54 +00:00
Ben Adams c293bbbd1a Reuse headers to prevent values moving to higher GC gens 2016-02-13 01:16:17 +00:00
Kiran Challa dfcd6a6227 Enable tests to run using dotnet xunit runner 2016-02-09 23:48:09 -08:00
Cesar Blum Silveira 6757a31fd2 Build with dotnet (#571). 2016-02-01 14:37:47 -08:00
Cesar Blum Silveira 1209eca3fa Normalize request path to NFC and resolve dot segments (#273). 2016-01-28 15:29:29 -08:00
Stephen Halter d616f0ccb0 Fix FindFirstEqualByte tests
- On some platforms, the bytes array was not large enough to fill a vector.
  Ex: https://travis-ci.org/aspnet/KestrelHttpServer/builds/105277870#L2633
- Additionally test FindFirstEqualByte with only one bit set in the array
2016-01-27 14:32:34 -08:00