Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
lwm1986
roslyn
提交
63f72155
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,发现更多精彩内容 >>
提交
63f72155
编写于
4月 30, 2020
作者:
S
Sam Harwell
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Support sequential testing
上级
436d1781
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
19 addition
and
10 deletion
+19
-10
eng/build.ps1
eng/build.ps1
+5
-0
src/Tools/Source/RunTests/AssemblyScheduler.cs
src/Tools/Source/RunTests/AssemblyScheduler.cs
+3
-9
src/Tools/Source/RunTests/Options.cs
src/Tools/Source/RunTests/Options.cs
+10
-0
src/Tools/Source/RunTests/TestRunner.cs
src/Tools/Source/RunTests/TestRunner.cs
+1
-1
未找到文件。
eng/build.ps1
浏览文件 @
63f72155
...
...
@@ -59,6 +59,7 @@ param (
[
switch
][
Alias
(
'test'
)]
$testDesktop
,
[
switch
]
$testCoreClr
,
[
switch
]
$testIOperation
,
[
switch
]
$sequential
,
[
parameter
(
ValueFromRemainingArguments
=
$true
)][
string
[]]
$properties
)
...
...
@@ -437,6 +438,10 @@ function TestUsingOptimizedRunner() {
$args
+=
" -test64"
}
if
(
$sequential
)
{
$args
+=
" -sequential"
}
foreach
(
$dll
in
$dlls
)
{
$args
+=
"
$dll
"
}
...
...
src/Tools/Source/RunTests/AssemblyScheduler.cs
浏览文件 @
63f72155
...
...
@@ -196,19 +196,13 @@ internal AssemblyScheduler(Options options, int methodLimit = DefaultMethodLimit
_methodLimit
=
methodLimit
;
}
internal
IEnumerable
<
AssemblyInfo
>
Schedule
(
IEnumerable
<
string
>
assemblyPaths
)
public
IEnumerable
<
AssemblyInfo
>
Schedule
(
string
assemblyPath
,
bool
force
=
false
)
{
var
list
=
new
List
<
AssemblyInfo
>();
foreach
(
var
assemblyPath
in
assemblyPaths
)
if
(
_options
.
Sequential
)
{
list
.
AddRange
(
Schedule
(
assemblyPath
))
;
return
new
[]
{
CreateAssemblyInfo
(
assemblyPath
)
}
;
}
return
list
;
}
public
IEnumerable
<
AssemblyInfo
>
Schedule
(
string
assemblyPath
,
bool
force
=
false
)
{
var
typeInfoList
=
GetTypeInfoList
(
assemblyPath
);
var
assemblyInfoList
=
new
List
<
AssemblyInfo
>();
var
partitionList
=
new
List
<
Partition
>();
...
...
src/Tools/Source/RunTests/Options.cs
浏览文件 @
63f72155
...
...
@@ -76,6 +76,11 @@ internal class Options
/// </summary>
public
bool
UseProcDump
{
get
;
set
;
}
/// <summary>
/// Disable partitioning and parallelization across test assemblies.
/// </summary>
public
bool
Sequential
{
get
;
set
;
}
/// <summary>
/// The directory which contains procdump.exe.
/// </summary>
...
...
@@ -214,6 +219,11 @@ bool isOption(string argument, string optionName, out string value)
opt
.
UseProcDump
=
false
;
index
++;
}
else
if
(
comparer
.
Equals
(
current
,
"-sequential"
))
{
opt
.
Sequential
=
true
;
index
++;
}
else
{
break
;
...
...
src/Tools/Source/RunTests/TestRunner.cs
浏览文件 @
63f72155
...
...
@@ -47,7 +47,7 @@ internal async Task<RunAllResult> RunAllAsync(IEnumerable<AssemblyInfo> assembly
// Use 1.5 times the number of processors for unit tests, but only 1 processor for the open integration tests
// since they perform actual UI operations (such as mouse clicks and sending keystrokes) and we don't want two
// tests to conflict with one-another.
var
max
=
(
_options
.
TestVsi
)
?
1
:
(
int
)(
Environment
.
ProcessorCount
*
1.5
);
var
max
=
(
_options
.
TestVsi
||
_options
.
Sequential
)
?
1
:
(
int
)(
Environment
.
ProcessorCount
*
1.5
);
var
cacheCount
=
0
;
var
waiting
=
new
Stack
<
AssemblyInfo
>(
assemblyInfoList
);
var
running
=
new
List
<
Task
<
TestResult
>>();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录