Commit Graph

316 Commits

Author SHA1 Message Date
Justin Kotalik 49a720c1dc Fix GetMemory to not pass in size hint 2019-02-17 09:29:57 -08:00
Ben Adams 639d290b19 Lock-free IOQueue (#6154)
Second half of https://github.com/aspnet/AspNetCore/pull/4060
2019-02-15 18:26:30 -08:00
Chris Ross 191fb03de7
ITlsHandshakeFeature requires Win8+ (#7629) 2019-02-15 16:28:04 -08:00
Chris Ross 93a24b03bb
Disable AllowSynchronousIO by default in all servers #4774 (#5120)
* Disable AllowSynchronousIO by default in all servers
2019-02-15 16:05:49 -08:00
Pavel Krymets 9afdc48f13
Disable remote symbol loading for dump files in CI (#7620) 2019-02-15 14:42:36 -08:00
Chris Ross cc62bcebfc
Skip HttpSys.Https tests on Helix Internal/#1816 (#7578) 2019-02-15 12:33:23 -08:00
Pavel Krymets 6bafb7cb6f
Log before releasing streams and firing tokens (#7583)
Might fix: https://github.com/aspnet/AspNetCore-Internal/issues/1659

I think writes complete too fast so we don't observe when the message gets logged
2019-02-15 10:41:21 -08:00
Justin Kotalik 25f1f59378
Make first write use the same BufferWriter (#7505) 2019-02-15 08:26:57 -08:00
Chris Ross 44e6813452
Use new version of h2spec #6691 (#7559) 2019-02-14 09:28:58 -08:00
Stephen Halter 132a1ad31b
Remove capture of "this" from local function (#7467) 2019-02-14 00:21:39 -08:00
Pranav K 27e54a1b7a Skipping flaky test 2019-02-13 16:45:36 -08:00
Jeremy Kuhne a02ac20183 Use var 2019-02-13 16:20:34 -08:00
Jeremy Kuhne 2c649b2409 Use .NET Core SequenceReader
Remove BufferReader and use SequenceReader<T> which now ships in CoreFX.

This is related to https://github.com/aspnet/KestrelHttpServer/pull/3068 which builds on the functionality added to the reader.
2019-02-13 16:20:34 -08:00
Nate McMaster 338de4710a
Automatically set 'PrivateAssets=All' for .Sources references (#7539)
When a `<Reference>` is named `*.Sources`, set PrivateAssets=All (exclude from generated nuspec) and IncludeAssets=ContentFiles (only consume content files, not .dll's)
2019-02-13 14:31:15 -08:00
Pranav K cddbc2e888
Improve Components error handling (#7165)
* Improve Components error handling

* Change event handlers IHandleEvent, IHandleAfterEvent to be async.
* Return faulted tasks to Renderer instead of handling exceptions in ComponentBase
* Use ILogger in RemoteRenderer, and log to console in WebAssemblyRenderer
* Cleaning up touched files

Fixes https://github.com/aspnet/AspNetCore/issues/4964
2019-02-13 14:22:46 -08:00
Chris Ross 06d7fe73a9
Implement ITlsHandshakeFeature for HttpSys (#7284) 2019-02-13 08:39:45 -08:00
Nate McMaster 3fd8a97af2
Add targets to generate the list of shared framework assemblies from project property (#7510)
Changes:
* Add support for a property, `IsAspNetCoreApp`, in the .csproj file of assemblies which are part of the shared framework. 
* Remove unused dependencies
* Remove reference which have become part of 'netcoreapp3.0'
2019-02-12 23:00:19 -08:00
Justin Kotalik e5f31f264c Another spot 2019-02-11 15:10:30 -08:00
Justin Kotalik 371c29577b Another spot 2019-02-11 14:42:02 -08:00
Justin Kotalik 84cdac952a AsTask => GetAsTask() 2019-02-11 13:58:25 -08:00
David Fowler a5ba735a0f
Remove PlatformBenchmarks from sln (#7440) 2019-02-11 12:38:20 -08:00
Pavel Krymets 037a5b0231
Add more logging to a failing tests and move dumps to logs directory (#7462) 2019-02-11 12:14:05 -08:00
Ben Adams 3276870d6a Remove unnecessary Flush (#7424) 2019-02-11 11:02:00 -08:00
Ben Adams 6d42ff7c38 Don't write empty data for Flush (#7415) 2019-02-11 11:01:36 -08:00
Ben Adams 704094b199 Use C#7.3's ReadOnlySpan<byte> optimization for static data (#7422) 2019-02-11 07:40:40 -08:00
Martin Costello e465013063 Remove local item group (#7412)
Remove local development item group accidentally added by #7110.
2019-02-09 12:13:32 -08:00
David Fowler 8f49bdf195
More efficient preface parsing (#7406)
- Slice before turning the buffer into a Span
- Use SequenceEqual instead of a loop
2019-02-08 21:13:42 -08:00
Justin Kotalik 35b99e44ce
Expose HttpResponse PipeWriter in Kestrel (#7110) 2019-02-08 17:24:26 -08:00
Ben Adams b2f850aa82 Remove extraneous call to GetMemory (#7379) 2019-02-08 08:06:17 -08:00
Chris Ross efb5923120
Enable verbose h2spec logs (#7361) 2019-02-08 08:03:42 -08:00
Andrew Arnott 3d4b198990 Add xml doc comments for BufferWriter struct (#7350) 2019-02-07 18:33:03 -08:00
Hao Kung 26acbc3861
Reorganize helix files (#7353) 2019-02-07 16:27:48 -08:00
Stephen Halter a677464ed0 Merge branch 'release/2.2' 2019-02-07 15:41:08 -08:00
Andrew Arnott 21177671b6 Remove extraneous call to GetMemory in BufferWriter (#7354)
The BufferWriter called GetMemory(count) and dropped the result, only to then call GetSpan(). This moves the count argument to GetSpan, and drops the call to GetMemory.
2019-02-07 15:31:33 -08:00
John Luo 92f21dbda0
Unset reserved bit when setting 31 bit uint values (#7339)
* Unset reserved bit when setting 31 bit uint values

* Add FrameWriter tests

* Add overload
2019-02-07 12:50:53 -08:00
Stephen Halter 9c41d5b48f
Fix flaky CanUpgradeRequestWithConnectionKeepAliveUpgradeHeader test (#7323)
* Randomize MockSystemClock
2019-02-07 11:56:10 -08:00
Hao Kung c9499e14e4
Run helix tests on master (#6728) 2019-02-07 09:20:08 -08:00
John Mazouri 2345c837ce Fix typo in HttpSysOptions.cs (#7207)
`infiniate` => `infinite` in ArgumentOutOfRangeException message.
2019-02-07 09:19:22 -08:00
Pavel Krymets 5cd72c1fb2
Remove ANCMV1 from everywhere (#7334) 2019-02-07 09:06:27 -08:00
Justin Kotalik 07ef2d881f
Remove misleading websocket error log (#7249) 2019-02-07 08:26:10 -08:00
BrennanConroy 744a32a750
SignalR C++ tests passing and part of build (#7160) 2019-02-06 17:23:23 -08:00
Pavel Krymets 0211e894fe
Use Win32 as native platform (#7309) 2019-02-06 12:17:55 -08:00
Nate McMaster 075612b988
Install the .NET Core SDK into the repo root instead of UserProfile and 'install' copy of AspNetCore shared framework (#7293)
This is required to workaround several limitations in the way the .NET Core SDK finds shared frameworks and targeting packs. It allow tests to use shared frameworks and targeting packs.

It also matches the patterns established in other aspnet and dotnet repos. This should reduce the friction required to adopt Arcade SDK.

## Changes

* This moves the default location of the .NET Core SDK installation into `$repoRoot/.dotnet`. This location was already in use for CI builds. 
* Update the build step for Microsoft.AspNetCore.App to install the shared framework into the local copy of the .NET Core SDK

## Recommendations

* Use the "startvs.cmd" script to launch Visual Studio. This will set required environment variables to make VS happier than if you just double click the .sln file.
* Use "activate.sh/ps1" if you want to run `dotnet build`, `dotnet test` and other dotnet commands. These will set required environment variables, including PATH.
* I recommend removing %USERPROFILE%/.dotnet to your PATH variable if you had added it manually before. This will no longer match what build tools will install.
* `git clean -xfd -e .dotnet/` preserves the folder so you don’t have to re-download the SDK again.
2019-02-06 11:20:49 -08:00
Chris Ross 7bd5297cfa
Re-enable h2spec tests with more diagnostics Internal/#1720 (#7259) 2019-02-05 16:18:12 -08:00
Pavel Krymets 6a46f48eb0
Add support for suspending ANCM startup (#7252)
Uses the `ASPNETCORE_STARTUP_SUSPEND_EVENT` environment variable to get an event name.

Fixes: https://github.com/aspnet/AspNetCore/issues/6972
2019-02-05 15:41:45 -08:00
Stephen Halter bf24899592
Auto-set "Content-Length: 0" on 205 responses (#7205) 2019-02-05 13:45:08 -08:00
Pavel Krymets e3e9b120b3
Reenable tests that are though to be fixed (#7254)
ReaderThrowsCancelledException might be fixed by https://github.com/aspnet/AspNetCore/pull/6862
DoesNotStartIfDisabled was fixed by https://github.com/aspnet/AspNetCore/pull/7068

Also remove some extreme diagnostic features added in https://github.com/aspnet/AspNetCore/pull/7068
2019-02-05 09:20:45 -08:00
Pavel Krymets f888a37712
More logs in forwardinghandler.cpp (#7244) 2019-02-04 11:21:58 -08:00
David Fowler 9f202feafc
Rename IHttpContextContainer to IDefaultHttpContextContainer (#7217)
- Renamed since the property has to be a DefaultHttpContext
2019-02-02 22:31:49 -08:00
Sébastien Ros 61bc18fee3
Exclude benchmark apps from builds (#7171) 2019-02-01 17:57:47 -08:00
Pavel Krymets 35746adf68
Allow test projects to run standalone (#7144) 2019-02-01 15:19:49 -08:00
Gérald Barré f1b24ccb92 Replace unsafe code with string.Create for hex generation (#6784) 2019-02-01 10:06:20 -08:00
James Newton-King 574be0d22c
Add readonly modifier to readonly structs (#7169) 2019-02-01 15:04:25 +13:00
Nate McMaster 6081fec894
Add new build.cmd/sh options for suppressing restore, NodeJS, setting target arch and OS name, and more (#7137)
Add new command line parameters for working with the project:

* `-NoBuild`, `-NoRestore` - these already existed, but users found it hard to discover this powershell syntax: '-build:$false'
* `-Arch`/`--arch` - set the target CPU architecture to build. Defaults to x64
* `--os-name` - on non-Windows builds, manually specify if the build should target Alpine. generic Linux, or MacOS
* Rename flags used to build specific project types. The pattern now is `--build-$(group)` or `--no-build-$(group)` (In PowerShell its `-Build$(Group)` or `-NoBuild$(Group). Example: -NoBuildJava

Changes to build definitions:
* Update the ci build definition to build all supported architectures
* Support publishing multiple artifacts per job

Other changes:
* `-NoBuild` implies `-NoRestore`
* Add new properties, `TargetArchitecture`, `TargetOsName`, and `TargetRuntimeIdentifier`
* Replace usages of `SharedFxRid` with these new properties
* To make `--no-build-nodejs` actually work, replaced Components.Browser.JS.csproj with Components.Browser.JS.npmproj
* Fix errors when building for win-arm on a clean machine
* Fix a few other project errors, like using the wrong syntax for DefaultItemExcludes, or using the wrong Platform value for x86
2019-01-31 15:47:47 -08:00
Stephen Halter 4539b0d2c3
Increase shutdown timeout in Kestrel TestServer (#7082)
* Never use a null abort reason
2019-01-29 16:13:37 -08:00
Pavel Krymets 1ecc8dd9c6
Remove AspNetCoreModule V1 (#7071) 2019-01-29 08:20:00 -08:00
BrennanConroy a8f1b034d8
Pass in auth type for WindowsAuth in out of proc (#7074) 2019-01-28 20:06:23 -08:00
Justin Kotalik 1222d8de49
Add StartAsync() to HttpResponse; ImplementFeature in Kestrel (#6967) 2019-01-28 17:42:04 -08:00
Pavel Krymets 963508b9b9
Add more logging to iis graceful shutdown (#7068) 2019-01-28 16:23:55 -08:00
Pavel Krymets f06e1822f5
Enable strict mode in roslyn compiler (#6950) 2019-01-28 15:56:27 -08:00
Justin Kotalik 7a98a04c53
Drain requests in native instead of managed for IIS In-process (#6816) 2019-01-28 15:20:28 -08:00
David Fowler 447f4bc298
Reuse the stack for OnCompleted and OnStarting calls (#6833)
- Reviewing profiles for MVC and other things that use RegisterForDispose, this shows up as a significant amount of allocations.
2019-01-28 20:37:11 +00:00
David Fowler 549f8e1773
Remove over engineered callback writing and just write chunks directly. (#6901) 2019-01-28 20:36:47 +00:00
Chris Ross 7d4b6fccff
Clean up ManualResetEvent usage in tests (#6961) 2019-01-28 12:10:16 -08:00
Pavel Krymets 440204892e
Use published apps in IIS tests (#7027) 2019-01-28 12:02:42 -08:00
Nate McMaster ac04019e42
Remove obsolete build infrastructure (#6995)
Changes:

* Remove obsolete targets which are unnecessary now that this repo no longer builds git submodules in a separate build process
* Remove the need for static analysis of 'ArtifactInfo' items
* Simplify how the code signing task is configured
* Remove unused repo tasks
* Remove duplicate lists of external dependencies and packages to be produced
* Remove obsolete build definition
* Remove obsolete build script parameters
* Add VisualStudioSetupOutputPath
2019-01-28 09:57:59 -08:00
Chris Ross 6c5e0cae67
Skip kestrel h2spec tests (#7035) 2019-01-28 09:36:05 -08:00
Pavel Krymets 141f3d8781
Reenable application initialization module tests (#7024) 2019-01-28 09:24:42 -08:00
Pavel Krymets 3ea1f6a0e9
Disable ResponseFormats_Chunked test (#6952) 2019-01-25 21:03:18 -08:00
Chris Ross 2b7c26a123
Dynamically install NGinx Internal/#1525 (#6963) 2019-01-25 14:32:32 -08:00
Pavel Krymets ebb7f3ade3
Harden IISExpress shutdown code (#7004) 2019-01-25 09:19:51 -08:00
Nate McMaster 5a0e227fad
Merge branch 'release/2.2' 2019-01-24 16:14:55 -08:00
Stephen Halter 2853b451a2 Add RequestAbortedTokenIsUsableAfterCancellation test 2019-01-24 12:38:16 -08:00
Stephen Halter 5d554aeecd Revert "Wait to dispose RequestAborted CTS (#4447)"
This reverts commit 0622513058.
2019-01-24 11:23:58 -08:00
Chris Ross 24f37a9619
[automated] Merge branch 'release/2.2' => 'master' 2019-01-23 11:40:55 -08:00
Chris Ross 1fe7f5e02a
Make auth schemes const #5884 #6020 (#6934) 2019-01-22 15:04:10 -08:00
Chris Ross f4c5ac7635
Move Kestrel.Core.Tests to their own test group (#6927) 2019-01-22 12:41:12 -08:00
Pavel Krymets f83f3bca08
Lock when removing disconnect handler (#6862) 2019-01-18 20:25:56 -08:00
John Luo 8c06f04d50
Call StopAsync before disposing (#6189) (#6866) 2019-01-18 18:30:54 -08:00
Pavel Krymets 8006e2d07f
More logging in IISExpress shutdown (#6854) 2019-01-18 14:29:07 -08:00
Justin Kotalik 707f06ead8
Address flaky ANCMV1 tests (#6844) 2019-01-18 14:22:56 -08:00
Nate McMaster 922512a9fb
Convert the artifacts folder layout to match Arcade (#6850)
Changes:
* IsProductPackage => IsShippingPackage
* artifacts/$config/packages => artifacts/packages/$config
* packages/product => packages/Shipping
* packages/internal => packages/NonShipping
* Renamed MSBuild properties used for output folders
* Update build tools to use 2 spaces in global.json
2019-01-18 13:38:24 -08:00
Stephen Halter 7d4ae6049f
Revert "Revert "Wait to dispose RequestAborted CTS (#4447)"" (#6812)
This reverts commit 29b7c5c030.
2019-01-17 16:22:03 -08:00
Ryan Brandenburg 49a2de9e59
Remove old properties (#6396)
* Remove AspNetCoreHostingModel which is now redundant

* Remove NETCoreAppMaximumVersion
2019-01-17 13:42:28 -08:00
Sourabh Shirhatti 17e5be6fbc Clean up event log strings for ANCM (#4515) 2019-01-16 16:18:01 -08:00
Pavel Krymets 6cac028716
Switch IIS tests to Hosted queue (#6746) 2019-01-16 11:47:52 -08:00
Justin Kotalik 8119c57669
Always copy nuget package output to build directory (#6631) 2019-01-16 10:45:45 -08:00
Pavel Krymets 41c1490468
Add an event log message when loading hostfxr fails (#6670) 2019-01-15 15:07:51 -08:00
Stephen Halter 0622513058
Wait to dispose RequestAborted CTS (#4447) 2019-01-15 14:54:10 -08:00
Pavel Krymets 4c956d4767
Add SkipIfNotAdminAttribute to StartsWithDotnetInstallLocation (#6718) 2019-01-15 13:25:07 -08:00
Chris Ross 1f892d798d
Add AllowSynchronousIO to TestServer and IIS, fix tests (#6404) 2019-01-15 11:48:17 -08:00
Stephen Halter 0defbf74f8
Fix flakiness in Kestrel ungraceful shutdown test (#6637) 2019-01-15 11:10:44 -08:00
Pavel Krymets 437baf6f5e
Port Handle EOF HResult from async callback to 2.2 (#6483) 2019-01-15 10:33:26 -08:00
Pavel Krymets 5fd9435392
Port ANCM current directory changes to 2.2 (#6150) 2019-01-15 09:00:50 -08:00
Justin Kotalik cdd38d70cf
Implement Stream Adapters (and minor nitpics) (#6583) 2019-01-15 09:00:06 -08:00
David Fowler 3f1760c52b
Reduce copies for WebSocket reads (#6656)
- Change the upgrade message body to use the transport pipe instead of the request body pipe.
- Remove some logic from the base type (more can be removed but this is a conservative change)
- Improve performance of the ReadAsync call
2019-01-14 14:14:02 -08:00
Stephen Halter cd0eab88ea
Lower log severity for opening internal libuv pipe (#6636)
Addresses #4741
2019-01-14 12:29:49 -08:00
Nate McMaster 7f7723bdf2
Consume dependencies updates automatically via darc (#6676)
This refactors the list of dependency versions to support consuming updates automatically via darc and maestro.
2019-01-14 12:01:31 -08:00
Doug Bunting 970bced25c
Update branding to 2.2.2 (#6608)
- pin System.Net.WebSockets.WebSocketProtocol to version 4.5.3
- update Directory.Build.targets files to correct build issues
- fix duplicate metadata during static analysis
2019-01-14 11:40:01 -08:00
Nate McMaster 089912cd1b
Switch queues used during Windows builds (#6667) 2019-01-14 10:07:12 -08:00