Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
e570e9e7
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,发现更多精彩内容 >>
提交
e570e9e7
编写于
12月 13, 2017
作者:
G
Gilad Naaman
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
libtest: JSON formatting is now only available in unstable builds
libtest: Added the -Z option for unstable options
上级
588a6a35
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
36 addition
and
2 deletion
+36
-2
src/libtest/lib.rs
src/libtest/lib.rs
+36
-2
未找到文件。
src/libtest/lib.rs
浏览文件 @
e570e9e7
...
...
@@ -399,7 +399,9 @@ fn optgroups() -> getopts::Options {
.optopt
(
""
,
"format"
,
"Configure formatting of output:
pretty = Print verbose output;
terse = Display one character per test;
json = Output a json document"
,
"pretty|terse|json"
);
json = Output a json document"
,
"pretty|terse|json"
)
.optopt
(
"Z"
,
""
,
"Enable nightly-only flags:
unstable-options = Allow use of experimental features"
,
"unstable-options"
);
return
opts
}
...
...
@@ -435,8 +437,19 @@ fn usage(binary: &str, options: &getopts::Options) {
usage
=
options
.usage
(
&
message
));
}
// FIXME: Copied from libsyntax until linkage errors are resolved.
fn
is_nightly
()
->
bool
{
// Whether this is a feature-staged build, i.e. on the beta or stable channel
let
disable_unstable_features
=
option_env!
(
"CFG_DISABLE_UNSTABLE_FEATURES"
)
.is_some
();
// Whether we should enable unstable features for bootstrapping
let
bootstrap
=
env
::
var
(
"RUSTC_BOOTSTRAP"
)
.is_ok
();
bootstrap
||
!
disable_unstable_features
}
// Parses command line arguments into test options
pub
fn
parse_opts
(
args
:
&
[
String
])
->
Option
<
OptRes
>
{
let
mut
allow_unstable
=
false
;
let
opts
=
optgroups
();
let
args
=
args
.get
(
1
..
)
.unwrap_or
(
args
);
let
matches
=
match
opts
.parse
(
args
)
{
...
...
@@ -444,6 +457,21 @@ pub fn parse_opts(args: &[String]) -> Option<OptRes> {
Err
(
f
)
=>
return
Some
(
Err
(
f
.to_string
())),
};
if
let
Some
(
opt
)
=
matches
.opt_str
(
"Z"
)
{
if
!
is_nightly
()
{
return
Some
(
Err
(
"the option `Z` is only accepted on the nightly compiler"
.into
()));
}
match
&*
opt
{
"unstable-options"
=>
{
allow_unstable
=
true
;
}
_
=>
{
return
Some
(
Err
(
"Unrecognized option to `Z`"
.into
()));
}
}
};
if
matches
.opt_present
(
"h"
)
{
usage
(
&
args
[
0
],
&
opts
);
return
None
;
...
...
@@ -504,7 +532,13 @@ pub fn parse_opts(args: &[String]) -> Option<OptRes> {
None
if
quiet
=>
OutputFormat
::
Terse
,
Some
(
"pretty"
)
|
None
=>
OutputFormat
::
Pretty
,
Some
(
"terse"
)
=>
OutputFormat
::
Terse
,
Some
(
"json"
)
=>
OutputFormat
::
Json
,
Some
(
"json"
)
=>
{
if
!
allow_unstable
{
return
Some
(
Err
(
"The
\"
json
\"
format is only accepted on the nightly compiler"
.into
()));
}
OutputFormat
::
Json
},
Some
(
v
)
=>
{
return
Some
(
Err
(
format!
(
"argument for --format must be pretty, terse, or json (was
\
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录