test/java/lang/ProcessBuilder/Basic.java

Print this page

        

*** 296,310 **** System.exit(5); if (! new String(buf,0,n).equals(expected)) System.exit(5); System.err.print("standard error"); System.out.print("standard output"); ! } else if (action.equals("testInheritIO")) { List<String> childArgs = new ArrayList<String>(javaChildArgs); childArgs.add("testIO"); ProcessBuilder pb = new ProcessBuilder(childArgs); pb.inheritIO(); ProcessResults r = run(pb); if (! r.out().equals("")) System.exit(7); if (! r.err().equals("")) System.exit(8); --- 296,317 ---- System.exit(5); if (! new String(buf,0,n).equals(expected)) System.exit(5); System.err.print("standard error"); System.out.print("standard output"); ! } else if (action.equals("testInheritIO") ! || action.equals("testRedirectInherit")) { List<String> childArgs = new ArrayList<String>(javaChildArgs); childArgs.add("testIO"); ProcessBuilder pb = new ProcessBuilder(childArgs); + if (action.equals("testInheritIO")) { pb.inheritIO(); + } else { + pb.redirectInput(Redirect.INHERIT) + .redirectOutput(Redirect.INHERIT) + .redirectError(Redirect.INHERIT); + } ProcessResults r = run(pb); if (! r.out().equals("")) System.exit(7); if (! r.err().equals("")) System.exit(8);
*** 1017,1030 **** //---------------------------------------------------------------- // Testing INHERIT is harder. // Note that this requires __FOUR__ nested JVMs involved in one test, // if you count the harness JVM. //---------------------------------------------------------------- ! { redirectIO(pb, PIPE, PIPE, PIPE); List<String> command = pb.command(); ! command.set(command.size() - 1, "testInheritIO"); Process p = pb.start(); new PrintStream(p.getOutputStream()).print("standard input"); p.getOutputStream().close(); ProcessResults r = run(p); equal(r.exitValue(), 0); --- 1024,1037 ---- //---------------------------------------------------------------- // Testing INHERIT is harder. // Note that this requires __FOUR__ nested JVMs involved in one test, // if you count the harness JVM. //---------------------------------------------------------------- ! for (String testName : new String[] { "testInheritIO", "testRedirectInherit" } ) { redirectIO(pb, PIPE, PIPE, PIPE); List<String> command = pb.command(); ! command.set(command.size() - 1, testName); Process p = pb.start(); new PrintStream(p.getOutputStream()).print("standard input"); p.getOutputStream().close(); ProcessResults r = run(p); equal(r.exitValue(), 0);