Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
ef29e6a3
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
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,发现更多精彩内容 >>
提交
ef29e6a3
编写于
6月 21, 2017
作者:
O
Oliver Schneider
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add fullmir tests
上级
a82fe9ae
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
14 addition
and
7 deletion
+14
-7
.travis.yml
.travis.yml
+6
-5
tests/compiletest.rs
tests/compiletest.rs
+8
-2
tests/run-pass-fullmir/loop-break-value.rs
tests/run-pass-fullmir/loop-break-value.rs
+0
-0
未找到文件。
.travis.yml
浏览文件 @
ef29e6a3
...
...
@@ -10,6 +10,11 @@ before_script:
-
cargo install xargo
-
export RUST_SYSROOT=$HOME/rust
script
:
-
|
# get ourselves a MIR-ful libstd
cd xargo &&
RUSTFLAGS='-Zalways-encode-mir' xargo build &&
cd ..
-
|
# Test plain miri
cargo build &&
...
...
@@ -22,11 +27,7 @@ script:
cargo miri test &&
cd ..
-
|
# get ourselves a MIR-ful libstd
cd xargo &&
RUSTFLAGS='-Zalways-encode-mir' xargo build &&
cd .. &&
# and run the tests with it
# and run all tests with full mir
MIRI_SYSROOT=~/.xargo/HOST cargo test
notifications
:
email
:
...
...
tests/compiletest.rs
浏览文件 @
ef29e6a3
...
...
@@ -27,13 +27,17 @@ fn run_pass() {
compiletest
::
run_tests
(
&
config
);
}
fn
miri_pass
(
path
:
&
str
,
target
:
&
str
,
host
:
&
str
)
{
fn
miri_pass
(
path
:
&
str
,
target
:
&
str
,
host
:
&
str
,
fullmir
:
bool
)
{
let
mut
config
=
compiletest
::
default_config
();
config
.mode
=
"mir-opt"
.parse
()
.expect
(
"Invalid mode"
);
config
.src_base
=
PathBuf
::
from
(
path
);
config
.target
=
target
.to_owned
();
config
.host
=
host
.to_owned
();
config
.rustc_path
=
PathBuf
::
from
(
"target/debug/miri"
);
if
fullmir
{
let
sysroot
=
Path
::
new
(
&
std
::
env
::
var
(
"HOME"
)
.unwrap
())
.join
(
".xargo"
)
.join
(
"HOST"
);
config
.target_rustcflags
=
Some
(
format!
(
"--sysroot {}"
,
sysroot
.to_str
()
.unwrap
()));
}
// don't actually execute the final binary, it might be for other targets and we only care
// about running miri, not the binary.
config
.runtool
=
Some
(
"echo
\"\"
|| "
.to_owned
());
...
...
@@ -116,6 +120,7 @@ fn compile_test() {
let
sysroot
=
libs
.join
(
"rustlib"
)
.join
(
&
host
)
.join
(
"lib"
);
let
paths
=
std
::
env
::
join_paths
(
&
[
libs
,
sysroot
])
.unwrap
();
cmd
.env
(
compiletest
::
procsrv
::
dylib_env_var
(),
paths
);
cmd
.env
(
"MIRI_SYSROOT"
,
Path
::
new
(
&
std
::
env
::
var
(
"HOME"
)
.unwrap
())
.join
(
".xargo"
)
.join
(
"HOST"
));
match
cmd
.output
()
{
Ok
(
ref
output
)
if
output
.status
.success
()
=>
{
...
...
@@ -197,8 +202,9 @@ fn compile_test() {
}
else
{
run_pass
();
for_all_targets
(
sysroot
,
|
target
|
{
miri_pass
(
"tests/run-pass"
,
&
target
,
host
);
miri_pass
(
"tests/run-pass"
,
&
target
,
host
,
false
);
});
miri_pass
(
"tests/run-pass-fullmir"
,
host
,
host
,
true
);
compile_fail
(
sysroot
);
}
}
...
...
tests/run-pass/loop-break-value.rs
→
tests/run-pass
-fullmir
/loop-break-value.rs
浏览文件 @
ef29e6a3
文件已移动
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录