From 5df9a9d4a20721b74985ea8f9312392de9a392bd Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Tue, 29 May 2018 18:29:35 -0700 Subject: [PATCH] Cleaned up the test failures --- .../Utilities/VisualBasic/BasicTestBase.vb | 20 ++++++++++++++----- .../Utilities/VisualBasic/BasicTestSource.vb | 2 +- .../Semantic/IOperation/IOperationTests.vb | 4 ++-- .../IOperation/IOperationTests_IArgument.vb | 4 ++-- ...perationTests_IBinaryOperatorExpression.vb | 4 ++-- ...OperationTests_IUnaryOperatorExpression.vb | 4 ++-- .../Semantics/ScriptSemanticsTests.vb | 4 ++-- .../Test/ExpressionCompiler/WinMdTests.vb | 2 +- .../Utilities/Portable/TargetFrameworkUtil.cs | 4 ++-- 9 files changed, 29 insertions(+), 19 deletions(-) diff --git a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb index cae11cfc1c9..22d1305c255 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb +++ b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb @@ -799,8 +799,13 @@ Public MustInherit Class BasicTestBase Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, parseOptions) - Dim defaultRefs = If(useLatestFrameworkReferences, LatestVbReferences, DefaultVbReferences) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=defaultRefs.Append({ValueTupleRef, SystemRuntimeFacadeRef}), options:=If(compilationOptions, TestOptions.ReleaseDll)) + Dim allReferences As IEnumerable(Of MetadataReference) + If useLatestFrameworkReferences Then + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929) + Else + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef) + End If + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) Dim operationTree = GetOperationTreeForTest(Of TSyntaxNode)(compilation, fileName, which) Return (operationTree.tree, operationTree.syntax, operationTree.operation, compilation) End Function @@ -858,10 +863,15 @@ Public MustInherit Class BasicTestBase Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, parseOptions) - Dim defaultRefs = If(useLatestFramework, LatestVbReferences, DefaultVbReferences) - Dim allReferences = defaultRefs.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) + Dim allReferences As IEnumerable(Of MetadataReference) = Nothing + If useLatestFramework Then + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef_v4_0_30319_17929) + Else + allReferences = TargetFrameworkUtil.Mscorlib45ExtendedReferences.Add(TestBase.MsvbRef) + End If + allReferences = If(references IsNot Nothing, allReferences.Concat(references), allReferences) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=allReferences, options:=If(compilationOptions, TestOptions.ReleaseDll)) VerifyOperationTreeAndDiagnosticsForTest(Of TSyntaxNode)(compilation, fileName, expectedOperationTree, expectedDiagnostics, which, additionalOperationTreeVerifier) End Sub diff --git a/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb b/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb index 8da7a43a975..4128c3510e0 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb +++ b/src/Compilers/Test/Utilities/VisualBasic/BasicTestSource.vb @@ -33,7 +33,7 @@ Public Structure BasicTestSource Dim sources = TryCast(Value, String()) If sources IsNot Nothing Then - Return source.Select(Function(s) VisualBasicSyntaxTree.ParseText(s, parseOptions)).ToArray() + Return sources.Select(Function(s) VisualBasicSyntaxTree.ParseText(s, parseOptions)).ToArray() End If Dim tree = TryCast(Value, SyntaxTree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb index 2956cbbe704..f9a32561fe9 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests.vb @@ -522,7 +522,7 @@ BC30518: Overload resolution failed because no accessible 'P1' can be called wit Dim fileName = "a.vb" Dim syntaxTree = Parse(sourceCode, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) @@ -537,7 +537,7 @@ BC30518: Overload resolution failed because no accessible 'P1' can be called wit Dim fileName = "a.vb" Dim syntaxTree = Parse(sourceCode, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb index cb958f1c4e5..f7dbceda700 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IArgument.vb @@ -1077,7 +1077,7 @@ End Class]]>.Value Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim result = GetOperationAndSyntaxForTest(Of InvocationExpressionSyntax)(compilation, fileName) Dim expectedInKind = ConversionKind.Widening Or ConversionKind.UserDefined @@ -1131,7 +1131,7 @@ End Class]]>.Value Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName, options:=Nothing) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) + Dim compilation = CreateEmptyCompilation({syntaxTree}, DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef})) Dim tree = (From t In compilation.SyntaxTrees Where t.FilePath = fileName).Single() Dim model = compilation.GetSemanticModel(tree) diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb index def121eb50a..6e6a91b1609 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IBinaryOperatorExpression.vb @@ -993,7 +993,7 @@ IBlockOperation (26 statements, 3 locals) (OperationKind.Block, Type: null) (Syn Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub @@ -1442,7 +1442,7 @@ IBlockOperation (12 statements, 2 locals) (OperationKind.Block, Type: null) (Syn Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of MethodBlockSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub diff --git a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb index 7423707b412..29fc0f43787 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/IOperation/IOperationTests_IUnaryOperatorExpression.vb @@ -2131,7 +2131,7 @@ IUnaryOperation (UnaryOperatorKind.Minus, IsLifted) (OperationKind.UnaryOperator Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of UnaryExpressionSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub @@ -2158,7 +2158,7 @@ IUnaryOperation (UnaryOperatorKind.Minus) (OperationKind.UnaryOperator, Type: Sy Dim fileName = "a.vb" Dim syntaxTree = Parse(source, fileName) Dim references = DefaultVbReferences.Concat({ValueTupleRef, SystemRuntimeFacadeRef}) - Dim compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) + Dim compilation = CreateEmptyCompilation({syntaxTree}, references:=references, options:=TestOptions.ReleaseDll.WithOverflowChecks(False)) VerifyOperationTreeAndDiagnosticsForTest(Of UnaryExpressionSyntax)(compilation, fileName, expectedOperationTree, expectedDiagnostics) End Sub diff --git a/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb b/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb index dc2eb37ff93..79dc8b0a8d2 100644 --- a/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb +++ b/src/Compilers/VisualBasic/Test/Semantic/Semantics/ScriptSemanticsTests.vb @@ -38,7 +38,7 @@ F(Function() Dim code = "System.Console.WriteLine(1)" Dim compilationUnit = VisualBasic.SyntaxFactory.ParseCompilationUnit(code, options:=New VisualBasicParseOptions(kind:=SourceCodeKind.Script)) Dim syntaxTree = compilationUnit.SyntaxTree - Dim compilation = CreateCompilationWithMscorlib45({syntaxTree}, assemblyName:="Errors_01") + Dim compilation = CreateCompilationWithMscorlib45({syntaxTree}, assemblyName:="Errors_01", options:=TestOptions.ReleaseExe) Dim semanticModel = compilation.GetSemanticModel(syntaxTree, True) Dim node5 As MemberAccessExpressionSyntax = ErrorTestsGetNode(syntaxTree) Assert.Equal("WriteLine", node5.Name.ToString()) @@ -69,7 +69,7 @@ System.Console.WriteLine(1) ) syntaxTree = SyntaxFactory.ParseSyntaxTree(code, options:=New VisualBasicParseOptions(kind:=SourceCodeKind.Script)) - compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}) + compilation = CreateCompilationWithMscorlib45AndVBRuntime({syntaxTree}, options:=TestOptions.ReleaseExe) semanticModel = compilation.GetSemanticModel(syntaxTree, True) node5 = ErrorTestsGetNode(syntaxTree) Assert.Equal("WriteLine", node5.Name.ToString()) diff --git a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb index a5880fc2323..b9ca89212fd 100644 --- a/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb +++ b/src/ExpressionEvaluator/VisualBasic/Test/ExpressionCompiler/WinMdTests.vb @@ -116,7 +116,7 @@ End Class" Shared Sub M(a As LibraryA.A, b As LibraryB.B, t As Windows.Data.Text.TextSegment, f As Windows.Storage.StorageFolder) End Sub End Class" - Dim c0 = CreateCompilationWithMscorlib40({source}, compileReferences, TestOptions.DebugDll) + Dim c0 = CreateEmptyCompilation({source}, compileReferences, TestOptions.DebugDll) WithRuntimeInstance(c0, runtimeReferences, Sub(runtime) Dim context = CreateMethodContext(runtime, "C.M") diff --git a/src/Test/Utilities/Portable/TargetFrameworkUtil.cs b/src/Test/Utilities/Portable/TargetFrameworkUtil.cs index 3ede115edeb..e8b6678ca50 100644 --- a/src/Test/Utilities/Portable/TargetFrameworkUtil.cs +++ b/src/Test/Utilities/Portable/TargetFrameworkUtil.cs @@ -67,8 +67,8 @@ public static class TargetFrameworkUtil public static ImmutableArray Mscorlib40andSystemCoreReferences => ImmutableArray.Create(TestBase.MscorlibRef, TestBase.SystemCoreRef); public static ImmutableArray Mscorlib40andVBRuntimeReferences => ImmutableArray.Create(TestBase.MscorlibRef, TestBase.SystemRef, TestBase.MsvbRef); public static ImmutableArray Mscorlib45References => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626); - public static ImmutableArray Mscorlib45ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.SystemCoreRef, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef); - public static ImmutableArray Mscorlib45AndCSharpReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemCoreRef, TestBase.CSharpRef); + public static ImmutableArray Mscorlib45ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.SystemCoreRef_v4_0_30319_17929, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef); + public static ImmutableArray Mscorlib45AndCSharpReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemCoreRef_v4_0_30319_17929, TestBase.CSharpRef); public static ImmutableArray Mscorlib45AndVBRuntimeReferences => ImmutableArray.Create(TestBase.MscorlibRef_v4_0_30316_17626, TestBase.SystemRef, TestBase.MsvbRef_v4_0_30319_17929); public static ImmutableArray Mscorlib46References => ImmutableArray.Create(TestBase.MscorlibRef_v46); public static ImmutableArray Mscorlib46ExtendedReferences => ImmutableArray.Create(TestBase.MscorlibRef_v46, TestBase.SystemRef_v46, TestBase.SystemCoreRef_v46, TestBase.ValueTupleRef, TestBase.SystemRuntimeFacadeRef); -- GitLab