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

Address comments

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