Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
eb62d044
R
roslyn
项目概览
lwm1986
/
roslyn
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
roslyn
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
eb62d044
编写于
9月 12, 2016
作者:
T
Tanner Gooding
提交者:
Tanner Gooding
9月 29, 2016
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updating netci.groovy and RunTests.csproj to support the open integration tests.
上级
0091a92e
变更
12
隐藏空白更改
内联
并排
Showing
12 changed file
with
67 addition
and
21 deletion
+67
-21
BuildAndTest.proj
BuildAndTest.proj
+11
-2
cibuild.cmd
cibuild.cmd
+2
-1
netci.groovy
netci.groovy
+22
-1
src/Tools/Source/RunTests/ITestExecutor.cs
src/Tools/Source/RunTests/ITestExecutor.cs
+5
-2
src/Tools/Source/RunTests/Options.cs
src/Tools/Source/RunTests/Options.cs
+10
-0
src/Tools/Source/RunTests/Program.cs
src/Tools/Source/RunTests/Program.cs
+9
-8
src/Tools/Source/RunTests/TestRunner.cs
src/Tools/Source/RunTests/TestRunner.cs
+3
-2
src/VisualStudio/CSharp/Impl/CSharpVisualStudio.csproj
src/VisualStudio/CSharp/Impl/CSharpVisualStudio.csproj
+1
-1
src/VisualStudio/CSharp/Repl/CSharpVisualStudioRepl.csproj
src/VisualStudio/CSharp/Repl/CSharpVisualStudioRepl.csproj
+1
-1
src/VisualStudio/Core/Def/ServicesVisualStudio.csproj
src/VisualStudio/Core/Def/ServicesVisualStudio.csproj
+1
-1
src/VisualStudio/VisualBasic/Impl/BasicVisualStudio.vbproj
src/VisualStudio/VisualBasic/Impl/BasicVisualStudio.vbproj
+1
-1
src/VisualStudio/VisualBasic/Repl/BasicVisualStudioRepl.vbproj
...isualStudio/VisualBasic/Repl/BasicVisualStudioRepl.vbproj
+1
-1
未找到文件。
BuildAndTest.proj
浏览文件 @
eb62d044
...
...
@@ -13,17 +13,26 @@
<Configuration Condition="'$(Configuration)' == ''">Debug</Configuration>
<RunTestArgs Condition="'$(ManualTest)' == ''">$(RunTestArgs) -xml</RunTestArgs>
<RunTestArgs Condition="'$(Test64)' == 'true'">$(RunTestArgs) -test64</RunTestArgs>
<RunTestArgs Condition="'$(TestVSI)' == 'true'">$(RunTestArgs) -testVSI</RunTestArgs>
<RunTestArgs Condition="'$(Trait)' != ''">$(RunTestArgs) -trait:$(Trait)</RunTestArgs>
<RunTestArgs Condition="'$(NoTrait)' != ''">$(RunTestArgs) -notrait:$(NoTrait)</RunTestArgs>
<IncludePattern Condition="'$(IncludePattern)' == ''">*.UnitTests*.dll</IncludePattern>
<IncludePattern Condition="'$(IncludePattern)' == '' AND '$(TestVSI)' != 'true'">*.UnitTests*.dll</IncludePattern>
<IncludePattern Condition="'$(IncludePattern)' == '' AND '$(TestVSI)' == 'true'">*.IntegrationTests*.dll</IncludePattern>
<OutputDirectory>Binaries\$(Configuration)</OutputDirectory>
<NuGetPackageRoot>$(UserProfile)\.nuget\packages</NuGetPackageRoot>
<CoreClrTestDirectory>$(OutputDirectory)\CoreClrTest</CoreClrTestDirectory>
<MSBuildCommonProperties>
RestorePackages=false;
TreatWarningsAsErrors=true;
</MSBuildCommonProperties>
<MSBuildCommonProperties Condition="'$(TestVSI)' != 'true'">
$(MSBuildCommonProperties);
DeployExtension=false;
</MSBuildCommonProperties>
<MSBuildCommonProperties Condition="'$(TestVSI)' == 'true'">
$(MSBuildCommonProperties);
DeployExtension=true;
</MSBuildCommonProperties>
</PropertyGroup>
<Target Name="Build">
...
...
@@ -102,7 +111,7 @@
<RunTestsArgs>$(NuGetPackageRoot)\xunit.runner.console\$(xunitrunnerconsoleVersion)\tools $(RunTestArgs) @(TestAssemblies, ' ')</RunTestsArgs>
</PropertyGroup>
<Exec Condition="'$(RunProcessWatchdog)' != 'true'" Command=""$(CoreRunExe)" $(CoreRunArgs)" />
<Exec Condition="'$(RunProcessWatchdog)' != 'true'
AND '$(TestVSI)' != 'true'
" Command=""$(CoreRunExe)" $(CoreRunArgs)" />
<Exec Condition="'$(RunProcessWatchdog)' != 'true'" Command=""$(RunTestsExe)" $(RunTestsArgs)" />
...
...
cibuild.cmd
浏览文件 @
eb62d044
...
...
@@ -20,6 +20,7 @@ if /I "%1" == "/test64" set Test64=true&&shift&& goto :ParseArguments
if
/I
"
%
1"
==
"/testDeterminism"
set
TestDeterminism
=
true
&&
shift
&&
goto
:ParseArguments
if
/I
"
%
1"
==
"/testPerfCorrectness"
set
TestPerfCorrectness
=
true
&&
shift
&&
goto
:ParseArguments
if
/I
"
%
1"
==
"/testPerfRun"
set
TestPerfRun
=
true
&&
shift
&&
goto
:ParseArguments
if
/I
"
%
1"
==
"/testVSI"
set
TestVSI
=
true
&&
shift
&&
goto
:ParseArguments
REM /buildTimeLimit is the time limit, measured in minutes, for the Jenkins job that runs
REM the build. The Jenkins script netci.groovy passes the time limit to this script.
...
...
@@ -90,7 +91,7 @@ if defined TestPerfRun (
exit
/b
0
)
msbuild
%MSBuildAdditionalCommandLineArgs%
/p
:BootstrapBuildPath
=
"
%bindir%
\Bootstrap"
BuildAndTest
.proj
/p
:Configuration
=
%BuildConfiguration%
/p
:Test
64
=
%Test6
4
%
/p
:RunProcessWatchdog
=
%RunProcessWatchdog%
/p
:BuildStartTime
=
%BuildStartTime%
/p
:
"ProcDumpExe=
%ProcDumpExe%
"
/p
:BuildTimeLimit
=
%BuildTimeLimit%
/p
:PathMap
=
"
%RoslynRoot%
=q:\roslyn"
/p
:Feature
=
pdb
-path-determinism /fileloggerparameters
:LogFile
=
"
%bindir%
\Build.log"
;
verbosity
=
diagnostic
||
goto
:BuildFailed
msbuild
%MSBuildAdditionalCommandLineArgs%
/p
:BootstrapBuildPath
=
"
%bindir%
\Bootstrap"
BuildAndTest
.proj
/p
:Configuration
=
%BuildConfiguration%
/p
:Test
64
=
%Test6
4
%
/p
:
TestVSI
=
%TestVSI%
/p
:
RunProcessWatchdog
=
%RunProcessWatchdog%
/p
:BuildStartTime
=
%BuildStartTime%
/p
:
"ProcDumpExe=
%ProcDumpExe%
"
/p
:BuildTimeLimit
=
%BuildTimeLimit%
/p
:PathMap
=
"
%RoslynRoot%
=q:\roslyn"
/p
:Feature
=
pdb
-path-determinism /fileloggerparameters
:LogFile
=
"
%bindir%
\Build.log"
;
verbosity
=
diagnostic
||
goto
:BuildFailed
powershell
-noprofile -executionPolicy
RemoteSigned
-file
"
%RoslynRoot%
\build\scripts\check-msbuild.ps1"
"
%bindir%
\Build.log"
||
goto
:BuildFailed
call
:TerminateBuildProcesses
...
...
netci.groovy
浏览文件 @
eb62d044
...
...
@@ -15,7 +15,7 @@ static void addEmailPublisher(def myJob) {
myJob
.
with
{
publishers
{
extendedEmail
(
'mlinfraswat@microsoft.com'
,
'$DEFAULT_SUBJECT'
,
'$DEFAULT_CONTENT'
)
{
// trigger(trigger name, subject, body, recipient list, send to developers, send to requester, include culprits, send to recipient list)
// trigger(trigger name, subject, body, recipient list, send to developers, send to requester, include culprits, send to recipient list)
trigger
(
'Aborted'
,
'$PROJECT_DEFAULT_SUBJECT'
,
'$PROJECT_DEFAULT_CONTENT'
,
null
,
false
,
false
,
false
,
true
)
trigger
(
'Failure'
,
'$PROJECT_DEFAULT_SUBJECT'
,
'$PROJECT_DEFAULT_CONTENT'
,
null
,
false
,
false
,
false
,
true
)
}
...
...
@@ -198,6 +198,27 @@ commitPullList.each { isPr ->
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
// Open Integration Tests
commitPullList
.
each
{
isPr
->
def
jobName
=
Utilities
.
getFullJobName
(
projectName
,
"open-vsi"
,
isPr
)
def
myJob
=
job
(
jobName
)
{
description
(
'open integration tests'
)
label
(
'auto-win2012-20160912'
)
steps
{
batchFile
(
"""set TEMP=%WORKSPACE%\\Binaries\\Temp
mkdir %TEMP%
set TMP=%TEMP%
set VS150COMNTOOLS=%ProgramFiles(x86)%\\Microsoft Visual Studio\\VS15Preview\\Common7\\Tools\\
.\\cibuild.cmd /debug /testVSI"""
)
}
}
def
triggerPhraseOnly
=
true
def
triggerPhraseExtra
=
"open-vsi"
Utilities
.
setMachineAffinity
(
myJob
,
'Windows_NT'
,
'latest-or-auto-dev15-preview4'
)
addRoslynJob
(
myJob
,
jobName
,
branchName
,
isPr
,
triggerPhraseExtra
,
triggerPhraseOnly
)
}
JobReport
.
Report
.
generateJobReport
(
out
)
// Make the call to generate the help job
...
...
src/Tools/Source/RunTests/ITestExecutor.cs
浏览文件 @
eb62d044
...
...
@@ -16,13 +16,16 @@ internal struct TestExecutionOptions
internal
bool
UseHtml
{
get
;
}
internal
bool
Test64
{
get
;
}
internal
TestExecutionOptions
(
string
xunitPath
,
string
trait
,
string
noTrait
,
bool
useHtml
,
bool
test64
)
internal
bool
TestVSI
{
get
;
}
internal
TestExecutionOptions
(
string
xunitPath
,
string
trait
,
string
noTrait
,
bool
useHtml
,
bool
test64
,
bool
testVSI
)
{
XunitPath
=
xunitPath
;
Trait
=
trait
;
NoTrait
=
noTrait
;
UseHtml
=
useHtml
;
Test64
=
test64
;
TestVSI
=
testVSI
;
}
}
...
...
@@ -40,7 +43,7 @@ internal struct TestResult
internal
bool
IsResultFromCache
{
get
;
}
/// <summary>
/// Path to the results file. Can be null in the case xunit error'd and did not create one.
/// Path to the results file. Can be null in the case xunit error'd and did not create one.
/// </summary>
internal
string
ResultsFilePath
{
get
;
}
...
...
src/Tools/Source/RunTests/Options.cs
浏览文件 @
eb62d044
...
...
@@ -27,6 +27,11 @@ internal class Options
/// </summary>
public
bool
Test64
{
get
;
set
;
}
/// <summary>
/// Use the open integration test runner.
/// </summary>
public
bool
TestVSI
{
get
;
set
;
}
/// <summary>
/// Allow the caching of test results.
/// </summary>
...
...
@@ -77,6 +82,11 @@ internal static Options Parse(string[] args)
opt
.
Test64
=
true
;
index
++;
}
else
if
(
comp
.
Equals
(
current
,
"-testVSI"
))
{
opt
.
TestVSI
=
true
;
index
++;
}
else
if
(
comp
.
Equals
(
current
,
"-xml"
))
{
opt
.
UseHtml
=
false
;
...
...
src/Tools/Source/RunTests/Program.cs
浏览文件 @
eb62d044
...
...
@@ -43,7 +43,7 @@ internal static int Main(string[] args)
private
static
async
Task
<
int
>
RunCore
(
Options
options
,
CancellationToken
cancellationToken
)
{
if
(!
CheckAssemblyList
(
options
))
{
{
return
ExitFailure
;
}
...
...
@@ -80,7 +80,7 @@ private static async Task<int> RunCore(Options options, CancellationToken cancel
}
/// <summary>
/// Quick sanity check to look over the set of assemblies to make sure they are valid and something was
/// Quick sanity check to look over the set of assemblies to make sure they are valid and something was
/// specified.
/// </summary>
private
static
bool
CheckAssemblyList
(
Options
options
)
...
...
@@ -118,7 +118,7 @@ private static List<AssemblyInfo> GetAssemblyList(Options options)
{
var
name
=
Path
.
GetFileName
(
assemblyPath
);
// As a starting point we will just schedule the items we know to be a performance
// As a starting point we will just schedule the items we know to be a performance
// bottleneck. Can adjust as we get real data.
if
(
name
==
"Roslyn.Compilers.CSharp.Emit.UnitTests.dll"
||
name
==
"Roslyn.Services.Editor.UnitTests.dll"
||
...
...
@@ -170,9 +170,9 @@ private static bool CanUseWebStorage()
{
// The web caching layer is still being worked on. For now want to limit it to Roslyn developers
// and Jenkins runs by default until we work on this a bit more. Anyone reading this who wants
// to try it out should feel free to opt into this.
return
StringComparer
.
OrdinalIgnoreCase
.
Equals
(
"REDMOND"
,
Environment
.
UserDomainName
)
||
// to try it out should feel free to opt into this.
return
StringComparer
.
OrdinalIgnoreCase
.
Equals
(
"REDMOND"
,
Environment
.
UserDomainName
)
||
Constants
.
IsJenkinsRun
;
}
...
...
@@ -183,7 +183,8 @@ private static ITestExecutor CreateTestExecutor(Options options)
trait
:
options
.
Trait
,
noTrait
:
options
.
NoTrait
,
useHtml
:
options
.
UseHtml
,
test64
:
options
.
Test64
);
test64
:
options
.
Test64
,
testVSI
:
options
.
TestVSI
);
var
processTestExecutor
=
new
ProcessTestExecutor
(
testExecutionOptions
);
if
(!
options
.
UseCachedResults
)
{
...
...
@@ -192,7 +193,7 @@ private static ITestExecutor CreateTestExecutor(Options options)
// The web caching layer is still being worked on. For now want to limit it to Roslyn developers
// and Jenkins runs by default until we work on this a bit more. Anyone reading this who wants
// to try it out should feel free to opt into this.
// to try it out should feel free to opt into this.
IDataStorage
dataStorage
=
new
LocalDataStorage
();
if
(
CanUseWebStorage
())
{
...
...
src/Tools/Source/RunTests/TestRunner.cs
浏览文件 @
eb62d044
...
...
@@ -40,7 +40,8 @@ internal TestRunner(Options options, ITestExecutor testExecutor)
internal
async
Task
<
RunAllResult
>
RunAllAsync
(
IEnumerable
<
AssemblyInfo
>
assemblyInfoList
,
CancellationToken
cancellationToken
)
{
var
max
=
(
int
)(
Environment
.
ProcessorCount
*
1.5
);
// Use 1.5 times the number of processors for unit tests, but only 1 processor for the open integration tests
var
max
=
(
_options
.
TestVSI
)
?
1
:
(
int
)(
Environment
.
ProcessorCount
*
1.5
);
var
allPassed
=
true
;
var
cacheCount
=
0
;
var
waiting
=
new
Stack
<
AssemblyInfo
>(
assemblyInfoList
);
...
...
@@ -131,7 +132,7 @@ private void PrintFailedTestResult(TestResult testResult)
Console
.
WriteLine
(
"Errors {0}: "
,
testResult
.
AssemblyName
);
Console
.
WriteLine
(
testResult
.
ErrorOutput
);
// TODO: Put this in the log and take it off the console output to keep it simple?
// TODO: Put this in the log and take it off the console output to keep it simple?
Console
.
WriteLine
(
$"Command:
{
testResult
.
CommandLine
}
"
);
Console
.
WriteLine
(
$"xUnit output log:
{
outputLogPath
}
"
);
...
...
src/VisualStudio/CSharp/Impl/CSharpVisualStudio.csproj
浏览文件 @
eb62d044
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty=
"DeployExtension"
>
<PropertyGroup>
<!-- Explicitly set the language before anything else is imported. That way VSL.Settings.targets sees the right value
even in WPF's build of a temporary project, where it won't be able to determine it based on the file extension. -->
...
...
src/VisualStudio/CSharp/Repl/CSharpVisualStudioRepl.csproj
浏览文件 @
eb62d044
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty=
"DeployExtension"
>
<PropertyGroup>
<ProjectLanguage>
CSharp
</ProjectLanguage>
</PropertyGroup>
...
...
src/VisualStudio/Core/Def/ServicesVisualStudio.csproj
浏览文件 @
eb62d044
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty=
"DeployExtension"
>
<PropertyGroup>
<ProjectLanguage>
CSharp
</ProjectLanguage>
</PropertyGroup>
...
...
src/VisualStudio/VisualBasic/Impl/BasicVisualStudio.vbproj
浏览文件 @
eb62d044
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty=
"DeployExtension"
>
<PropertyGroup>
<ProjectLanguage>
VB
</ProjectLanguage>
</PropertyGroup>
...
...
src/VisualStudio/VisualBasic/Repl/BasicVisualStudioRepl.vbproj
浏览文件 @
eb62d044
<?xml version="1.0" encoding="utf-8"?>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
>
<Project
ToolsVersion=
"4.0"
DefaultTargets=
"Build"
xmlns=
"http://schemas.microsoft.com/developer/msbuild/2003"
TreatAsLocalProperty=
"DeployExtension"
>
<Import
Project=
"..\..\..\..\build\Targets\VSL.Settings.targets"
/>
<PropertyGroup>
<Configuration
Condition=
"'$(Configuration)' == ''"
>
Debug
</Configuration>
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录