package org.urbancode.terraform.tasks.util; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.ArrayList; import java.util.List; import org.junit.Assert; import org.junit.Test; import com.urbancode.terraform.tasks.common.util.IOUtil; public class IOUtilTest { @Test public void utilTest() { IOUtil io = IOUtil.getInstance(); OutputStream nout = IOUtil.NULL; // OutputStream std = System.out; List<String> command = new ArrayList<String>(); command.add("echo"); command.add("test"); ProcessBuilder builder = new ProcessBuilder(command); try { builder.redirectErrorStream(true); Process proc = builder.start(); InputStream pin = proc.getInputStream(); System.out.println("InputStream: " + pin); System.out.println("OutputStream: " + nout); // print to stdout // IOUtil.copyStream(pin, System.out); // discard in new thread IOUtil.getInstance().discardStream(pin); int exitCode = proc.waitFor(); System.out.println("EXIT CODE: " + exitCode); } catch (IOException e) { System.out.println("io fail"); } catch (InterruptedException e) { System.out.println("interrupt"); } } }