Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
f7192394
R
Rust
项目概览
int
/
Rust
11 个月 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f7192394
编写于
7月 02, 2022
作者:
T
The 8472
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
move optimize-tests flag handling from bootstrap to compiletest
上级
125f33aa
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
29 addition
and
23 deletion
+29
-23
src/bootstrap/test.rs
src/bootstrap/test.rs
+1
-7
src/tools/compiletest/src/common.rs
src/tools/compiletest/src/common.rs
+2
-3
src/tools/compiletest/src/main.rs
src/tools/compiletest/src/main.rs
+1
-1
src/tools/compiletest/src/runtest.rs
src/tools/compiletest/src/runtest.rs
+25
-12
未找到文件。
src/bootstrap/test.rs
浏览文件 @
f7192394
...
...
@@ -1363,16 +1363,10 @@ fn run(self, builder: &Builder<'_>) {
if
let
Some
(
ref
npm
)
=
builder
.config.npm
{
cmd
.arg
(
"--npm"
)
.arg
(
npm
);
}
let
mut
flags
=
if
is_rustdoc
{
Vec
::
new
()
}
else
{
vec!
[
"-Crpath"
.to_string
()]
};
if
!
is_rustdoc
&&
mode
!=
"ui"
{
if
builder
.config.rust_optimize_tests
{
flags
.push
(
"-O"
.to_string
());
}
}
if
builder
.config.rust_optimize_tests
{
cmd
.arg
(
"--optimize-tests"
);
}
let
mut
flags
=
if
is_rustdoc
{
Vec
::
new
()
}
else
{
vec!
[
"-Crpath"
.to_string
()]
};
flags
.push
(
format!
(
"-Cdebuginfo={}"
,
builder
.config.rust_debuginfo_level_tests
));
flags
.push
(
builder
.config.cmd
.rustc_args
()
.join
(
" "
));
...
...
src/tools/compiletest/src/common.rs
浏览文件 @
f7192394
...
...
@@ -269,9 +269,8 @@ pub struct Config {
/// Flags to pass to the compiler when building for the target
pub
target_rustcflags
:
Option
<
String
>
,
/// Whether tests should be optimized.
/// Currently only provides a default for UI-tests that are run-pass.
/// Other tests are controlled by rustcflags or the testfiles themselves.
/// Whether tests should be optimized by default. Individual test-suites and test files may
/// override this setting.
pub
optimize_tests
:
bool
,
/// What panic strategy the target is built with. Unwind supports Abort, but
...
...
src/tools/compiletest/src/main.rs
浏览文件 @
f7192394
...
...
@@ -102,7 +102,7 @@ pub fn parse_config(args: Vec<String>) -> Config {
)
.optmulti
(
""
,
"host-rustcflags"
,
"flags to pass to rustc for host"
,
"FLAGS"
)
.optmulti
(
""
,
"target-rustcflags"
,
"flags to pass to rustc for target"
,
"FLAGS"
)
.optflag
(
""
,
"optimize-tests"
,
"
build UI tests with optimization
enabled"
)
.optflag
(
""
,
"optimize-tests"
,
"
run tests with optimizations
enabled"
)
.optopt
(
""
,
"target-panic"
,
"what panic strategy the target supports"
,
"unwind | abort"
)
.optflag
(
""
,
"verbose"
,
"run tests verbosely, showing all output"
)
.optflag
(
...
...
src/tools/compiletest/src/runtest.rs
浏览文件 @
f7192394
...
...
@@ -1862,6 +1862,31 @@ fn make_compile_args(
}
}
if
self
.config.optimize_tests
&&
!
is_rustdoc
{
match
self
.config.mode
{
Ui
=>
{
// If optimize-tests is true we still only want to optimize tests that actually get
// executed and that don't specify their own optimization levels.
// Note: aux libs don't have a pass-mode, so they won't get optimized
// unless compile-flags are set in the aux file.
if
self
.config.optimize_tests
&&
self
.props
.pass_mode
(
&
self
.config
)
==
Some
(
PassMode
::
Run
)
&&
!
self
.props
.compile_flags
.iter
()
.any
(|
arg
|
arg
==
"-O"
||
arg
.contains
(
"opt-level"
))
{
rustc
.arg
(
"-O"
);
}
}
DebugInfo
=>
{
/* debuginfo tests must be unoptimized */
}
_
=>
{
rustc
.arg
(
"-O"
);
}
}
}
match
self
.config.mode
{
Incremental
=>
{
// If we are extracting and matching errors in the new
...
...
@@ -1875,18 +1900,6 @@ fn make_compile_args(
rustc
.arg
(
"-Zdeduplicate-diagnostics=no"
);
}
Ui
=>
{
// If optimize-tests is true we still only want to optimize tests that actually get
// executed and that don't specify their own optimization levels
if
self
.config.optimize_tests
&&
self
.props
.pass_mode
(
&
self
.config
)
==
Some
(
PassMode
::
Run
)
&&
!
self
.props
.compile_flags
.iter
()
.any
(|
arg
|
arg
==
"-O"
||
arg
.contains
(
"opt-level"
))
{
rustc
.arg
(
"-O"
);
}
if
!
self
.props.compile_flags
.iter
()
.any
(|
s
|
s
.starts_with
(
"--error-format"
))
{
rustc
.args
(
&
[
"--error-format"
,
"json"
]);
rustc
.args
(
&
[
"--json"
,
"future-incompat"
]);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录