From a50780f8e356e5ed1807a140527f432acfbf2620 Mon Sep 17 00:00:00 2001 From: Jass Bagga Date: Wed, 3 Jan 2018 14:11:41 -0800 Subject: [PATCH] Skip failing tests temporarily (#506) --- .../RoutePatternBinderTest.cs | 118 ++++++++++++------ 1 file changed, 79 insertions(+), 39 deletions(-) diff --git a/test/Microsoft.AspNetCore.Dispatcher.Test/RoutePatternBinderTest.cs b/test/Microsoft.AspNetCore.Dispatcher.Test/RoutePatternBinderTest.cs index 5716f03c32..965817fcc6 100644 --- a/test/Microsoft.AspNetCore.Dispatcher.Test/RoutePatternBinderTest.cs +++ b/test/Microsoft.AspNetCore.Dispatcher.Test/RoutePatternBinderTest.cs @@ -5,6 +5,7 @@ using System; using System.Collections.Generic; using System.Linq; using System.Text.Encodings.Web; +using Microsoft.AspNetCore.Testing.xunit; using Microsoft.Extensions.ObjectPool; using Microsoft.Extensions.WebEncoders.Testing; using Xunit; @@ -109,8 +110,9 @@ namespace Microsoft.AspNetCore.Dispatcher }, }; - [Theory] + [ConditionalTheory] [MemberData(nameof(EmptyAndNullDefaultValues))] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void Binding_WithEmptyAndNull_DefaultValues( string pattern, DispatcherValueCollection defaults, @@ -146,7 +148,8 @@ namespace Microsoft.AspNetCore.Dispatcher } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnBothEndsMatches() { RunTest( @@ -157,7 +160,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[xx]]UrlEncode[[-]]UrlEncode[[yy]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnLeftEndMatches() { RunTest( @@ -168,7 +172,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[xx]]UrlEncode[[-]]UrlEncode[[yy]]UrlEncode[[a]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnRightEndMatches() { RunTest( @@ -253,8 +258,9 @@ namespace Microsoft.AspNetCore.Dispatcher }, }; - [Theory] + [ConditionalTheory] [MemberData(nameof(OptionalParamValues))] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentWithOptionalParam( string pattern, DispatcherValueCollection defaults, @@ -291,7 +297,8 @@ namespace Microsoft.AspNetCore.Dispatcher } } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnNeitherEndMatches() { RunTest( @@ -302,7 +309,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[a]]UrlEncode[[xx]]UrlEncode[[-]]UrlEncode[[yy]]UrlEncode[[a]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnNeitherEndDoesNotMatch() { RunTest( @@ -313,7 +321,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnNeitherEndDoesNotMatch2() { RunTest( @@ -324,7 +333,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithSimpleMultiSegmentParamsOnBothEndsMatches() { RunTest( @@ -335,7 +345,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[xx]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithSimpleMultiSegmentParamsOnLeftEndMatches() { RunTest( @@ -346,7 +357,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[xx]]UrlEncode[[-]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithSimpleMultiSegmentParamsOnRightEndMatches() { RunTest( @@ -357,7 +369,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[a]]UrlEncode[[xx]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithSimpleMultiSegmentParamsOnNeitherEndMatches() { RunTest( @@ -368,7 +381,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[a]]UrlEncode[[xx]]UrlEncode[[a]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentStandardMvcRouteMatches() { RunTest( @@ -379,7 +393,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[products]]UrlEncode[[.mvc]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithMultiSegmentParamsOnBothEndsWithDefaultValuesMatches() { RunTest( @@ -390,7 +405,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[language]]/UrlEncode[[zz]]UrlEncode[[-]]UrlEncode[[yy]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithDefaultValue() { // URL should be found but excluding the 'id' parameter, which has only a default value. @@ -402,7 +418,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[home]]/UrlEncode[[newaction]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithEmptyStringRequiredValueReturnsNull() { RunTest( @@ -413,7 +430,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithNullRequiredValueReturnsNull() { RunTest( @@ -424,7 +442,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithRequiredValueReturnsPath() { RunTest( @@ -435,7 +454,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[foo]]/UrlEncode[[home]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithNullDefaultValue() { // URL should be found but excluding the 'id' parameter, which has only a default value. @@ -447,7 +467,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[home]]/UrlEncode[[newaction]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathCanFillInSeparatedParametersWithDefaultValues() { RunTest( @@ -458,7 +479,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[Orders]]/UrlEncode[[en]]UrlEncode[[-]]UrlEncode[[US]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathWithUnusedNullValueShouldGenerateUrlAndIgnoreNullValue() { RunTest( @@ -469,7 +491,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[Home]]UrlEncode[[.mvc]]/UrlEncode[[TestAction]]/UrlEncode[[1]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithMissingValuesDoesntMatch() { RunTest( @@ -480,7 +503,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithEmptyRequiredValuesReturnsNull() { RunTest( @@ -491,7 +515,8 @@ namespace Microsoft.AspNetCore.Dispatcher null); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithEmptyOptionalValuesReturnsShortUrl() { RunTest( @@ -502,7 +527,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[v1]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlShouldIgnoreValuesAfterChangedParameter() { RunTest( @@ -513,7 +539,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[orig]]/UrlEncode[[new]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithNullForMiddleParameterIgnoresRemainingParameters() { RunTest( @@ -525,7 +552,8 @@ namespace Microsoft.AspNetCore.Dispatcher + "UrlEncode[[Photos]]/UrlEncode[[1995]]/UrlEncode[[Hola]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithEmptyStringForMiddleParameterIgnoresRemainingParameters() { var ambientValues = new DispatcherValueCollection(); @@ -549,7 +577,8 @@ namespace Microsoft.AspNetCore.Dispatcher + "UrlEncode[[Play]]/UrlEncode[[Photos]]/UrlEncode[[1995]]/UrlEncode[[Hola]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithEmptyStringForMiddleParameterShouldUseDefaultValue() { var ambientValues = new DispatcherValueCollection(); @@ -571,7 +600,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[subtest]]UrlEncode[[.mvc]]/UrlEncode[[Default]]/UrlEncode[[b]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlVerifyEncoding() { var values = new DispatcherValueCollection(); @@ -590,7 +620,8 @@ namespace Microsoft.AspNetCore.Dispatcher UrlEncoder.Default); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlGeneratesQueryStringForNewValuesAndEscapesQueryString() { var values = new DispatcherValueCollection(new { controller = "products", action = "showcategory", id = 123, maxPrice = 100 }); @@ -605,7 +636,8 @@ namespace Microsoft.AspNetCore.Dispatcher "?UrlEncode[[so?rt]]=UrlEncode[[de?sc]]&UrlEncode[[maxPrice]]=UrlEncode[[100]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlGeneratesQueryStringForNewValuesButIgnoresNewValuesThatMatchDefaults() { RunTest( @@ -626,7 +658,8 @@ namespace Microsoft.AspNetCore.Dispatcher "?UrlEncode[[sort]]=UrlEncode[[desc]]&UrlEncode[[maxPrice]]=UrlEncode[[100]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualPathEncodesParametersAndLiterals() { RunTest( @@ -638,7 +671,8 @@ namespace Microsoft.AspNetCore.Dispatcher UrlEncoder.Default); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetVirtualDoesNotEncodeLeadingSlashes() { RunTest( @@ -650,7 +684,8 @@ namespace Microsoft.AspNetCore.Dispatcher UrlEncoder.Default); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithLeadingTildeSlash() { RunTest( @@ -661,7 +696,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[foo]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithLeadingSlash() { RunTest( @@ -672,7 +708,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[foo]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithCatchAllWithValue() { RunTest( @@ -683,7 +720,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[v1]]/UrlEncode[[v2a/v2b]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithCatchAllWithEmptyValue() { RunTest( @@ -694,7 +732,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[v1]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void GetUrlWithCatchAllWithNullValue() { RunTest( @@ -705,7 +744,8 @@ namespace Microsoft.AspNetCore.Dispatcher "/UrlEncode[[v1]]"); } - [Fact] + [ConditionalFact] + [FrameworkSkipCondition(RuntimeFrameworks.CLR, SkipReason = "Fails due to dotnet/standard#567")] public void RoutePatternBinder_KeepsExplicitlySuppliedRouteValues_OnFailedRouetMatch() { // Arrange