提交 cf6dcdcb 编写于 作者: G Gen Lu

Address comments

上级 f5a8a0bb
...@@ -67,7 +67,7 @@ function Print-Usage() { ...@@ -67,7 +67,7 @@ function Print-Usage() {
Write-Host " -testCoreClr Run CoreClr unit tests" Write-Host " -testCoreClr Run CoreClr unit tests"
Write-Host " -testVsi Run all integration tests" Write-Host " -testVsi Run all integration tests"
Write-Host " -testVsiNetCore Run just dotnet core integration tests" Write-Host " -testVsiNetCore Run just dotnet core integration tests"
Write-Host " -testIOperation Run extra checks to validate IOperations" Write-Host " -testIOperation Run extra checks to validate IOperations"
Write-Host "" Write-Host ""
Write-Host "Special Test options" Write-Host "Special Test options"
Write-Host " -testBuildCorrectness Run build correctness tests" Write-Host " -testBuildCorrectness Run build correctness tests"
......
...@@ -17,9 +17,6 @@ ...@@ -17,9 +17,6 @@
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" />
<PropertyGroup Condition="'$(TestIOperationInterface)' == 'true'">
<DefineConstants>$(DefineConstants);TEST_IOPERATION_INTERFACE</DefineConstants>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\..\..\Test\PdbUtilities\PdbUtilities.csproj" /> <ProjectReference Include="..\..\..\..\Test\PdbUtilities\PdbUtilities.csproj" />
<ProjectReference Include="..\..\..\..\Test\Utilities\Portable\TestUtilities.csproj" /> <ProjectReference Include="..\..\..\..\Test\Utilities\Portable\TestUtilities.csproj" />
......
...@@ -582,7 +582,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions ...@@ -582,7 +582,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions
trees, trees,
references, references,
options); options);
ValidateIOperations(createCompilationLambda); CompilationExtensions.ValidateIOperations(createCompilationLambda);
return createCompilationLambda(); return createCompilationLambda();
} }
...@@ -596,7 +596,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions ...@@ -596,7 +596,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions
var trees = (sources == null) ? null : sources.Select(s => Parse(s, options: parseOptions)).ToArray(); var trees = (sources == null) ? null : sources.Select(s => Parse(s, options: parseOptions)).ToArray();
Func<CSharpCompilation> createCompilationLambda = () => CSharpCompilation.Create(identity.Name, options: options ?? TestOptions.ReleaseDll, references: references, syntaxTrees: trees); Func<CSharpCompilation> createCompilationLambda = () => CSharpCompilation.Create(identity.Name, options: options ?? TestOptions.ReleaseDll, references: references, syntaxTrees: trees);
ValidateIOperations(createCompilationLambda); CompilationExtensions.ValidateIOperations(createCompilationLambda);
var c = createCompilationLambda(); var c = createCompilationLambda();
Assert.NotNull(c.Assembly); // force creation of SourceAssemblySymbol Assert.NotNull(c.Assembly); // force creation of SourceAssemblySymbol
...@@ -621,7 +621,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions ...@@ -621,7 +621,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions
previousScriptCompilation: previous, previousScriptCompilation: previous,
returnType: returnType, returnType: returnType,
globalsType: hostObjectType); globalsType: hostObjectType);
ValidateIOperations(createCompilationLambda); CompilationExtensions.ValidateIOperations(createCompilationLambda);
return createCompilationLambda(); return createCompilationLambda();
} }
...@@ -644,7 +644,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions ...@@ -644,7 +644,7 @@ public static SyntaxTree ParseWithRoundTripCheck(string text, CSharpParseOptions
previousScriptCompilation: previous, previousScriptCompilation: previous,
returnType: returnType, returnType: returnType,
globalsType: hostObjectType); globalsType: hostObjectType);
ValidateIOperations(createCompilationLambda); CompilationExtensions.ValidateIOperations(createCompilationLambda);
return createCompilationLambda(); return createCompilationLambda();
} }
...@@ -1253,13 +1253,6 @@ protected static void VerifyOperationTreeForTest<TSyntaxNode>(CSharpCompilation ...@@ -1253,13 +1253,6 @@ protected static void VerifyOperationTreeForTest<TSyntaxNode>(CSharpCompilation
return ilReference; return ilReference;
} }
private static void ValidateIOperations(Func<Compilation> createCompilation)
{
#if TEST_IOPERATION_INTERFACE
var compilation = createCompilation();
compilation.CheckOperations();
#endif
}
#endregion #endregion
#region Span #region Span
......
...@@ -22,9 +22,6 @@ ...@@ -22,9 +22,6 @@
</ItemGroup> </ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" />
<PropertyGroup Condition="'$(TestIOperationInterface)' == 'true'">
<DefineConstants>$(DefineConstants),TEST_IOPERATION_INTERFACE</DefineConstants>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<Reference Include="System" /> <Reference Include="System" />
<Reference Include="System.Core" /> <Reference Include="System.Core" />
......
...@@ -41,7 +41,7 @@ Friend Module CompilationUtils ...@@ -41,7 +41,7 @@ Friend Module CompilationUtils
references, references,
options) options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -76,7 +76,7 @@ Friend Module CompilationUtils ...@@ -76,7 +76,7 @@ Friend Module CompilationUtils
Return VisualBasicCompilation.Create(assemblyName, sourceTrees, metadataReferences, options) Return VisualBasicCompilation.Create(assemblyName, sourceTrees, metadataReferences, options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -106,7 +106,7 @@ Friend Module CompilationUtils ...@@ -106,7 +106,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), sourceTrees, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options) Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), sourceTrees, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -120,7 +120,7 @@ Friend Module CompilationUtils ...@@ -120,7 +120,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), {Parse(source, parseOptions)}, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options) Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), {Parse(source, parseOptions)}, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -131,7 +131,7 @@ Friend Module CompilationUtils ...@@ -131,7 +131,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(GetUniqueName(), sourceTrees, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options) Return VisualBasicCompilation.Create(GetUniqueName(), sourceTrees, If(references Is Nothing, additionalRefs, additionalRefs.Concat(references)), options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -141,7 +141,7 @@ Friend Module CompilationUtils ...@@ -141,7 +141,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(GetUniqueName(), {sourceTree}, If(references Is Nothing, {MscorlibRef}, {MscorlibRef}.Concat(references)), options) Return VisualBasicCompilation.Create(GetUniqueName(), {sourceTree}, If(references Is Nothing, {MscorlibRef}, {MscorlibRef}.Concat(references)), options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -333,7 +333,7 @@ Friend Module CompilationUtils ...@@ -333,7 +333,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), sourceTrees, references, options) Return VisualBasicCompilation.Create(If(assemblyName, GetUniqueName()), sourceTrees, references, options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Return createCompilationLambda() Return createCompilationLambda()
End Function End Function
...@@ -360,7 +360,7 @@ Friend Module CompilationUtils ...@@ -360,7 +360,7 @@ Friend Module CompilationUtils
Dim createCompilationLambda = Function() Dim createCompilationLambda = Function()
Return VisualBasicCompilation.Create(identity.Name, trees, references, options) Return VisualBasicCompilation.Create(identity.Name, trees, references, options)
End Function End Function
ValidateIOperations(createCompilationLambda) CompilationExtensions.ValidateIOperations(createCompilationLambda)
Dim c = createCompilationLambda() Dim c = createCompilationLambda()
Assert.NotNull(c.Assembly) ' force creation of SourceAssemblySymbol Assert.NotNull(c.Assembly) ' force creation of SourceAssemblySymbol
...@@ -1289,11 +1289,4 @@ Friend Module CompilationUtils ...@@ -1289,11 +1289,4 @@ Friend Module CompilationUtils
Dim result = If(namespacesAndTypesOnly, model.LookupNamespacesAndTypes(position, container), model.LookupSymbols(position, container)) Dim result = If(namespacesAndTypesOnly, model.LookupNamespacesAndTypes(position, container), model.LookupSymbols(position, container))
Return result.Select(Function(s) s.Name).Distinct().ToList() Return result.Select(Function(s) s.Name).Distinct().ToList()
End Function End Function
Private Sub ValidateIOperations(createCompilation As Func(Of Compilation))
#If TEST_IOPERATION_INTERFACE Then
Dim compilation = createCompilation()
compilation.CheckOperations()
#End If
End Sub
End Module End Module
...@@ -251,8 +251,11 @@ internal static bool CanHaveExecutableCodeBlock(ISymbol symbol) ...@@ -251,8 +251,11 @@ internal static bool CanHaveExecutableCodeBlock(ISymbol symbol)
} }
} }
public static void CheckOperations(this Compilation compilation) public static void ValidateIOperations(Func<Compilation> createCompilation)
{ {
#if TEST_IOPERATION_INTERFACE
var compilation = createCompilation();
foreach (var tree in compilation.SyntaxTrees) foreach (var tree in compilation.SyntaxTrees)
{ {
var semanticModel = compilation.GetSemanticModel(tree); var semanticModel = compilation.GetSemanticModel(tree);
...@@ -268,6 +271,7 @@ public static void CheckOperations(this Compilation compilation) ...@@ -268,6 +271,7 @@ public static void CheckOperations(this Compilation compilation)
} }
} }
} }
#endif
} }
} }
} }
...@@ -23,6 +23,9 @@ ...@@ -23,6 +23,9 @@
</ItemGroup> </ItemGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" /> <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" />
<PropertyGroup Condition="'$(TestIOperationInterface)' == 'true'">
<DefineConstants>$(DefineConstants);TEST_IOPERATION_INTERFACE</DefineConstants>
</PropertyGroup>
<ItemGroup> <ItemGroup>
<InternalsVisibleToTest Include="Roslyn.Test.Utilities.CoreClr" /> <InternalsVisibleToTest Include="Roslyn.Test.Utilities.CoreClr" />
<InternalsVisibleToTest Include="Roslyn.Test.Utilities.Desktop" /> <InternalsVisibleToTest Include="Roslyn.Test.Utilities.Desktop" />
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册