Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
518 commits
Select commit Hold shift + click to select a range
0b42e5f
Delete WebEncoders.Testing.
Tratcher Oct 30, 2015
5698a48
Remove deleted WebEncoders.Testing from NuGetPackageVerifier
Tratcher Oct 30, 2015
f5e385e
Sign Microsoft.AspNet.Testing and Microsoft.Dnx.Testing.Abstractions.
Oct 30, 2015
28f8da0
Merge remote-tracking branch 'origin/release' into dev
Nov 2, 2015
f78d4f2
Don't sign Microsoft.Dnx.Testing.Abstractions for now.
Nov 2, 2015
761dc76
Strong name the rest of Testing.
Nov 2, 2015
1cbdddc
Merge branch 'release' into dev
Nov 2, 2015
1ef76da
Strong name Microsoft.Dnx.Testing.Abstractions.
Nov 2, 2015
67900c0
Rename Microsoft.Dnx.Compilation.Abstractions to Microsoft.Extensions…
pakrym Nov 2, 2015
4248020
Rename Microsoft.Dnx.Compilation.Abstractions to Microsoft.Extensions…
pakrym Nov 3, 2015
706c043
Add System.Reflection.TypeExtensions dependency to TestHost
halter73 Nov 4, 2015
d8f62bf
Merge branch 'release' into dev
halter73 Nov 4, 2015
f04ac6c
Make Compilation Abstractions naming consistent with Platform Abstrac…
pakrym Nov 6, 2015
d58fe2c
Remove System beta tag in project.json for coreclr packages.
Nov 12, 2015
231aa1e
Explicitly choose Mono 4.0.5
dougbu Nov 17, 2015
db5c33e
Move Travis to supported Linux distribution
dougbu Nov 17, 2015
0ef6400
Update README.md
rynowak Nov 23, 2015
a18e44d
Changes to run tests in dnxcore50
pranavkm Dec 1, 2015
83fde4a
Skipping TestHostExits_WhenParentProcessExits on CoreCLR to unblock CI
pranavkm Dec 7, 2015
84124e0
Removing extraneous dependencies
pranavkm Dec 8, 2015
8bc63e4
Updating to release NuGet.config.
pranavkm Dec 11, 2015
9f479ae
Merge branch 'release' into dev
pranavkm Dec 11, 2015
7de22c4
react to PlatformAbstractions changes
analogrelay Dec 17, 2015
84cb34d
Correct `TestPlatformHelper.IsLinux` and `IsMac` implementations
dougbu Jan 4, 2016
63cd876
Unsource CommandLineUtils
BrennanConroy Jan 6, 2016
0b60f96
Reacting to CoreCLR package version change
pranavkm Jan 21, 2016
33370b0
Rename AspNet 5 folders and files.
Jan 22, 2016
768b561
Rename AspNet 5 file contents.
Jan 22, 2016
d68280f
React to PlatformServices changes
pakrym Jan 26, 2016
5900a29
React to Logging API changes
BrennanConroy Jan 21, 2016
0e54e8a
Build with dotnet
Jan 12, 2016
a3d5317
Updating to new CLI
JunTaoLuo Feb 2, 2016
57d87ec
Relocating dependencies
JunTaoLuo Feb 2, 2016
e6256af
Updated Json.Net version
ajaybhargavb Feb 5, 2016
883a2b2
Update project.json to remove redundant System.Runtime dependency.
Feb 6, 2016
5dd1bdf
Target net451 in Microsoft.AspNetCore.Testing
pranavkm Feb 8, 2016
eca7616
Enable tests to run using dotnet xunit runner
kichalla Feb 10, 2016
254a19a
Fix disappearing xunit tests on big .NET
Feb 5, 2016
4425054
Updating test TMFs for custom test discovery
JunTaoLuo Feb 18, 2016
6c8e5a8
Enabled xml doc generation
ajaybhargavb Feb 19, 2016
603b3eb
Update `build.cmd` to match latest template
dougbu Feb 24, 2016
92edb85
Update the build scripts
Feb 27, 2016
570365e
Return the error code from build.cmd
Feb 28, 2016
7ed15f0
Transition to netstandard.
Mar 1, 2016
bfe0e07
Remove project name from output path
dougbu Mar 3, 2016
1cbdce7
Revert "Transition to netstandard."
pranavkm Mar 3, 2016
d47bb15
Revert "Revert "Transition to netstandard.""
pranavkm Mar 3, 2016
a35c6cb
Added Company, Copyright and Product attributes to AssemblyInfo
ajaybhargavb Mar 4, 2016
ce497c9
Added missed attributes
ajaybhargavb Mar 4, 2016
ad7bd37
Update the build scripts to the latest version
Mar 8, 2016
6b136d3
Limit the branches that build on our public CI.
Mar 10, 2016
0667b53
Fix backslashes in yml config.
Mar 10, 2016
4022316
Don't Assert system exception messages
pranavkm Mar 10, 2016
29379f4
Updated Json.Net version
ajaybhargavb Mar 14, 2016
4290c01
Move DNX test packages into DNX.
pranavkm Mar 13, 2016
09590f8
ASP.NET 5 -> ASP.NET Core
Mar 15, 2016
9ac9d28
Remove dependency on aspnet.xunit
pranavkm Mar 15, 2016
ce88e5e
Fix the compilation failure that shows up when we remove the src folder
Mar 16, 2016
842d76b
Fixed build
davidfowl Mar 25, 2016
dfa2286
Updating to release.
pranavkm Apr 6, 2016
1a26ae8
Merge branch 'release' into dev
pranavkm Apr 6, 2016
12dba83
Removing imports from src projects
pranavkm Apr 7, 2016
2b30b57
Merge branch 'release' into dev
pranavkm Apr 8, 2016
d60557e
Migrate tests, tools and samples to portable
pakrym Apr 14, 2016
5f27f25
Merge branch 'release' into dev
pakrym Apr 14, 2016
12ab78b
Bring Microsoft.NETCore.Platforms dependency back
pakrym Apr 18, 2016
fc49059
Merge branch 'release' into dev
pakrym Apr 18, 2016
d5ee42f
Use latest build of dotnet-test-xunit
pranavkm Apr 19, 2016
bca3135
Merge branch 'release' into dev
pranavkm Apr 19, 2016
42bc96f
Removing references to IRuntimeEnvironment
pranavkm Apr 28, 2016
7123de0
Merge branch 'release' into dev
pranavkm Apr 29, 2016
70d03ff
Fix build warnings
pranavkm May 2, 2016
802bdfa
Merge branch 'release' into dev
pranavkm May 2, 2016
2f0dea7
Fix OSX build on Travis.
May 27, 2016
9039477
Use RuntimeEnviroment.Sources
BrennanConroy Jun 6, 2016
029b010
Add System.Runtime.InteropServices.RuntimeInformation as a runtime de…
pranavkm Jun 7, 2016
8ce839a
Remove direct Microsoft.NETCore.Platforms dependency.
Jun 13, 2016
f9584ad
Updating to release.
pranavkm Jun 14, 2016
a80192c
Merge branch 'release' into dev
pranavkm Jun 14, 2016
af1666a
Updating to dev versions
pranavkm Jun 16, 2016
a4e9e6d
Update project.json
yukozh Jun 11, 2016
8f742d5
Moving the project tool scenario tester from dotnet-watch
Jul 5, 2016
d3bebbb
Update to 2.2.0 build of xunit
pranavkm Jun 27, 2016
0413e9c
One build to rule them all
dougbu Jul 7, 2016
54f9608
Add Task extensions to timeout after a given time period.
Jul 12, 2016
fff0d8d
Address PR feedback.
Jul 12, 2016
df466af
Only check for TimeoutException in TimeoutAfterTest.
Jul 18, 2016
d7eb87c
Update .travis.yml
BrennanConroy Aug 2, 2016
cbb3fa8
fix osskipcondition and Windows versions
analogrelay Aug 5, 2016
c74396e
Increase .travis.yml consistency between repos
dougbu Sep 5, 2016
38415da
Allow passing CultureInfo to CultureReplacer
ryanbrandenburg Sep 22, 2016
138f5f3
Updating partner package versions
pranavkm Sep 28, 2016
b912b8e
Allow OSSkipCondition to be applied at the class and assembly level
Tratcher Oct 7, 2016
922e495
Updating to netcoreapp1.1
pranavkm Oct 12, 2016
0674c28
Revert "Updating to netcoreapp1.1"
pranavkm Oct 12, 2016
7210dbd
Updating to netcoreapp1.1
pranavkm Oct 13, 2016
5e0ea58
Branching for 1.1.0-preview1
pranavkm Oct 17, 2016
c61e72e
Merge remote-tracking branch 'origin/rel/1.1.0-preview1' into dev
pranavkm Oct 17, 2016
45f0652
Added tags in project.json
ajaybhargavb Nov 5, 2016
74a44df
Branching for 1.1.0
pranavkm Nov 9, 2016
79b3e75
Merge branch 'rel/1.1.0' into dev
pranavkm Nov 9, 2016
61312ff
Updating versions to 1.2.0-*
pranavkm Nov 9, 2016
edf9c81
Clean tmp folder after unzipping KoreBuild
Nov 18, 2016
877dfb5
Pin global.json SDK to 1.0.0-preview2-1-003177.
Nov 23, 2016
61772ff
Update .travis.yml osx image to xcode7.3.
Dec 8, 2016
a457043
Removed packages list in NuGetPackageVerifier.json
ajaybhargavb Dec 12, 2016
cee2841
Updating to 4.4 CoreFx packages
pranavkm Dec 5, 2016
fe247ab
Fix SkipReasonTestCase to allow serialization and deserialization.
Dec 20, 2016
3714e54
Make Skip work in ConditionalFact and ConditionalTheory (#240).
Dec 23, 2016
30af626
Upgrade to VS 2017
Jan 31, 2017
edd726c
Remove conditional multi-targeting as it crashes VS
Feb 1, 2017
40d5642
Only use XunitTheoryTestCaseRunner with XunitTheoryTestCase (#245).
Feb 8, 2017
11a6cb5
Bump test projects up to .NET 4.5.2
dougbu Feb 13, 2017
83b0934
Downgrade to stable packages
Feb 15, 2017
d9346a1
Split conditional attribute for theory and facts
natemcmaster Feb 17, 2017
111ca2d
Use SkippedTestCase for ConditionalTheory too
Feb 18, 2017
a31400b
Bump .NET Framework target to net452 (#244).
Feb 16, 2017
fc7b0be
Change korebuild branch and fix argument forwarding in bootstrapper
Mar 2, 2017
ffe8b36
Update AppVeyor and Travis settings
Mar 2, 2017
131165f
Update .travis.yml
davidfowl Mar 9, 2017
b63b791
Merge pull request #257 from aspnet/no-mono
davidfowl Mar 9, 2017
27bb504
Update appveyor and travis settings
Mar 14, 2017
5cf4448
Consolidate dependency versions into one file
Mar 16, 2017
5e5f510
Delete dead code
Mar 16, 2017
c7218cf
Update Travis to macOS Sierra
Mar 21, 2017
f6a456d
Converted test projects to run on netcoreapp2.0
kichalla Mar 21, 2017
cf3a8d5
Remove net451 as a cross-compile target
pranavkm Mar 12, 2017
c350b43
Fix ifdefs that were previously missed.
pranavkm Mar 25, 2017
90c2d3d
Disable API Check for package that we do not push to NuGet
dougbu Mar 26, 2017
5c07849
Updating to 2.0.0 Internal.AspNetCore.Sdk
pranavkm Mar 29, 2017
e4aaab6
Updating versions to 2.0.0-preview1
pranavkm Apr 4, 2017
7203620
Include filepath and line number in timeout exception message
Apr 11, 2017
137d7cc
Use Bundled NETStandard.Library \ NETCoreApp versions instead of expl…
pranavkm Apr 25, 2017
44f86db
Branching for 2.0.0-preview1
pranavkm Apr 26, 2017
efba193
Merge branch 'rel/2.0.0-preview1' into dev
pranavkm Apr 26, 2017
707a7ed
Updating package version to preview2
pranavkm Apr 26, 2017
8bdfde6
Added a new skip condition attribute: EnvironmentVariableSkipConditio…
kichalla Apr 24, 2017
c8cf617
Merge branch 'rel/2.0.0-preview1' into dev
kichalla Apr 27, 2017
2db9c18
Use the bundled NETStandard.Library package in netstandard targeting …
pranavkm May 1, 2017
e940a82
Merge remote-tracking branch 'origin/rel/2.0.0-preview1' into dev
pranavkm May 2, 2017
12484c2
Update InternalAspNetCoreSdkVersion
pakrym May 5, 2017
2fff79a
Merge branch 'rel/2.0.0-preview1' into dev
pakrym May 5, 2017
d27c8d2
Replace RuntimeEnvironment (#272)
BrennanConroy May 10, 2017
b6e009e
Upgrade test framework versions
natemcmaster May 17, 2017
44a503d
Centralize solution root directory resolution logic
JunTaoLuo May 17, 2017
25de9a4
Updated 'src' projects to netstandard2.0 and test/samples to netcorea…
kichalla May 17, 2017
089c3b8
Temporarily target net46 to unblock CI
kichalla May 18, 2017
b67cf89
Updated to use the latest shared runtime
kichalla May 26, 2017
d218c70
Branching for rel/2.0.0-preview2
pranavkm Jun 1, 2017
1269b0a
Merge remote-tracking branch 'origin/rel/2.0.0-preview2' into dev
pranavkm Jun 1, 2017
cac4947
Updating build scripts to point to 2.0.0-preview2 KoreBuild
pranavkm Jun 1, 2017
6d47dcd
Merge remote-tracking branch 'origin/rel/2.0.0-preview2' into dev
pranavkm Jun 1, 2017
ccee089
Removed package reference to System.Threading.Thread
kichalla Jun 1, 2017
f03d0ba
Updating versions to preview3
pranavkm Jun 1, 2017
99484cd
Merge branch 'rel/2.0.0-preview2' into dev
kichalla Jun 1, 2017
a601ae4
Add conditional attribute for Docker testing
natemcmaster Jun 12, 2017
f1a62a3
Remove unused property from dependencies.props
Jun 13, 2017
1a69807
Updated to use the latest NETStandard.Library
kichalla Jun 15, 2017
e5faf74
Move HttpClientSlim to Microsoft.AspNetCore.Testing (#279).
Jun 23, 2017
28fee6a
Remove HttpClientSlimTests to unblock the CI.
Jun 24, 2017
ab7ea56
Update LICENSE.txt text
pranavkm Jul 3, 2017
77b84ed
React to aspnet/BuildTools#293
Jul 6, 2017
449e41e
Remove NETStandard.Library.NETFramework
ryanbrandenburg Jun 30, 2017
6d823d0
Set "TreatWarningsAsErrors" before NuGet restore
ryanbrandenburg Jul 6, 2017
b9f015b
Update version suffix for 2.0.0 RTM release
pranavkm Jul 6, 2017
e4b5e23
Branching for 2.0.0 rtm
pranavkm Jul 10, 2017
fec7f0d
Merge branch 'rel/2.0.0' into dev
pranavkm Jul 10, 2017
e30ed38
Updating KoreBuild branch
pranavkm Jul 10, 2017
468c4a1
Merge branch 'rel/2.0.0' into dev
pranavkm Jul 10, 2017
5f53346
Skip first time experience on Appveyor
ryanbrandenburg Jul 7, 2017
92e5a37
Remove invalid TargetFrameworks conditional.
Jul 13, 2017
b32dc1f
2.0.0-rtm to 2.1.0-preview1
ryanbrandenburg Jul 21, 2017
8c4431e
Set AspNetCoreVersion
ryanbrandenburg Jul 25, 2017
18dcef4
Updating to InternalAspNetCoreSdkVersion 2.1.1-*
pranavkm Jul 25, 2017
1ac8d8c
Update bootstrappers to use the compiled version of KoreBuild
Jul 25, 2017
d568bf9
Fix syntax warning when running build.sh on older versions of bash
Jul 26, 2017
6cbaaff
Update __get_remote_file logic
JunTaoLuo Aug 2, 2017
abb0059
Ensure fallback to curl after failed wget
JunTaoLuo Aug 2, 2017
a44ccec
Upgrade to xunit 2.3.0-beta4 (#289)
natemcmaster Aug 23, 2017
8df072a
Add non-HTTPS tests for HttpClientSlim (#282).
Aug 28, 2017
56cc0a0
Use Directory.Build.props/targets
Aug 29, 2017
60c722e
Use PackageLineup to manage PackageReference versions
Aug 29, 2017
1d89778
Increase Minimum Version of Visual Studio to 15.3.0
jkotalik Sep 22, 2017
0ea0789
Workaround xunit/xunit#1487
Oct 5, 2017
b4c6962
Update bootstrappers
ryanbrandenburg Sep 20, 2017
b598f92
Add RepositoryRoot
ryanbrandenburg Oct 16, 2017
9456937
Helpful message for missing StatusCode
ryanbrandenburg Oct 23, 2017
a6c6619
Pin tool and package versions to make builds more repeatable
Nov 1, 2017
13b36f6
EventSource testing components (#294)
analogrelay Nov 6, 2017
1318245
Target netcoreapp2.1 in tests and samples
pranavkm Nov 10, 2017
73065d9
Use MicrosoftNETCoreApp21PackageVersion to determine the runtime fram…
pranavkm Nov 17, 2017
80a2e2e
Use MSBuild to set NuGet feeds instead of NuGet.config
Nov 20, 2017
541177f
Replace aspnetcore-ci-dev feed with aspnetcore-dev
pranavkm Nov 21, 2017
4a49eb9
Specify runtime versions to install
pranavkm Nov 29, 2017
0df6d2a
Update bootstrappers
ryanbrandenburg Dec 1, 2017
579181b
Update dependencies.props
aspnetci Dec 9, 2017
2e15218
Update dependencies.props
aspnetci Dec 13, 2017
59d23b2
Update dependencies.props
aspnetci Dec 17, 2017
b137967
Update dependencies.props
aspnetci Dec 19, 2017
a538bee
Update dependencies.props
aspnetci Dec 28, 2017
f15ef2a
Update dependencies.props
aspnetci Dec 31, 2017
02aa500
Create ISSUE_TEMPLATE.md
Eilon Jan 2, 2018
e6cab0c
Update dependencies.props
aspnetci Jan 4, 2018
1c58628
Update dependencies.props
aspnetci Jan 6, 2018
21934a6
Update dependencies.props
aspnetci Jan 14, 2018
5f7f056
Branching for 2.1.0-preview1
pranavkm Jan 23, 2018
f7eee0e
Merge branch 'release/2.1' into dev
pranavkm Jan 23, 2018
9bd6803
Updating version to preview2
pranavkm Jan 24, 2018
6eafe6f
Support bit-wise OR for OSSkipConditionAttribute (#298)
jbagga Jan 30, 2018
c655137
Update dependencies.props to 2.1.0-preview-28193, build tools to 2.1.…
Jan 31, 2018
b4a27b9
Update dependencies.props
aspnetci Feb 1, 2018
dc434e5
Update dependencies.props
aspnetci Feb 3, 2018
8d54855
Align NS.Library variable name with Universe
Feb 9, 2018
984c4b8
Merge branch 'release/2.1' into dev
Feb 9, 2018
164b33d
Update dependencies.props
aspnetci Feb 11, 2018
3a52e3b
Cancel the timeout if the other task fires (#299)
davidfowl Feb 13, 2018
e262eb1
Update dependencies.props
aspnetci Feb 18, 2018
3c6b711
Avoid creating timers if the task is already completed (#300)
davidfowl Feb 20, 2018
66e39cf
Use FeatureBranchVersionSuffix when generating VersionSuffix
pranavkm Feb 22, 2018
285e40d
Update dependencies.props
aspnetci Feb 26, 2018
9309051
Update dependencies.props
aspnetci Mar 4, 2018
3ef8ba0
Use dotnet-core feed in repos
pranavkm Mar 6, 2018
610bbbb
Prepend FeatureBranchVersionPrefix if FeatureBranchVersionSuffix is s…
pranavkm Mar 6, 2018
a01d132
Update dependencies.props
aspnetci Mar 8, 2018
36d99d2
Branching for 2.1.0-preview2
pranavkm Mar 16, 2018
c53368d
Merge remote-tracking branch 'origin/release/2.1' into dev
pranavkm Mar 16, 2018
71fb663
Update version prefix to preview3
pranavkm Mar 16, 2018
5f84369
Update KoreBuild channel
pranavkm Mar 16, 2018
71cb643
Merge branch 'release/2.1' into dev
pranavkm Mar 16, 2018
229f3f2
Update dependencies.props
aspnetci Mar 25, 2018
00aed18
Update dependencies.props
Mar 28, 2018
c83a278
Update dependencies.props
aspnetci Apr 3, 2018
ac4fba8
Make SkippedTestCase and related utilities public
Apr 9, 2018
981cd11
Update dependencies.props
aspnetci Apr 15, 2018
e7abaf7
Merge remote-tracking branch 'origin/release/2.1' into rybrande/Merge…
ryanbrandenburg Apr 16, 2018
807e41b
Branching for 2.1.0-rc1
ryanbrandenburg Apr 17, 2018
76dac22
Merge branch 'release/2.1' into dev
ryanbrandenburg Apr 17, 2018
286ade0
Update version number to 2.2.0
ryanbrandenburg Apr 17, 2018
aadb685
Set NETStandardImplicitPackageVersion via dependencies.props
Apr 19, 2018
a0e977c
Update dependencies.props
aspnetci Apr 20, 2018
2cb5987
Merge remote-tracking branch 'testing/dev' into pakrym/Merge-testing
pakrym Apr 20, 2018
739a947
Merge branch release/2.1 into dev
Apr 20, 2018
2542334
Update dependencies.props
aspnetci Apr 23, 2018
0776aff
Add projects
pakrym Apr 24, 2018
dbd6d87
Update dependencies.props
aspnetci Apr 29, 2018
9fc4cbf
Bump version to 2.1.0-rtm
Apr 30, 2018
42ea283
Merge branch release/2.1 into dev
Apr 30, 2018
39730d6
Merge remote-tracking branch 'testing/dev' into pakrym/Merge-testing
pakrym May 3, 2018
48ebd66
Merge remote-tracking branch 'origin/dev' into pakrym/Merge-testing
pakrym May 3, 2018
43a6d7b
cleanup
pakrym May 3, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,9 @@ project.lock.json
*.docstates
_ReSharper.*
*.exe
*net45.csproj
*net451.csproj
*k10.csproj
*.psess
*.vsp
*.pidb
Expand All @@ -33,5 +36,6 @@ _ReSharper.*
node_modules/
**/[Cc]ompiler/[Rr]esources/**/*.js
.vscode/
.testPublish/
global.json
BenchmarkDotNet.Artifacts/
21 changes: 21 additions & 0 deletions Common.sln
Original file line number Diff line number Diff line change
Expand Up @@ -58,8 +58,14 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Object
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Extensions.Primitives.Performance", "benchmarks\Microsoft.Extensions.Primitives.Performance\Microsoft.Extensions.Primitives.Performance.csproj", "{E180A42D-2CB3-4810-8605-1AC30250EFED}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Testing", "src\Microsoft.AspNetCore.Testing\Microsoft.AspNetCore.Testing.csproj", "{FBFB870A-39D1-4DA3-B002-C21E5EA247D9}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sample.Tests", "test\Sample.Tests\Sample.Tests.csproj", "{225CFC67-B1CB-46E6-A4EE-E42B532F4986}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Analyzer.Testing", "src\Microsoft.AspNetCore.Analyzer.Testing\Microsoft.AspNetCore.Analyzer.Testing.csproj", "{50EC2676-229C-4305-AEA8-EE14AD3C3CFC}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.AspNetCore.Testing.Tests", "test\Microsoft.AspNetCore.Testing.Tests\Microsoft.AspNetCore.Testing.Tests.csproj", "{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Expand Down Expand Up @@ -102,10 +108,22 @@ Global
{E180A42D-2CB3-4810-8605-1AC30250EFED}.Debug|Any CPU.Build.0 = Debug|Any CPU
{E180A42D-2CB3-4810-8605-1AC30250EFED}.Release|Any CPU.ActiveCfg = Release|Any CPU
{E180A42D-2CB3-4810-8605-1AC30250EFED}.Release|Any CPU.Build.0 = Release|Any CPU
{FBFB870A-39D1-4DA3-B002-C21E5EA247D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FBFB870A-39D1-4DA3-B002-C21E5EA247D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FBFB870A-39D1-4DA3-B002-C21E5EA247D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FBFB870A-39D1-4DA3-B002-C21E5EA247D9}.Release|Any CPU.Build.0 = Release|Any CPU
{225CFC67-B1CB-46E6-A4EE-E42B532F4986}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{225CFC67-B1CB-46E6-A4EE-E42B532F4986}.Debug|Any CPU.Build.0 = Debug|Any CPU
{225CFC67-B1CB-46E6-A4EE-E42B532F4986}.Release|Any CPU.ActiveCfg = Release|Any CPU
{225CFC67-B1CB-46E6-A4EE-E42B532F4986}.Release|Any CPU.Build.0 = Release|Any CPU
{50EC2676-229C-4305-AEA8-EE14AD3C3CFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50EC2676-229C-4305-AEA8-EE14AD3C3CFC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50EC2676-229C-4305-AEA8-EE14AD3C3CFC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50EC2676-229C-4305-AEA8-EE14AD3C3CFC}.Release|Any CPU.Build.0 = Release|Any CPU
{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand All @@ -120,7 +138,10 @@ Global
{E1586801-D345-43C7-BC4B-9D4A83101B6C} = {8668B1D5-9C54-49CA-8446-18040B4C7D15}
{7486AB7B-C22F-4CA0-91EA-D31D9443DBFB} = {A9A93AF9-2113-4321-AD20-51F60FF8B2BD}
{E180A42D-2CB3-4810-8605-1AC30250EFED} = {A9A93AF9-2113-4321-AD20-51F60FF8B2BD}
{FBFB870A-39D1-4DA3-B002-C21E5EA247D9} = {FEAA3936-5906-4383-B750-F07FE1B156C5}
{225CFC67-B1CB-46E6-A4EE-E42B532F4986} = {6878D8F1-6DCE-4677-AA1A-4D14BA6D2D60}
{50EC2676-229C-4305-AEA8-EE14AD3C3CFC} = {FEAA3936-5906-4383-B750-F07FE1B156C5}
{B439E0C8-F892-4AC5-BBF7-63BCDAACA7A9} = {6878D8F1-6DCE-4677-AA1A-4D14BA6D2D60}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {371030CF-B541-4BA9-9F54-3C7563415CF1}
Expand Down
5 changes: 4 additions & 1 deletion build/dependencies.props
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,16 @@
<MicrosoftNETCoreApp21PackageVersion>2.2.0-preview1-26424-04</MicrosoftNETCoreApp21PackageVersion>
<MicrosoftNETTestSdkPackageVersion>15.6.1</MicrosoftNETTestSdkPackageVersion>
<MoqPackageVersion>4.7.49</MoqPackageVersion>
<NETStandardLibrary20PackageVersion>2.0.3</NETStandardLibrary20PackageVersion>
<NETStandardLibrary20PackageVersion>2.0.1</NETStandardLibrary20PackageVersion>
<NewtonsoftJsonPackageVersion>11.0.2</NewtonsoftJsonPackageVersion>
<SystemIOPipelinesPackageVersion>4.5.0-preview3-26423-04</SystemIOPipelinesPackageVersion>
<SystemNetHttpPackageVersion>4.3.2</SystemNetHttpPackageVersion>
<SystemMemoryPackageVersion>4.5.0-preview3-26423-04</SystemMemoryPackageVersion>
<SystemReflectionMetadataPackageVersion>1.6.0-preview3-26423-04</SystemReflectionMetadataPackageVersion>
<SystemRuntimeCompilerServicesUnsafePackageVersion>4.5.0-preview3-26423-04</SystemRuntimeCompilerServicesUnsafePackageVersion>
<SystemRuntimeInteropServicesRuntimeInformationPackageVersion>4.3.0</SystemRuntimeInteropServicesRuntimeInformationPackageVersion>
<SystemSecurityCryptographyCngPackageVersion>4.5.0-preview3-26423-04</SystemSecurityCryptographyCngPackageVersion>
<SystemValueTuplePackageVersion>4.5.0-preview3-26413-02</SystemValueTuplePackageVersion>
<SystemThreadingTasksExtensionsPackageVersion>4.5.0-preview3-26423-04</SystemThreadingTasksExtensionsPackageVersion>
<XunitAnalyzersPackageVersion>0.8.0</XunitAnalyzersPackageVersion>
<XunitAssertPackageVersion>2.3.1</XunitAssertPackageVersion>
Expand Down
79 changes: 79 additions & 0 deletions src/Microsoft.AspNetCore.Testing/CultureReplacer.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.

using System;
using System.Globalization;
using System.Threading;
using Xunit;

namespace Microsoft.AspNetCore.Testing
{
public class CultureReplacer : IDisposable
{
private const string _defaultCultureName = "en-GB";
private const string _defaultUICultureName = "en-US";
private static readonly CultureInfo _defaultCulture = new CultureInfo(_defaultCultureName);
private readonly CultureInfo _originalCulture;
private readonly CultureInfo _originalUICulture;
private readonly long _threadId;

// Culture => Formatting of dates/times/money/etc, defaults to en-GB because en-US is the same as InvariantCulture
// We want to be able to find issues where the InvariantCulture is used, but a specific culture should be.
//
// UICulture => Language
public CultureReplacer(string culture = _defaultCultureName, string uiCulture = _defaultUICultureName)
: this(new CultureInfo(culture), new CultureInfo(uiCulture))
{
}

public CultureReplacer(CultureInfo culture, CultureInfo uiCulture)
{
_originalCulture = CultureInfo.CurrentCulture;
_originalUICulture = CultureInfo.CurrentUICulture;
_threadId = Thread.CurrentThread.ManagedThreadId;
CultureInfo.CurrentCulture = culture;
CultureInfo.CurrentUICulture = uiCulture;
}

/// <summary>
/// The name of the culture that is used as the default value for CultureInfo.DefaultThreadCurrentCulture when CultureReplacer is used.
/// </summary>
public static string DefaultCultureName
{
get { return _defaultCultureName; }
}

/// <summary>
/// The name of the culture that is used as the default value for [Thread.CurrentThread(NET45)/CultureInfo(K10)].CurrentUICulture when CultureReplacer is used.
/// </summary>
public static string DefaultUICultureName
{
get { return _defaultUICultureName; }
}

/// <summary>
/// The culture that is used as the default value for [Thread.CurrentThread(NET45)/CultureInfo(K10)].CurrentCulture when CultureReplacer is used.
/// </summary>
public static CultureInfo DefaultCulture
{
get { return _defaultCulture; }
}

public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}

private void Dispose(bool disposing)
{
if (disposing)
{
Assert.True(Thread.CurrentThread.ManagedThreadId == _threadId,
"The current thread is not the same as the thread invoking the constructor. This should never happen.");
CultureInfo.CurrentCulture = _originalCulture;
CultureInfo.CurrentUICulture = _originalUICulture;
}
}
}
}
Loading