Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mobile
Path: blob/master/test/lib-test/jdk/test/lib/process/OutputAnalyzerTest.java
43745 views
1
/*
2
* Copyright (c) 2013, 2020, Oracle and/or its affiliates. All rights reserved.
3
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4
*
5
* This code is free software; you can redistribute it and/or modify it
6
* under the terms of the GNU General Public License version 2 only, as
7
* published by the Free Software Foundation.
8
*
9
* This code is distributed in the hope that it will be useful, but WITHOUT
10
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12
* version 2 for more details (a copy is included in the LICENSE file that
13
* accompanied this code).
14
*
15
* You should have received a copy of the GNU General Public License version
16
* 2 along with this work; if not, write to the Free Software Foundation,
17
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18
*
19
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20
* or visit www.oracle.com if you need additional information or have any
21
* questions.
22
*/
23
24
/*
25
* @test
26
* @summary Test the OutputAnalyzer utility class
27
* @modules java.management
28
* @library /test/lib
29
* @run main OutputAnalyzerTest
30
*/
31
32
import jdk.test.lib.process.OutputAnalyzer;
33
34
public class OutputAnalyzerTest {
35
36
public static void main(String args[]) throws Exception {
37
38
String stdout = "aaaaaa";
39
String stderr = "bbbbbb";
40
String nonExistingString = "cccc";
41
42
OutputAnalyzer output = new OutputAnalyzer(stdout, stderr);
43
44
if (!stdout.equals(output.getStdout())) {
45
throw new Exception("getStdout() returned '" + output.getStdout()
46
+ "', expected '" + stdout + "'");
47
}
48
49
if (!stderr.equals(output.getStderr())) {
50
throw new Exception("getStderr() returned '" + output.getStderr()
51
+ "', expected '" + stderr + "'");
52
}
53
54
try {
55
output.shouldContain(stdout);
56
output.stdoutShouldContain(stdout);
57
output.shouldContain(stderr);
58
output.stderrShouldContain(stderr);
59
} catch (RuntimeException e) {
60
throw new Exception("shouldContain() failed", e);
61
}
62
63
try {
64
output.shouldContain(nonExistingString);
65
throw new Exception("shouldContain() failed to throw exception");
66
} catch (RuntimeException e) {
67
// expected
68
}
69
70
try {
71
output.stdoutShouldContain(stderr);
72
throw new Exception(
73
"stdoutShouldContain() failed to throw exception");
74
} catch (RuntimeException e) {
75
// expected
76
}
77
78
try {
79
output.stderrShouldContain(stdout);
80
throw new Exception(
81
"stdoutShouldContain() failed to throw exception");
82
} catch (RuntimeException e) {
83
// expected
84
}
85
86
try {
87
output.shouldNotContain(nonExistingString);
88
output.stdoutShouldNotContain(nonExistingString);
89
output.stderrShouldNotContain(nonExistingString);
90
} catch (RuntimeException e) {
91
throw new Exception("shouldNotContain() failed", e);
92
}
93
94
try {
95
output.shouldNotContain(stdout);
96
throw new Exception("shouldContain() failed to throw exception");
97
} catch (RuntimeException e) {
98
// expected
99
}
100
101
try {
102
output.stdoutShouldNotContain(stdout);
103
throw new Exception("shouldContain() failed to throw exception");
104
} catch (RuntimeException e) {
105
// expected
106
}
107
108
try {
109
output.stderrShouldNotContain(stderr);
110
throw new Exception("shouldContain() failed to throw exception");
111
} catch (RuntimeException e) {
112
// expected
113
}
114
115
String stdoutPattern = "[a]";
116
String stdoutByLinePattern = "a*";
117
String stderrPattern = "[b]";
118
String nonExistingPattern = "[c]";
119
String byLinePattern = "[ab]*";
120
121
// Should match
122
try {
123
output.shouldMatch(stdoutPattern);
124
output.stdoutShouldMatch(stdoutPattern);
125
output.shouldMatch(stderrPattern);
126
output.stderrShouldMatch(stderrPattern);
127
} catch (RuntimeException e) {
128
throw new Exception("shouldMatch() failed", e);
129
}
130
131
try {
132
output.shouldMatch(nonExistingPattern);
133
throw new Exception("shouldMatch() failed to throw exception");
134
} catch (RuntimeException e) {
135
// expected
136
}
137
138
try {
139
output.stdoutShouldMatch(stderrPattern);
140
throw new Exception(
141
"stdoutShouldMatch() failed to throw exception");
142
} catch (RuntimeException e) {
143
// expected
144
}
145
146
try {
147
output.stderrShouldMatch(stdoutPattern);
148
throw new Exception(
149
"stderrShouldMatch() failed to throw exception");
150
} catch (RuntimeException e) {
151
// expected
152
}
153
154
try {
155
output.shouldMatchByLine(byLinePattern);
156
} catch (RuntimeException e) {
157
throw new Exception("shouldMatchByLine() failed", e);
158
}
159
160
try {
161
output.shouldMatchByLine(nonExistingPattern);
162
throw new Exception("shouldMatchByLine() failed to throw exception");
163
} catch (RuntimeException e) {
164
// expected
165
}
166
167
try {
168
output.stdoutShouldMatchByLine(stdoutByLinePattern);
169
} catch (RuntimeException e) {
170
throw new Exception("stdoutShouldMatchByLine() failed", e);
171
}
172
173
// Should not match
174
try {
175
output.shouldNotMatch(nonExistingPattern);
176
output.stdoutShouldNotMatch(nonExistingPattern);
177
output.stderrShouldNotMatch(nonExistingPattern);
178
} catch (RuntimeException e) {
179
throw new Exception("shouldNotMatch() failed", e);
180
}
181
182
try {
183
output.shouldNotMatch(stdoutPattern);
184
throw new Exception("shouldNotMatch() failed to throw exception");
185
} catch (RuntimeException e) {
186
// expected
187
}
188
189
try {
190
output.stdoutShouldNotMatch(stdoutPattern);
191
throw new Exception("shouldNotMatch() failed to throw exception");
192
} catch (RuntimeException e) {
193
// expected
194
}
195
196
try {
197
output.stderrShouldNotMatch(stderrPattern);
198
throw new Exception("shouldNotMatch() failed to throw exception");
199
} catch (RuntimeException e) {
200
// expected
201
}
202
203
{
204
String aaaa = "aaaa";
205
String result = output.firstMatch(aaaa);
206
if (!aaaa.equals(result)) {
207
throw new Exception("firstMatch(String) failed to match. Expected: " + aaaa + " got: " + result);
208
}
209
}
210
211
{
212
String aa = "aa";
213
String aa_grouped_aa = aa + "(" + aa + ")";
214
String result = output.firstMatch(aa_grouped_aa, 1);
215
if (!aa.equals(result)) {
216
throw new Exception("firstMatch(String, int) failed to match. Expected: " + aa + " got: " + result);
217
}
218
}
219
}
220
221
}
222
223