diff --git a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb index cb963e5c2f3a6eeabca78dc32a0a99a3f9c0a10f..83acd5fee4fdbc3a3190a1039a57f620341de3c4 100644 --- a/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb +++ b/src/Compilers/Test/Utilities/VisualBasic/BasicTestBase.vb @@ -1,27 +1,15 @@ ' Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. Imports System.Collections.Immutable -Imports System.Linq -Imports System.Xml.Linq Imports Microsoft.CodeAnalysis.CodeGen Imports Microsoft.CodeAnalysis.Emit Imports Microsoft.CodeAnalysis.Test.Utilities -Imports Microsoft.CodeAnalysis.Text Imports Roslyn.Test.Utilities Imports Xunit Public MustInherit Class BasicTestBase Inherits CommonTestBase - Protected Overloads Function GetCompilationForEmit( - source As IEnumerable(Of String), - additionalRefs() As MetadataReference, - options As VisualBasicCompilationOptions, - parseOptions As VisualBasicParseOptions - ) As VisualBasicCompilation - Return DirectCast(MyClass.GetCompilationForEmit(source, additionalRefs, options, parseOptions), VisualBasicCompilation) - End Function - Public Function XCDataToString(Optional data As XCData = Nothing) As String Return data?.Value.Replace(vbLf, Environment.NewLine) End Function @@ -203,45 +191,6 @@ Public MustInherit Class BasicTestBase verify) End Function - Friend Shadows Function CompileAndVerify( - source As String, - allReferences As IEnumerable(Of MetadataReference), - Optional expectedOutput As String = Nothing, - Optional expectedReturnCode As Integer? = Nothing, - Optional args As String() = Nothing, - Optional dependencies As IEnumerable(Of ModuleData) = Nothing, - Optional sourceSymbolValidator As Action(Of ModuleSymbol) = Nothing, - Optional validator As Action(Of PEAssembly) = Nothing, - Optional symbolValidator As Action(Of ModuleSymbol) = Nothing, - Optional expectedSignatures As SignatureDescription() = Nothing, - Optional options As VisualBasicCompilationOptions = Nothing, - Optional parseOptions As VisualBasicParseOptions = Nothing, - Optional emitOptions As EmitOptions = Nothing, - Optional assemblyName As String = Nothing, - Optional verify As Verification = Verification.Passes - ) As CompilationVerifier - - If options Is Nothing Then - options = If(expectedOutput Is Nothing, TestOptions.ReleaseDll, TestOptions.ReleaseExe) - End If - - Dim compilation = CreateEmptyCompilation(source, allReferences, options, parseOptions, assemblyName) - - Return MyBase.CompileAndVerifyCommon( - compilation, - Nothing, - dependencies, - Translate(sourceSymbolValidator), - validator, - Translate(symbolValidator), - expectedSignatures, - expectedOutput, - expectedReturnCode, - args, - emitOptions, - verify) - End Function - Friend Shadows Function CompileAndVerifyOnWin8Only( source As XElement, allReferences As IEnumerable(Of MetadataReference), @@ -333,6 +282,46 @@ Public MustInherit Class BasicTestBase useLatestFramework:=useLatestFramework) End Function + Friend Shadows Function CompileAndVerifyEx( + source As BasicTestSource, + Optional references As IEnumerable(Of MetadataReference) = Nothing, + Optional expectedOutput As String = Nothing, + Optional expectedReturnCode As Integer? = Nothing, + Optional args As String() = Nothing, + Optional dependencies As IEnumerable(Of ModuleData) = Nothing, + Optional sourceSymbolValidator As Action(Of ModuleSymbol) = Nothing, + Optional validator As Action(Of PEAssembly) = Nothing, + Optional symbolValidator As Action(Of ModuleSymbol) = Nothing, + Optional expectedSignatures As SignatureDescription() = Nothing, + Optional options As VisualBasicCompilationOptions = Nothing, + Optional parseOptions As VisualBasicParseOptions = Nothing, + Optional emitOptions As EmitOptions = Nothing, + Optional assemblyName As String = Nothing, + Optional verify As Verification = Verification.Passes, + Optional targetFramework As TargetFramework = TargetFramework.StandardAndVBRuntime + ) As CompilationVerifier + + If options Is Nothing Then + options = If(expectedOutput Is Nothing, TestOptions.ReleaseDll, TestOptions.ReleaseExe) + End If + + Dim compilation = CreateCompilation(source, references, options, parseOptions, targetFramework, assemblyName) + Return MyBase.CompileAndVerifyCommon( + compilation, + Nothing, + dependencies, + Translate(sourceSymbolValidator), + validator, + Translate(symbolValidator), + expectedSignatures, + expectedOutput, + expectedReturnCode, + args, + emitOptions, + verify) + End Function + + ''' ''' Compile sources and adds a custom reference using a custom IL ''' diff --git a/src/Compilers/VisualBasic/Test/Emit/Emit/DynamicAnalysis/DynamicInstrumentationTests.vb b/src/Compilers/VisualBasic/Test/Emit/Emit/DynamicAnalysis/DynamicInstrumentationTests.vb index a7502f3e4e16ee7437f4a975a662caebf79e9fc9..55abf49b92b1a2aad62e9749170ecc02913ff332 100644 --- a/src/Compilers/VisualBasic/Test/Emit/Emit/DynamicAnalysis/DynamicInstrumentationTests.vb +++ b/src/Compilers/VisualBasic/Test/Emit/Emit/DynamicAnalysis/DynamicInstrumentationTests.vb @@ -7,6 +7,7 @@ Imports Microsoft.CodeAnalysis.Test.Utilities Imports Microsoft.CodeAnalysis.Test.Utilities.VBInstrumentationChecker Imports Microsoft.CodeAnalysis.VisualBasic Imports Microsoft.CodeAnalysis.VisualBasic.UnitTests +Imports Roslyn.Test.Utilities Namespace Microsoft.CodeAnalysis.VisualBasic.DynamicAnalysis.UnitTests @@ -2825,11 +2826,12 @@ True End Function Private Overloads Function CompileAndVerify(source As String, Optional expectedOutput As String = Nothing, Optional options As VisualBasicCompilationOptions = Nothing) As CompilationVerifier - Return CompileAndVerify(source, + Return CompileAndVerifyEx(source, LatestVbReferences, expectedOutput, options:=If(options, TestOptions.ReleaseExe).WithDeterministic(True), - emitOptions:=EmitOptions.Default.WithInstrumentationKinds(ImmutableArray.Create(InstrumentationKind.TestCoverage))) + emitOptions:=EmitOptions.Default.WithInstrumentationKinds(ImmutableArray.Create(InstrumentationKind.TestCoverage)), + targetFramework:=TargetFramework.Empty) End Function End Class End Namespace diff --git a/src/Compilers/VisualBasic/Test/Emit/PDB/PDBAsyncTests.vb b/src/Compilers/VisualBasic/Test/Emit/PDB/PDBAsyncTests.vb index 7a2981f7f10a18a63d2cc72330c5a341b553de07..49a3b05a3bccb14bda3637a821fb9f38b71f5192 100644 --- a/src/Compilers/VisualBasic/Test/Emit/PDB/PDBAsyncTests.vb +++ b/src/Compilers/VisualBasic/Test/Emit/PDB/PDBAsyncTests.vb @@ -977,7 +977,7 @@ Class C End Try End Function End Class" - Dim v = CompileAndVerify(src, LatestVbReferences, options:=TestOptions.DebugDll) + Dim v = CompileAndVerifyEx(src, references:=LatestVbReferences, options:=TestOptions.DebugDll, targetFramework:=TargetFramework.Empty) v.VerifyPdb("C+VB$StateMachine_1_M.MoveNext",