Commit Graph

388 Commits

Author SHA1 Message Date
Stephen Halter fbcb5dcb1b Prevent enumeration of queue during modification in SocketOutputTests 2016-07-15 11:53:54 -07:00
Mike Harder 0c52529b97 Add tests for HTTPS urls to AddressRegistrationTests (#794)
- Added HttpClientSlim, a lightweight version of HttpClient implemented using Socket and SslStream.
2016-07-14 18:35:47 -07:00
Stephen Halter 7e1aa4e1d0 Only test binding to "operational" network interfaces 2016-07-14 16:08:39 -07:00
Mike Harder 2f36c80970 Remove skip condition for IPv6 with scope ID on Linux and Mac (#964)
- Was required to workaround https://github.com/dotnet/corefx/issues/8235 which is now fixed.
2016-07-11 17:53:59 -07:00
Mike Harder 8a43be94ef AddressRegistrationTests should get local IPs from System.Net.NetworkInformation (#796) 2016-07-11 14:40:12 -07:00
Doug Bunting 82a0a99107 One build to rule them all
- well, at least VS and command-line builds will share output
- part of aspnet/Coherence-Signed#277
2016-07-07 12:07:14 -07:00
Cesar Blum Silveira 9f720eda90 Reset frame streams on each request (#940). 2016-07-06 14:57:43 -07:00
Pranav K a09bce0c07 Updating to RTM builds of xunit and Moq 2016-06-30 16:00:39 -07:00
Pranav K de668c2ebd Updating to dev versions
# Conflicts:
#	test/Microsoft.AspNetCore.Server.Kestrel.FunctionalTests/project.json
2016-06-16 10:40:58 -07:00
jacalvar 6b7e27269c Update Json.NET to 9.0.1 2016-06-15 15:08:50 -07:00
Mike Harder 5ecb1f59a4 Limit size of memory buffer when reading request (#304)
- Added property `KestrelServerOptions.MaxRequestBufferSize`
 - Default is 1,048,576 bytes (1MB)
 - If value is null, the size of the request buffer is unlimited.
- Fixed bug in `IConnectionControl.Resume()` where `_socket.ReadStart()` can throw if the socket is already disconnected.
- Made `UvStreamHandle.ReadStop()` idempotent, to match `uv_read_stop()`.
2016-06-13 18:52:20 -07:00
Cesar Blum Silveira 98feee9dbd Combine LargeMultipartUpload and LargeUpload into one test. 2016-06-13 17:55:19 -07:00
N. Taylor Mullen 917c3e0987 Remove direct Microsoft.NETCore.Platforms dependency.
- Microsoft.NETCore.App now pulls this package in.

aspnet/Coherence-Signed#344
2016-06-13 15:29:13 -07:00
Stephen Halter c1dadbd723 Make Bad Request tests more reliable
- Avoid calling write again after the request is already rejected
- Don't try to close a socket from the client if we already expect the server
  to forcefully close the socket
2016-06-07 16:13:29 -07:00
jacalvar b6ceac559a Update Json.NET to 9.0.1-beta1 2016-06-06 21:25:52 -07:00
moozzyk 50e8948bb9 Fixing BadRequest tests to not try sending data after Bad Request 2016-06-06 15:27:45 -07:00
moozzyk 69bd0dc4be Reject requests that have null characters in path 2016-06-06 09:59:42 -07:00
Cesar Blum Silveira 2bbaa52b08 Disable ThreadCountTests on Mac. 2016-06-03 19:57:28 -07:00
Andrew Stanton-Nurse 09f5be1434 fix #909 by moving most classes to Internal ns 2016-06-03 14:14:21 -07:00
moozzyk ef74926463 Fixing a test failing on Mac and Linux 2016-06-03 12:21:48 -07:00
Stephen Halter 6bff2ecb34 Small cleanup to SocketOutput's shutdown logic 2016-06-02 16:54:00 -07:00
Stephen Halter 07744e75d9 Gracefully handle connection close in SocketOutput.ProducingComplete 2016-06-02 16:54:00 -07:00
Stephen Halter 2d229e8980 Allow a maximum of 3 concurrent uv_write operations per connection
- Keep logic to prevent unnecessary calls to KestrelThread.Post
- This partially reverts commit 480996433e.
2016-06-02 16:52:06 -07:00
moozzyk 0342754c57 Using the optimized method for converting header name to ASCII 2016-06-02 16:36:22 -07:00
Cesar Blum Silveira de022b6051 Improved handling of whitespace in headers. 2016-06-02 16:18:43 -07:00
Stephen Halter 9667907515 Prevent IOException from incorrectly failing test expecting 400 response 2016-06-02 12:22:05 -07:00
Chris R 6e36bbe32c Add negative path tests. 2016-06-01 21:28:37 -07:00
Cesar Blum Silveira 58410bf016 Fix Travis build. 2016-06-01 16:52:38 -07:00
Stephen Halter f609f41a7c Reject non-ASCII chars in headers in addition to control chars 2016-06-01 16:01:15 -07:00
Pavel Krymets bb92cc1c29 Fix NRE when aborting connection or client disconects 2016-06-01 15:52:05 -07:00
Chris R 6224f5b6e8 Perf: Remove unnecessary path checks 2016-06-01 14:56:49 -07:00
moozzyk bcdd3147a1 Fixing "Error -4092 EACCES permission denied" in tests
A test is trying to bind to port 80 which fails if IIS is running on the machine
2016-05-31 18:55:29 -07:00
moozzyk 0753f06c28 Aborting request if a string can't be converted to ASCII 2016-05-31 17:11:31 -07:00
Cesar Blum Silveira 50208a3a79 Implement IHttpRequestFeature.RawTarget (aspnet/HttpAbstractions#596). 2016-05-31 15:30:12 -07:00
Andrew Stanton-Nurse 290e1e3f3f improve validation of HTTP methods 2016-05-31 14:13:13 -07:00
Mike Harder 306084356e ServerAddress.FromUrl() should throw if Host is missing (#860) 2016-05-31 11:54:38 -07:00
John Luo 50e140da43 React to update CoreCLR packages
https://github.com/aspnet/Coherence/issues/97
2016-05-27 17:51:51 -07:00
Cesar Blum Silveira 0a181b1f3f Reset Frame's IHttpRequestFeature.Headers and IHttpResponseFeature.Headers between requests (#879). 2016-05-27 16:02:55 -07:00
Cesar Blum Silveira 6d3a416f0e Test code nitpicks. 2016-05-27 15:02:32 -07:00
Cesar Blum Silveira cea5fbbafa Fix disabled tests in MultipleLoopTests. 2016-05-27 13:50:37 -07:00
Mike Harder 2453047fe2 ServerAddress.FromUrl() should throw for invalid url (#875) 2016-05-27 12:02:30 -07:00
Stephen Halter b9b67f6bf4 Merge branch 'khellang/set-headers-on-response-start' into dev 2016-05-26 15:35:01 -07:00
Pavel Krymets ef8b0a90d8 Fix merge formatting issues and cross plat tests 2016-05-26 10:34:25 -07:00
Kristian Hellang 72cc0ffbd5 Set Date and Server headers at response start
Closes #223
2016-05-26 17:38:16 +02:00
Pavel Krymets 71ecf5612f Refactor and add ssl tests 2016-05-26 08:31:20 -07:00
Cesar Blum Silveira a3d0bd0ec4 Bind to both IPv4 and IPv6 when localhost is specified (#231). 2016-05-25 21:23:29 -07:00
Cesar Blum Silveira 3f4e2323f4 Throw when setting Frame.StatusCode or Frame.ReasonPhrase after response has already started (#805). 2016-05-24 16:32:54 -07:00
Mike Harder 58070099fc Remove Console.WriteLine() from MemoryPoolBlockTests (#868)
- Causes noise in test results
2016-05-24 11:38:24 -07:00
Mike Harder 5ca6592677 Don't bind if only port is specified (#814) (#861)
- Also renamed ServerAddressFacts to ServerAddressTests to match existing test classes
2016-05-23 14:06:46 -07:00
Cesar Blum Silveira 925d8e0200 Always cache headers and streams across frames (#754). 2016-05-20 16:16:19 -07:00
Stephen Halter a38a437efb Merge branch 'khellang/server-header-option' into dev 2016-05-20 15:56:29 -07:00
Stephen Halter c39546352a Merge branch 'shanewalters/remote-cert' into dev 2016-05-20 15:53:51 -07:00
Kristian Hellang 2ab01c09fd Add option to remove the Server header 2016-05-20 13:18:18 +02:00
Cesar Blum Silveira 86567e1d93 Fix engine test. 2016-05-19 14:06:27 -07:00
shanewalters b17c070e1c Updated to not use handle, centralize conversion logic. 2016-05-19 14:40:29 -06:00
Ben Adams e8647c0cb4 Remove extra FrameContext class
Resolves #837
2016-05-19 19:22:39 +01:00
Stephen Halter 7e7f21ec49 Merge branch 'benaadams/dateheader' into dev 2016-05-18 17:11:01 -07:00
Cesar Blum Silveira 8c8ee150f7 Send 'Connection: close' in all 400 responses to HTTP/1.1 requests (#840). 2016-05-18 15:03:31 -07:00
Cesar Blum Silveira 3e841ccba1 Always send HTTP/1.1 responses (#792). 2016-05-16 16:11:37 -07:00
Cesar Blum Silveira 2cd86a2724 Temporarily disable BadHttpRequestTests. 2016-05-12 14:55:56 -07:00
Cesar Blum Silveira 3186e1bd72 Make TakeStartLine more robust (#683). 2016-05-12 12:07:08 -07:00
Ben Adams a3b0f809de Only call PrepareDateValues if not already called for tick 2016-05-10 20:38:27 +01:00
Stephen Halter fed7c44829 Merge branch 'halter73/validate-header' into dev 2016-05-04 12:35:26 -07:00
Stephen Halter faf81f11f5 Add response header validation tests 2016-05-04 12:26:00 -07:00
Mike Harder 14bbba0641 Update addresses in IServerAddressesFeature with assigned dynamic ports (#758)
- Change most tests to use dynamic ports, rather than a fixed port obtained from GetNextPort().
- Add several new cases to `AddressRegistrationTests` and `ServerAddressFacts`.
- Remove project `test\Microsoft.AspNetCore.Server.Kestrel.TestCommon`.  It's not longer needed, since only `AddressRegistrationTests` uses `GetNextPort()`.
2016-05-04 11:27:23 -07:00
Stephen Halter f8c2c2470f Merge branch 'benaadams/memorypool' into dev 2016-05-02 21:58:53 -07:00
Pranav K 7494e6a10a Merge branch 'release' into dev 2016-05-02 16:23:48 -07:00
Pranav K 296ca0f948 Fix build break 2016-05-02 16:22:54 -07:00
Pranav K ff510875f2 Merge branch 'release' into dev 2016-05-02 14:56:30 -07:00
Pranav K f0358182e4 Fix build warnings 2016-05-02 11:27:18 -07:00
Ben Adams a31d847719 Tests only to use pooled blocks 2016-04-30 11:16:24 +01:00
Pranav K 98846a4cc7 Merge branch 'release' into dev 2016-04-27 17:34:21 -07:00
Pranav K 5135ee9d2d Fixing CI build break 2016-04-27 17:34:01 -07:00
Justin Van Patten 8f7c0ff041 Minor Stream improvements
- Unsupported members should throw NotSupportedException instead of
NotImplementedException per MSDN docs for CanRead/CanSeek/CanWrite.
- Position should throw NotSupportedException when CanSeek is false.
- FrameRequestStream.Flush/FlushAsync should not throw
NotImplementedException.
- Use expression-bodied members for CanRead/CanSeek/CanWrite on
FrameRequestStream to match FrameResponseStream.
- Provide no-op override of LibuvStream.FlushAsync to match Flush.
2016-04-25 22:19:30 -07:00
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