use of com.carrotsearch.ant.tasks.junit4.events.AppendStdErrEvent in project randomizedtesting by randomizedtesting.
the class TestJsonByteArrayRoundtrip method check.
private void check(byte[] bytes) throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Serializer s = new Serializer(baos);
s.serialize(new AppendStdErrEvent(bytes, 0, bytes.length));
s.flush();
s.close();
Deserializer deserializer = new Deserializer(new ByteArrayInputStream(baos.toByteArray()), Thread.currentThread().getContextClassLoader());
IEvent deserialize = deserializer.deserialize();
Assert.assertTrue(deserialize instanceof AppendStdErrEvent);
AppendStdErrEvent e = ((AppendStdErrEvent) deserialize);
baos.reset();
e.copyTo(baos);
Assert.assertTrue("Exp: " + Arrays.toString(bytes) + "\n" + "was: " + Arrays.toString(baos.toByteArray()), Arrays.equals(bytes, baos.toByteArray()));
}
use of com.carrotsearch.ant.tasks.junit4.events.AppendStdErrEvent in project randomizedtesting by randomizedtesting.
the class SlaveMain method redirectStreams.
/**
* Redirect standard streams so that the output can be passed to listeners.
*/
@SuppressForbidden("legitimate sysstreams.")
private static void redirectStreams(final Serializer serializer, final boolean flushFrequently) {
final PrintStream origSysOut = System.out;
final PrintStream origSysErr = System.err;
// Set warnings stream to System.err.
warnings = System.err;
AccessController.doPrivileged(new PrivilegedAction<Void>() {
@SuppressForbidden("legitimate PrintStream with default charset.")
@Override
public Void run() {
System.setOut(new PrintStream(new BufferedOutputStream(new ChunkedStream() {
@Override
public void write(byte[] b, int off, int len) throws IOException {
if (multiplexStdStreams) {
origSysOut.write(b, off, len);
}
serializer.serialize(new AppendStdOutEvent(b, off, len));
if (flushFrequently)
serializer.flush();
}
})));
System.setErr(new PrintStream(new BufferedOutputStream(new ChunkedStream() {
@Override
public void write(byte[] b, int off, int len) throws IOException {
if (multiplexStdStreams) {
origSysErr.write(b, off, len);
}
serializer.serialize(new AppendStdErrEvent(b, off, len));
if (flushFrequently)
serializer.flush();
}
})));
return null;
}
});
}
Aggregations