Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
dragonwell8_jdk
提交
8ba8200a
D
dragonwell8_jdk
项目概览
openanolis
/
dragonwell8_jdk
通知
4
Star
2
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
dragonwell8_jdk
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8ba8200a
编写于
1月 17, 2018
作者:
I
igerasim
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
8142927: Feed some text to STDIN in ProcessTools.executeProcess()
Reviewed-by: rriggs
上级
09e357db
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
26 addition
and
3 deletion
+26
-3
test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
+1
-1
test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
+25
-2
未找到文件。
test/lib/testlibrary/jdk/testlibrary/OutputAnalyzer.java
浏览文件 @
8ba8200a
...
...
@@ -39,7 +39,7 @@ public final class OutputAnalyzer {
private
final
String
stdout
;
private
final
String
stderr
;
private
final
int
exitValue
;
private
final
int
exitValue
;
// useless now. output contains exit value.
/**
* Create an OutputAnalyzer, a utility class for verifying output and exit
...
...
test/lib/testlibrary/jdk/testlibrary/ProcessTools.java
浏览文件 @
8ba8200a
/*
* Copyright (c) 2013, 201
5
, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2013, 201
7
, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
...
...
@@ -25,6 +25,7 @@ package jdk.testlibrary;
import
java.io.ByteArrayOutputStream
;
import
java.io.IOException
;
import
java.io.OutputStream
;
import
java.io.PrintStream
;
import
java.lang.management.ManagementFactory
;
import
java.lang.management.RuntimeMXBean
;
...
...
@@ -353,9 +354,31 @@ public final class ProcessTools {
* @return The output from the process.
*/
public
static
OutputAnalyzer
executeProcess
(
ProcessBuilder
pb
)
throws
Throwable
{
return
executeProcess
(
pb
,
null
);
}
/**
* Executes a process, pipe some text into its STDIN, waits for it
* to finish and returns the process output. The process will have exited
* before this method returns.
* @param pb The ProcessBuilder to execute.
* @param input The text to pipe into STDIN. Can be null.
* @return The {@linkplain OutputAnalyzer} instance wrapping the process.
*/
public
static
OutputAnalyzer
executeProcess
(
ProcessBuilder
pb
,
String
input
)
throws
Throwable
{
OutputAnalyzer
output
=
null
;
Process
p
=
null
;
try
{
output
=
new
OutputAnalyzer
(
pb
.
start
());
p
=
pb
.
start
();
if
(
input
!=
null
)
{
try
(
OutputStream
os
=
p
.
getOutputStream
();
PrintStream
ps
=
new
PrintStream
(
os
))
{
ps
.
print
(
input
);
ps
.
flush
();
}
}
output
=
new
OutputAnalyzer
(
p
);
return
output
;
}
catch
(
Throwable
t
)
{
System
.
out
.
println
(
"executeProcess() failed: "
+
t
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录