提交 e3c1ea08 编写于 作者: A Andy Gocke

Make CSharp Syntax tests portable

This still only runs the tests on desktop (for now), but it makes
it possible to run them on coreclr.
上级 e2fc5135
......@@ -35,6 +35,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CompilerTestResources", "sr
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestUtilities.FX45", "src\Test\Utilities\Portable.FX45\TestUtilities.FX45.csproj", "{F7712928-1175-47B3-8819-EE086753DEE2}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerTestUtilities", "src\Compilers\Test\Utilities\CSharp\CSharpCompilerTestUtilities.csproj", "{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicCompilerTestUtilities", "src\Compilers\Test\Utilities\VisualBasic\BasicCompilerTestUtilities.vbproj", "{4371944A-D3BA-4B5B-8285-82E5FFC6D1F8}"
EndProject
Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "BasicCodeAnalysis", "src\Compilers\VisualBasic\Portable\BasicCodeAnalysis.vbproj", "{2523D0E6-DF32-4A3E-8AE0-A19BFFAE2EF6}"
......@@ -115,18 +117,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommonNetCoreReferences", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RunTests", "src\Tools\Source\RunTests\RunTests.csproj", "{1A3941F1-1E1F-4EF7-8064-7729C4C2E2AA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerTestUtilities.Desktop", "src\Compilers\Test\Utilities\CSharp.Desktop\CSharpCompilerTestUtilities.Desktop.csproj", "{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestUtilities", "src\Test\Utilities\Portable\TestUtilities.csproj", "{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerTestUtilities", "src\Compilers\Test\Utilities\CSharp\CSharpCompilerTestUtilities.csproj", "{A082ECBB-EFCE-4997-8AB1-81D6866447B2}"
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharpCompilerTestUtilities.Desktop", "src\Compilers\Test\Utilities\CSharp.Desktop\CSharpCompilerTestUtilities.Desktop.csproj", "{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
src\Test\Utilities\Shared\TestUtilities.projitems*{76c6f005-c89d-4348-bb4a-391898dbeb52}*SharedItemsImports = 4
src\Compilers\Server\ServerShared\ServerShared.projitems*{32691768-af9c-4cae-9d0f-10721091b9aa}*SharedItemsImports = 13
src\Compilers\Core\MSBuildTask\Shared\MSBuildTask.Shared.projitems*{d87f0e46-dd1b-46ea-8425-9e185d9b602e}*SharedItemsImports = 13
src\Test\Utilities\Shared\TestUtilities.projitems*{ccbd3438-3e84-40a9-83ad-533f23bcfca5}*SharedItemsImports = 4
src\Compilers\Core\CommandLine\CommandLine.projitems*{8ce3a581-2969-4864-a803-013e9d977c3a}*SharedItemsImports = 4
src\Test\Utilities\Shared\TestUtilities.projitems*{6ff42825-5464-4151-ac55-ed828168c192}*SharedItemsImports = 13
src\Compilers\Core\CommandLine\CommandLine.projitems*{ad6f474e-e6d4-4217-91f3-b7af1be31ccc}*SharedItemsImports = 13
......@@ -422,6 +419,26 @@ Global
{F7712928-1175-47B3-8819-EE086753DEE2}.Release|x64.Build.0 = Release|Any CPU
{F7712928-1175-47B3-8819-EE086753DEE2}.Release|x86.ActiveCfg = Release|Any CPU
{F7712928-1175-47B3-8819-EE086753DEE2}.Release|x86.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|ARM.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|ARM.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x64.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x64.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x86.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x86.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Any CPU.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|ARM.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|ARM.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x64.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x64.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x86.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x86.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F8}.Debug|ARM.ActiveCfg = Debug|ARM
......@@ -987,66 +1004,26 @@ Global
{1A3941F1-1E1F-4EF7-8064-7729C4C2E2AA}.Release|x64.Build.0 = Release|Any CPU
{1A3941F1-1E1F-4EF7-8064-7729C4C2E2AA}.Release|x86.ActiveCfg = Release|Any CPU
{1A3941F1-1E1F-4EF7-8064-7729C4C2E2AA}.Release|x86.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|ARM.ActiveCfg = Debug|ARM
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|ARM.Build.0 = Debug|ARM
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x64.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x64.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x86.ActiveCfg = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Debug|x86.Build.0 = Debug|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Any CPU.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|ARM.ActiveCfg = Release|ARM
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|ARM.Build.0 = Release|ARM
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x64.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x64.Build.0 = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x86.ActiveCfg = Release|Any CPU
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9}.Release|x86.Build.0 = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|ARM.ActiveCfg = Debug|ARM
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|ARM.Build.0 = Debug|ARM
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|x64.ActiveCfg = Debug|x64
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|x64.Build.0 = Debug|x64
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|x86.ActiveCfg = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Debug|x86.Build.0 = Debug|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|Any CPU.Build.0 = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|ARM.ActiveCfg = Release|ARM
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|ARM.Build.0 = Release|ARM
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|x64.ActiveCfg = Release|x64
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|x64.Build.0 = Release|x64
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|x86.ActiveCfg = Release|Any CPU
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5}.Release|x86.Build.0 = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|ARM.ActiveCfg = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|ARM.Build.0 = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|x64.ActiveCfg = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|x64.Build.0 = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|x86.ActiveCfg = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Debug|x86.Build.0 = Debug|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|Any CPU.Build.0 = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|ARM.ActiveCfg = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|ARM.Build.0 = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|x64.ActiveCfg = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|x64.Build.0 = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|x86.ActiveCfg = Release|Any CPU
{A082ECBB-EFCE-4997-8AB1-81D6866447B2}.Release|x86.Build.0 = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|ARM.ActiveCfg = Debug|ARM
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|ARM.Build.0 = Debug|ARM
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|x64.ActiveCfg = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|x64.Build.0 = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|x86.ActiveCfg = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Debug|x86.Build.0 = Debug|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|Any CPU.Build.0 = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|ARM.ActiveCfg = Release|ARM
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|ARM.Build.0 = Release|ARM
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|Mixed Platforms.Build.0 = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|x64.ActiveCfg = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|x64.Build.0 = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|x86.ActiveCfg = Release|Any CPU
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......@@ -1065,6 +1042,7 @@ Global
{50D26304-0961-4A51-ABF6-6CAD1A56D202} = {32A48625-F0AD-419D-828B-A50BDABA38EA}
{7FE6B002-89D8-4298-9B1B-0B5C247DD1FD} = {A41D1B99-F489-4C43-BBDF-96D61B19A6B9}
{F7712928-1175-47B3-8819-EE086753DEE2} = {6F016299-BA96-45BA-9BFF-6C0793979177}
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9} = {32A48625-F0AD-419D-828B-A50BDABA38EA}
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F8} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37}
{2523D0E6-DF32-4A3E-8AE0-A19BFFAE2EF6} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37}
{E3B32027-3362-41DF-9172-4D3B623F42A5} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37}
......@@ -1101,8 +1079,6 @@ Global
{23683607-168A-4189-955E-908F0E80E60D} = {6F016299-BA96-45BA-9BFF-6C0793979177}
{B5A6057A-EB4C-49FB-987D-943137E72E47} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC}
{1A3941F1-1E1F-4EF7-8064-7729C4C2E2AA} = {6F016299-BA96-45BA-9BFF-6C0793979177}
{4371944A-D3BA-4B5B-8285-82E5FFC6D1F9} = {32A48625-F0AD-419D-828B-A50BDABA38EA}
{CCBD3438-3E84-40A9-83AD-533F23BCFCA5} = {6F016299-BA96-45BA-9BFF-6C0793979177}
{A082ECBB-EFCE-4997-8AB1-81D6866447B2} = {32A48625-F0AD-419D-828B-A50BDABA38EA}
{7A4B2176-7BFD-4B75-A61A-E25A1FDD0A1E} = {32A48625-F0AD-419D-828B-A50BDABA38EA}
EndGlobalSection
EndGlobal
此差异已折叠。
......@@ -45,7 +45,7 @@ bootstrap: toolset
rm -rf Binaries/$(BUILD_CONFIGURATION)
test:
build/scripts/tests.sh $(MONO_PATH) $(BUILD_CONFIGURATION) $(XUNIT_VERSION)
build/scripts/tests.sh $(BUILD_CONFIGURATION)
clean:
@rm -rf Binaries
......
#!/usr/bin/env bash
MONO_PATH=$1
BUILD_CONFIGURATION=$2
XUNIT_VERSION=$3
MONO_DIR="$(dirname $MONO_PATH)"
export MONO_THREADS_PER_CPU=50
export PATH=$MONO_DIR:$PATH
BUILD_CONFIGURATION=$1
# This function will update the PATH variable to put the desired
# version of Mono ahead of the system one.
xunit_runner=~/.nuget/packages/xunit.runner.console/$XUNIT_VERSION/tools/xunit.console.x86.exe
test_binaries=(
Roslyn.Compilers.CSharp.CommandLine.UnitTests
Roslyn.Compilers.CSharp.Syntax.UnitTests
Roslyn.Compilers.CSharp.Semantic.UnitTests
Roslyn.Compilers.CSharp.Symbol.UnitTests
Roslyn.Compilers.VisualBasic.Syntax.UnitTests)
any_failed=false
# Need to copy over the execution dependencies. This isn't being done correctly
# by msbuild at the moment.
cp ~/.nuget/packages/xunit.extensibility.execution/$XUNIT_VERSION/lib/net45/xunit.execution.desktop.* Binaries/$BUILD_CONFIGURATION
for i in "${test_binaries[@]}"
do
mkdir -p Binaries/$BUILD_CONFIGURATION/xUnitResults/
mono $MONO_ARGS $xunit_runner Binaries/$BUILD_CONFIGURATION/$i.dll -xml Binaries/$BUILD_CONFIGURATION/xUnitResults/$i.dll.xml -noshadow
if [ $? -ne 0 ]; then
any_failed=true
fi
done
if [ "$any_failed" = "true" ]; then
cd Binaries/$BUILD_CONFIGURATION/CoreClrTest
chmod +x ./corerun
mkdir -p ../xUnitResults/
./corerun ./xunit.console.netcore.exe *.UnitTests.dll -xml ../xUnitResults/CoreClrUnitTestResults.xml
if [ $? -ne 0 ]; then
echo Unit test failed
exit 1
fi
......
......@@ -14,7 +14,10 @@
<AssemblyName>Roslyn.Compilers.CSharp.Syntax.UnitTests</AssemblyName>
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
<CSharpSyntaxGeneratorToolPath>$(OutDir)\CSharpSyntaxGenerator.exe</CSharpSyntaxGeneratorToolPath>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
<TargetFrameworkIdentifier>.NETPortable</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v5.0</TargetFrameworkVersion>
<NoStdLib>true</NoStdLib>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
<CodeAnalysisRuleSet>..\..\..\..\..\build\TestProjectRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
......@@ -22,15 +25,15 @@
<SyntaxTestDefinition Include="..\..\Portable\Syntax\Syntax.xml" />
</ItemGroup>
<ItemGroup Label="Project References">
<ProjectReference Include="..\..\..\..\Test\Utilities\Portable\TestUtilities.csproj">
<Project>{ccbd3438-3e84-40a9-83ad-533f23bcfca5}</Project>
<Name>TestUtilities</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Tools\Source\CompilerGeneratorTools\Source\CSharpSyntaxGenerator\CSharpSyntaxGenerator.csproj">
<Project>{288089C5-8721-458E-BE3E-78990DAB5E2D}</Project>
<Name>CSharpSyntaxGenerator</Name>
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Test\Utilities\Desktop\TestUtilities.Desktop.csproj">
<Project>{76C6F005-C89D-4348-BB4A-391898DBEB52}</Project>
<Name>TestUtilities.Desktop</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Core\Portable\CodeAnalysis.csproj">
<Project>{1EE8CAD3-55F9-4D91-96B2-084641DA9A6C}</Project>
<Name>CodeAnalysis</Name>
......@@ -39,13 +42,9 @@
<Project>{7FE6B002-89D8-4298-9B1B-0B5C247DD1FD}</Project>
<Name>CompilerTestResources</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\..\Test\Utilities\Portable.FX45\TestUtilities.FX45.csproj">
<Project>{F7712928-1175-47B3-8819-EE086753DEE2}</Project>
<Name>TestUtilities.FX45</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\Test\Utilities\CSharp.Desktop\CSharpCompilerTestUtilities.Desktop.csproj">
<ProjectReference Include="..\..\..\Test\Utilities\CSharp\CSharpCompilerTestUtilities.csproj">
<Project>{4371944a-d3ba-4b5b-8285-82e5ffc6d1f9}</Project>
<Name>CSharpCompilerTestUtilities.Desktop</Name>
<Name>CSharpCompilerTestUtilities</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\VisualBasic\Portable\BasicCodeAnalysis.vbproj">
<Project>{2523D0E6-DF32-4A3E-8AE0-A19BFFAE2EF6}</Project>
......@@ -139,15 +138,6 @@
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.Data" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<None Include="project.json" />
</ItemGroup>
......
......@@ -18,7 +18,7 @@ public void TestDiagnostic()
{
MockMessageProvider provider = new MockMessageProvider();
SyntaxTree syntaxTree = new MockSyntaxTree();
CultureInfo englishCulture = CultureInfo.GetCultureInfo("en");
CultureInfo englishCulture = CultureHelpers.EnglishCulture;
DiagnosticInfo di1 = new DiagnosticInfo(provider, 1);
Assert.Equal(1, di1.Code);
......
......@@ -129,7 +129,7 @@ class X {
#line 17 ""d:\twing.cs""
#endif
int a;
}";
}".NormalizeLineEndings();
var resolver = new TestSourceResolver();
SyntaxTree syntaxTree = SyntaxFactory.ParseSyntaxTree(sampleProgram, path: "foo.cs");
......@@ -410,7 +410,7 @@ static void Main()
char c; // CS0168 on line 9
}
}
";
".NormalizeLineEndings();
SyntaxTree syntaxTree = SyntaxFactory.ParseSyntaxTree(sampleProgram);
......
......@@ -497,7 +497,7 @@ public void TestNonLatinIdentifier()
var token = LexToken(text);
Assert.NotEqual('\\', text[0]);
Assert.Equal(System.Globalization.UnicodeCategory.UppercaseLetter, Char.GetUnicodeCategory(text[0]));
Assert.Equal(System.Globalization.UnicodeCategory.UppercaseLetter, CharUnicodeInfo.GetUnicodeCategory(text[0]));
Assert.NotNull(token);
Assert.Equal(SyntaxKind.IdentifierToken, token.Kind());
......@@ -2588,12 +2588,12 @@ public void TestMaxKeywordLength()
[Fact]
public void DecimalLiteralsOtherCulture()
{
var oldCulture = Thread.CurrentThread.CurrentCulture;
var oldCulture = CultureInfo.CurrentCulture;
try
{
Thread.CurrentThread.CurrentCulture = (CultureInfo)oldCulture.Clone();
Thread.CurrentThread.CurrentCulture.NumberFormat.NegativeSign = "~";
Thread.CurrentThread.CurrentCulture.NumberFormat.NumberDecimalSeparator = ",";
CultureInfo.CurrentCulture = (CultureInfo)oldCulture.Clone();
CultureInfo.CurrentCulture.NumberFormat.NegativeSign = "~";
CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator = ",";
// If the exponent ("-1") is parsed using the current culture, then
// parsing will raise a FormatException because the current culture
......@@ -2603,7 +2603,7 @@ public void DecimalLiteralsOtherCulture()
}
finally
{
Thread.CurrentThread.CurrentCulture = oldCulture;
CultureInfo.CurrentCulture = oldCulture;
}
}
......
......@@ -8,8 +8,9 @@
// </auto-generated>
//------------------------------------------------------------------------------
using System.Reflection;
namespace Microsoft.CodeAnalysis.CSharp.UnitTests {
using System;
/// <summary>
......@@ -39,7 +40,7 @@ public class Resources {
public static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.CodeAnalysis.CSharp.UnitTests.Resources", typeof(Resources).Assembly);
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Microsoft.CodeAnalysis.CSharp.UnitTests.Resources", typeof(Resources).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
......
......@@ -340,8 +340,8 @@ public void TestLiteralDefaultStringValues()
[Fact]
public void TestLiteralToStringDifferentCulture()
{
var culture = Thread.CurrentThread.CurrentCulture;
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("de-DE");
var culture = CultureInfo.CurrentCulture;
CultureInfo.CurrentCulture = new CultureInfo("de-DE");
// If we are using the current culture to format the string then
// decimal values should render as , instead of .
......@@ -349,7 +349,7 @@ public void TestLiteralToStringDifferentCulture()
var literal = SyntaxFactory.Literal(3.14);
Assert.Equal("3.14", literal.ValueText);
Thread.CurrentThread.CurrentCulture = culture;
CultureInfo.CurrentCulture = culture;
}
private static void CheckLiteralToString(dynamic value, string expected)
......
......@@ -23,7 +23,7 @@ public static SourceText WithReplace(this SourceText text, int offset, int lengt
return SourceText.From(newFullText);
}
internal static SourceText WithReplaceFirst(this SourceText text, string oldText, string newText)
public static SourceText WithReplaceFirst(this SourceText text, string oldText, string newText)
{
var oldFullText = text.ToString();
int offset = oldFullText.IndexOf(oldText, StringComparison.Ordinal);
......
{
"dependencies": {
"xunit": "2.1.0",
"xunit.runner.console": "2.1.0"
},
"dependencies": { },
"frameworks": {
"net45": {}
},
"runtimes": {
"win7": { }
"dotnet5.4": {
"imports": "portable-net452"
}
}
}
......@@ -66,6 +66,19 @@
<Name>BasicCodeAnalysis</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup>
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.CommandLine.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.Emit.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.WinRT.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.EnC.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.Semantic.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.Symbol.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.Syntax.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.ExpressionEvaluator.CSharp.ExpressionCompiler.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.InteractiveHost.UnitTests" />
<InternalsVisibleToTest Include="Microsoft.CodeAnalysis.CSharp.Scripting.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Services.Editor.CSharp.UnitTests" />
</ItemGroup>
<ImportGroup Label="Targets">
<Import Project="..\..\..\..\..\build\Targets\VSL.Imports.targets" />
<Import Project="..\..\..\..\..\build\Targets\Roslyn.Toolsets.Xunit.targets" />
......
......@@ -64,7 +64,7 @@ public static void TestDiagnosticsExact(string source, params string[] diagStrin
/// <summary>
/// OBSOLETE: Use VerifyDiagnostics from Roslyn.Compilers.CSharp.Test.Utilities instead.
/// </summary>
internal protected static CSharpCompilation VerifyErrorsAndGetCompilationWithMscorlib(string text, params ErrorDescription[] expectedErrorDesp)
public static CSharpCompilation VerifyErrorsAndGetCompilationWithMscorlib(string text, params ErrorDescription[] expectedErrorDesp)
{
return VerifyErrorsAndGetCompilationWithMscorlib(new string[] { text }, expectedErrorDesp);
}
......
......@@ -16,7 +16,7 @@ public static SyntaxTree WithReplace(this SyntaxTree syntaxTree, int offset, int
return syntaxTree.WithChangedText(newFullText);
}
internal static SyntaxTree WithReplaceFirst(this SyntaxTree syntaxTree, string oldText, string newText)
public static SyntaxTree WithReplaceFirst(this SyntaxTree syntaxTree, string oldText, string newText)
{
var oldFullText = syntaxTree.GetText().ToString();
int offset = oldFullText.IndexOf(oldText, StringComparison.Ordinal);
......
......@@ -12,4 +12,4 @@
"imports": "portable-net452"
}
}
}
\ No newline at end of file
}
{
"dependencies": {
"Microsoft.NETCore": "5.0.1-beta-23504",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-beta-23504"
},
"dependencies": { },
"frameworks": {
"dnxcore50": {
"imports": "portable-net452"
......
{
"dependencies": {
"Microsoft.NETCore": "5.0.1-beta-23504",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-beta-23504"
},
"dependencies": { },
"frameworks": {
"dnxcore50": {
"imports": "portable-net452"
......
......@@ -10,4 +10,4 @@
"imports": "portable-net452"
}
}
}
\ No newline at end of file
}
......@@ -8,4 +8,4 @@
"runtimes": {
"win7": {}
}
}
\ No newline at end of file
}
......@@ -18,4 +18,4 @@
"imports": "portable-net452"
}
}
}
\ No newline at end of file
}
......@@ -33,10 +33,18 @@
<None Include="project.json" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\Compilers\CSharp\Test\Syntax\CSharpCompilerSyntaxTest.csproj">
<Project>{50d26304-0961-4a51-abf6-6cad1a56d202}</Project>
<Name>CSharpCompilerSyntaxTest</Name>
</ProjectReference>
<ProjectReference Include="..\..\Scripting\CoreTest\ScriptingTest.csproj">
<Project>{2dae4406-7a89-4b5f-95c3-bc5472ce47ce}</Project>
<Name>ScriptingTest</Name>
</ProjectReference>
<ProjectReference Include="..\..\Tools\CommonNetCoreReferences\CommonNetCoreReferences.csproj">
<Project>{b5a6057a-eb4c-49fb-987d-943137e72e47}</Project>
<Name>CommonNetCoreReferences</Name>
</ProjectReference>
</ItemGroup>
<ImportGroup Label="Targets">
<Import Project="..\..\..\build\Targets\VSL.Imports.targets" />
......
{
"dependencies": {
"Microsoft.NETCore.Platforms": "1.0.1-beta-23504",
"Microsoft.NETCore.Runtime.CoreCLR": "1.0.1-beta-23504",
"Microsoft.NETCore.TestHost": "1.0.0-beta-23504",
"System.Runtime": "4.0.21-beta-23504",
"xunit.console.netcore": "1.0.2-prerelease-00104"
......@@ -12,6 +10,8 @@
}
},
"runtimes": {
"win7-x64": { }
"win7-x64": { },
"ubuntu.14.04-x64": { },
"osx.10.10-x64": {}
}
}
\ No newline at end of file
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.0
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
......
......@@ -118,22 +118,14 @@
<Compile Include="SigningTestHelpers.cs" />
<Compile Include="TestHelpers.cs" />
<Compile Include="TestResource.Designer.cs">
<DependentUpon>TestResource.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>TestResource.resx</DependentUpon>
</Compile>
<Compile Include="ThrowingTraceListener.cs" />
<Compile Include="Traits.cs" />
<Compile Include="Win32Res.cs" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="TestResource.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>TestResource.Designer.cs</LastGenOutput>
<CustomToolNamespace>Roslyn.Test.Utilities</CustomToolNamespace>
<SubType>Designer</SubType>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.CommandLine.UnitTests" />
<InternalsVisibleToTest Include="Roslyn.Compilers.CSharp.Emit.UnitTests" />
......@@ -172,9 +164,16 @@
<None Include="..\app.config" />
<None Include="project.json" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="TestResource.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>TestResource.Designer.cs</LastGenOutput>
<CustomToolNamespace>Roslyn.Test.Utilities</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
<Import Project="..\Shared\TestUtilities.projitems" Label="Shared" />
<ImportGroup Label="Targets">
<Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" />
<Import Project="..\..\..\..\build\Targets\Roslyn.Toolsets.Xunit.targets" />
</ImportGroup>
</Project>
</Project>
\ No newline at end of file
// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System;
using System.Linq;
using System.Reflection;
namespace Roslyn.Test.Utilities
{
public static class ReflectionAssert
{
public static void AssertPublicAndInternalFieldsAndProperties(Type targetType, params string[] expectedFieldsAndProperties)
{
var fields = targetType.GetFields(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var properties = targetType.GetProperties(BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic);
var fieldsAndProps = fields.Where(f => !f.IsPrivate).Select(f => f.Name).Concat(
properties.Where(p => p.GetMethod != null && !p.GetMethod.IsPrivate).Select(p => p.Name)).
OrderBy(s => s);
AssertEx.SetEqual(fieldsAndProps, expectedFieldsAndProperties, itemSeparator: "\r\n");
}
}
}
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
using System.Reflection;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class TestResource {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal TestResource() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("TestResource", typeof(TestResource).GetTypeInfo().Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized string similar to #error Error message
///#warning Warning message
///#pragma warning disable 414, 3021
///#pragma warning restore 3021
///#pragma checksum &quot;file.txt&quot; &quot;{00000000-0000-0000-0000-000000000000}&quot; &quot;2453&quot;
///#define foo
///#if foo
///#else
///#endif
///#undef foo
///
///extern alias Foo;
///
///using System;
///using System.Collections.Generic;
///using System.Linq;
///using System.Linq.Expressions;
///using System.Text;
///using M = System.Math;
///
///#if DEBUG || TRACE
///using System.Diagnostics;
///#elif SILVERLIGHT &amp;&amp; WINDOWS_PHONE || DEBUG || foo == t [rest of string was truncated]&quot;;.
/// </summary>
internal static string AllInOneCSharpCode {
get {
return ResourceManager.GetString("AllInOneCSharpCode", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Option Infer On
///Option Explicit Off
///
///Imports System
///Imports System.Collections.Generic
///Imports System.Linq
///Imports System.Linq.Expressions
///Imports System.Text
///Imports M = System.Math
///Imports System.Collections
///Imports &lt;xmlns:ns=&quot;foo&quot;&gt;
///Imports &lt;xmlns=&quot;foo&quot;&gt;
///#Const line = 6
///#Const foo = True
///#If foo Then
///#Else
///#End If
///&apos; There is no equivalent to #undef in VB.NET:
///&apos;#undef foo
///&apos;#warning foo
///&apos;#error foo
///&apos; There is no equivalent to &apos;extern alias&apos; in VB:
///&apos;extern alias Foo;
///#If DEBUG OrElse T [rest of string was truncated]&quot;;.
/// </summary>
internal static string AllInOneVisualBasicBaseline {
get {
return ResourceManager.GetString("AllInOneVisualBasicBaseline", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Option Infer On
///Option Explicit Off
///
///Imports System
///Imports System.Collections.Generic
///Imports System.Linq
///Imports System.Linq.Expressions
///Imports System.Text
///Imports M = System.Math
///Imports System.Collections
///Imports &lt;xmlns:ns=&quot;foo&quot;&gt;
///Imports &lt;xmlns=&quot;foo&quot;&gt;
///
///#Const line = 6
///#Const foo = True
///#If foo Then
///#Else
///#End If
///&apos; There is no equivalent to #undef in VB.NET:
///&apos;#undef foo
///&apos;#warning foo
///&apos;#error foo
///&apos; There is no equivalent to &apos;extern alias&apos; in VB:
///&apos;extern alias Foo;
///
///#If DEBUG OrEl [rest of string was truncated]&quot;;.
/// </summary>
internal static string AllInOneVisualBasicCode {
get {
return ResourceManager.GetString("AllInOneVisualBasicCode", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Imports System
///Imports System.Collections.Generic
///Imports System.Linq
///
///&apos;&apos;&apos; &lt;summary&gt;
///&apos;&apos;&apos; Sample Documentation
///&apos;&apos;&apos; &lt;/summary&gt;
///Module Program
/// Sub Main(args As String())
/// &apos; User Comments
/// Console.WriteLine(5)
/// End Sub
///End Module.
/// </summary>
internal static string HelloWorldVisualBasicCode {
get {
return ResourceManager.GetString("HelloWorldVisualBasicCode", resourceCulture);
}
}
}
此差异已折叠。
......@@ -118,6 +118,19 @@
<Compile Include="ICompilationVerifier.cs" />
<Compile Include="MetadataSignatureUnitTestHelper.cs" />
<Compile Include="ModuleData.cs" />
<Compile Include="ReflectionAssert.cs" />
<Compile Include="TestResource.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>TestResource.resx</DependentUpon>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="TestResource.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>TestResource.Designer.cs</LastGenOutput>
<CustomToolNamespace>Roslyn.Test.Utilities</CustomToolNamespace>
</EmbeddedResource>
</ItemGroup>
<ImportGroup Label="Targets">
<Import Project="..\..\..\..\build\Targets\VSL.Imports.targets" />
......
{
"dependencies": {
"Microsoft.CSharp": "4.0.1-beta-23504",
"Microsoft.NETCore.Platforms": "1.0.0",
"Microsoft.NETCore.Portable.Compatibility": "1.0.1-beta-23504",
"System.Collections.Concurrent": "4.0.11-beta-23504",
"System.Collections.Immutable": "[1.1.37]",
"System.Console": "4.0.0-beta-23504",
"System.IO.FileSystem": "4.0.1-beta-23504",
"System.Reflection.TypeExtensions": "4.1.0-beta-23504",
"System.Threading.Thread": "4.0.0-beta-23504",
"System.Xml.XDocument": "4.0.11-beta-23504",
"System.Xml.XmlDocument": "4.0.1-beta-23504",
......@@ -17,4 +19,4 @@
"imports": "portable-net452"
}
}
}
\ No newline at end of file
}

// Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Globalization;
namespace Roslyn.Test.Utilities
{
public static class CultureHelpers
{
public static readonly CultureInfo EnglishCulture = new CultureInfo("en");
}
}
......@@ -35,6 +35,7 @@
<Compile Include="$(MSBuildThisFileDirectory)Diagnostics\ThrowingDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)Diagnostics\TrackingDiagnosticAnalyzer.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FX\ConsoleOutput.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FX\CultureHelpers.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FX\DirectoryHelper.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FX\EncodingUtilities.cs" />
<Compile Include="$(MSBuildThisFileDirectory)FX\EnsureEnglishUICulture.cs" />
......
......@@ -5,7 +5,7 @@
"Microsoft.NETCore.TestHost": "1.0.0-beta-23504",
"System.AppContext": "4.0.1-beta-23504",
"System.Collections": "4.0.11-beta-23504",
"System.Collections.Immutable": "1.1.38-beta-23504",
"System.Collections.Immutable": "[1.1.37]",
"System.Console": "4.0.0-beta-23504",
"System.Diagnostics.Debug": "4.0.11-beta-23504",
"System.Diagnostics.FileVersionInfo": "4.0.0-beta-23504",
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册