annotate test/testlibrary/com/oracle/java/testlibrary/OutputAnalyzer.java @ 11985:9bd314787fad

8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output Summary: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output Reviewed-by: kvn, ctornqvi, dholmes
author mseledtsov
date Thu, 01 Aug 2013 22:15:40 +0200
parents 3b890cd4da64
children 9e11762cee52
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
1 /*
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
2 * Copyright (c) 2013, Oracle and/or its affiliates. All rights reserved.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
4 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
5 * This code is free software; you can redistribute it and/or modify it
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
6 * under the terms of the GNU General Public License version 2 only, as
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
7 * published by the Free Software Foundation.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
8 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
9 * This code is distributed in the hope that it will be useful, but WITHOUT
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
12 * version 2 for more details (a copy is included in the LICENSE file that
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
13 * accompanied this code).
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
14 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
15 * You should have received a copy of the GNU General Public License version
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
16 * 2 along with this work; if not, write to the Free Software Foundation,
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
18 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
20 * or visit www.oracle.com if you need additional information or have any
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
21 * questions.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
22 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
23
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
24 package com.oracle.java.testlibrary;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
25
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
26 import java.io.IOException;
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
27 import java.util.regex.Matcher;
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
28 import java.util.regex.Pattern;
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
29
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
30 public final class OutputAnalyzer {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
31
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
32 private final String stdout;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
33 private final String stderr;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
34 private final int exitValue;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
35
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
36 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
37 * Create an OutputAnalyzer, a utility class for verifying output and exit
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
38 * value from a Process
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
39 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
40 * @param process Process to analyze
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
41 * @throws IOException If an I/O error occurs.
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
42 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
43 public OutputAnalyzer(Process process) throws IOException {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
44 OutputBuffer output = ProcessTools.getOutput(process);
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
45 exitValue = process.exitValue();
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
46 this.stdout = output.getStdout();
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
47 this.stderr = output.getStderr();
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
48 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
49
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
50 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
51 * Create an OutputAnalyzer, a utility class for verifying output
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
52 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
53 * @param buf String buffer to analyze
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
54 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
55 public OutputAnalyzer(String buf) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
56 this(buf, buf);
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
57 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
58
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
59 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
60 * Create an OutputAnalyzer, a utility class for verifying output
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
61 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
62 * @param stdout stdout buffer to analyze
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
63 * @param stderr stderr buffer to analyze
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
64 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
65 public OutputAnalyzer(String stdout, String stderr) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
66 this.stdout = stdout;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
67 this.stderr = stderr;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
68 exitValue = -1;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
69 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
70
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
71 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
72 * Verify that the stdout and stderr contents of output buffer contains the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
73 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
74 * @param expectedString String that buffer should contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
75 * @throws RuntimeException If the string was not found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
76 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
77 public void shouldContain(String expectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
78 if (!stdout.contains(expectedString) && !stderr.contains(expectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
79 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
80 throw new RuntimeException("'" + expectedString + "' missing from stdout/stderr \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
81 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
82 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
83
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
84 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
85 * Verify that the stdout contents of output buffer contains the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
86 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
87 * @param expectedString String that buffer should contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
88 * @throws RuntimeException If the string was not found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
89 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
90 public void stdoutShouldContain(String expectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
91 if (!stdout.contains(expectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
92 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
93 throw new RuntimeException("'" + expectedString + "' missing from stdout \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
94 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
95 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
96
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
97 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
98 * Verify that the stderr contents of output buffer contains the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
99 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
100 * @param expectedString String that buffer should contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
101 * @throws RuntimeException If the string was not found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
102 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
103 public void stderrShouldContain(String expectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
104 if (!stderr.contains(expectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
105 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
106 throw new RuntimeException("'" + expectedString + "' missing from stderr \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
107 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
108 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
109
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
110 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
111 * Verify that the stdout and stderr contents of output buffer does not contain the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
112 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
113 * @param expectedString String that the buffer should not contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
114 * @throws RuntimeException If the string was found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
115 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
116 public void shouldNotContain(String notExpectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
117 if (stdout.contains(notExpectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
118 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
119 throw new RuntimeException("'" + notExpectedString + "' found in stdout \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
120 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
121 if (stderr.contains(notExpectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
122 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
123 throw new RuntimeException("'" + notExpectedString + "' found in stderr \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
124 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
125 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
126
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
127 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
128 * Verify that the stdout contents of output buffer does not contain the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
129 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
130 * @param expectedString String that the buffer should not contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
131 * @throws RuntimeException If the string was found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
132 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
133 public void stdoutShouldNotContain(String notExpectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
134 if (stdout.contains(notExpectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
135 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
136 throw new RuntimeException("'" + notExpectedString + "' found in stdout \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
137 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
138 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
139
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
140 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
141 * Verify that the stderr contents of output buffer does not contain the string
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
142 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
143 * @param expectedString String that the buffer should not contain
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
144 * @throws RuntimeException If the string was found
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
145 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
146 public void stderrShouldNotContain(String notExpectedString) {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
147 if (stderr.contains(notExpectedString)) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
148 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
149 throw new RuntimeException("'" + notExpectedString + "' found in stderr \n");
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
150 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
151 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
152
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
153 /**
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
154 * Verify that the stdout and stderr contents of output buffer matches
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
155 * the pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
156 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
157 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
158 * @throws RuntimeException If the pattern was not found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
159 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
160 public void shouldMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
161 Matcher stdoutMatcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
162 Matcher stderrMatcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
163 if (!stdoutMatcher.find() && !stderrMatcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
164 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
165 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
166 + "' missing from stdout/stderr \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
167 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
168 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
169
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
170 /**
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
171 * Verify that the stdout contents of output buffer matches the
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
172 * pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
173 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
174 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
175 * @throws RuntimeException If the pattern was not found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
176 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
177 public void stdoutShouldMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
178 Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
179 if (!matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
180 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
181 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
182 + "' missing from stdout \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
183 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
184 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
185
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
186 /**
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
187 * Verify that the stderr contents of output buffer matches the
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
188 * pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
189 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
190 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
191 * @throws RuntimeException If the pattern was not found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
192 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
193 public void stderrShouldMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
194 Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
195 if (!matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
196 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
197 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
198 + "' missing from stderr \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
199 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
200 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
201
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
202 /**
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
203 * Verify that the stdout and stderr contents of output buffer does not
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
204 * match the pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
205 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
206 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
207 * @throws RuntimeException If the pattern was found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
208 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
209 public void shouldNotMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
210 Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
211 if (matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
212 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
213 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
214 + "' found in stdout \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
215 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
216 matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
217 if (matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
218 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
219 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
220 + "' found in stderr \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
221 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
222 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
223
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
224 /**
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
225 * Verify that the stdout contents of output buffer does not match the
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
226 * pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
227 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
228 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
229 * @throws RuntimeException If the pattern was found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
230 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
231 public void stdoutShouldNotMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
232 Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stdout);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
233 if (matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
234 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
235 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
236 + "' found in stdout \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
237 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
238 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
239
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
240 /**
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
241 * Verify that the stderr contents of output buffer does not match the
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
242 * pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
243 *
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
244 * @param pattern
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
245 * @throws RuntimeException If the pattern was found
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
246 */
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
247 public void stderrShouldNotMatch(String pattern) {
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
248 Matcher matcher = Pattern.compile(pattern, Pattern.MULTILINE).matcher(stderr);
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
249 if (matcher.find()) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
250 reportDiagnosticSummary();
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
251 throw new RuntimeException("'" + pattern
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
252 + "' found in stderr \n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
253 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
254 }
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
255
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
256 /**
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
257 * Verify the exit value of the process
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
258 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
259 * @param expectedExitValue Expected exit value from process
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
260 * @throws RuntimeException If the exit value from the process did not match the expected value
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
261 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
262 public void shouldHaveExitValue(int expectedExitValue) {
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
263 if (getExitValue() != expectedExitValue) {
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
264 reportDiagnosticSummary();
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
265 throw new RuntimeException("Expected to get exit value of ["
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
266 + expectedExitValue + "]\n");
9056
3b890cd4da64 8009125: Add NMT tests for Virtual Memory operations
ctornqvi
parents: 7960
diff changeset
267 }
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
268 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
269
11985
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
270
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
271 /**
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
272 * Report summary that will help to diagnose the problem
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
273 * Currently includes:
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
274 * - standard input produced by the process under test
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
275 * - standard output
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
276 * - exit code
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
277 * Note: the command line is printed by the ProcessTools
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
278 */
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
279 private void reportDiagnosticSummary() {
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
280 String msg =
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
281 " stdout: [" + stdout + "];\n" +
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
282 " stderr: [" + stderr + "]\n" +
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
283 " exitValue = " + getExitValue() + "\n";
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
284
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
285 System.err.println(msg);
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
286 }
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
287
9bd314787fad 8020614: OutputAnalyzer.shouldHaveExitValue() should print stdout/stderr output
mseledtsov
parents: 9056
diff changeset
288
7960
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
289 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
290 * Get the contents of the output buffer (stdout and stderr)
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
291 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
292 * @return Content of the output buffer
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
293 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
294 public String getOutput() {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
295 return stdout + stderr;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
296 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
297
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
298 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
299 * Get the contents of the stdout buffer
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
300 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
301 * @return Content of the stdout buffer
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
302 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
303 public String getStdout() {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
304 return stdout;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
305 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
306
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
307 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
308 * Get the contents of the stderr buffer
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
309 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
310 * @return Content of the stderr buffer
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
311 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
312 public String getStderr() {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
313 return stderr;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
314 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
315
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
316 /**
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
317 * Get the process exit value
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
318 *
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
319 * @return Process exit value
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
320 */
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
321 public int getExitValue() {
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
322 return exitValue;
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
323 }
9be6cde7919d 8006413: Add utility classes for writing better multiprocess tests in jtreg
ctornqvi
parents:
diff changeset
324 }