| Index: tests/standalone/io/process_detached_test.dart
 | 
| diff --git a/tests/standalone/io/process_detached_test.dart b/tests/standalone/io/process_detached_test.dart
 | 
| index 483b9ca24dfd9dbe6a1dedbe8c5a332ae794ae3e..194e756776297a7e3ab89b009f00831ae08c1ff1 100644
 | 
| --- a/tests/standalone/io/process_detached_test.dart
 | 
| +++ b/tests/standalone/io/process_detached_test.dart
 | 
| @@ -16,9 +16,9 @@ void test() {
 | 
|    asyncStart();
 | 
|    var script =
 | 
|        Platform.script.resolve('process_detached_script.dart').toFilePath();
 | 
| -  var future = Process.start(Platform.executable, [script], detach: true);
 | 
| +  var future = Process.start(
 | 
| +      Platform.executable, [script], mode: ProcessStartMode.DETACHED);
 | 
|    future.then((process) {
 | 
| -    print(process.pid);
 | 
|      Expect.isNotNull(process.pid);
 | 
|      Expect.isTrue(process.pid is int);
 | 
|      Expect.isNull(process.exitCode);
 | 
| @@ -31,10 +31,41 @@ void test() {
 | 
|    });
 | 
|  }
 | 
|  
 | 
| +void testWithStdio() {
 | 
| +  asyncStart();
 | 
| +  var script =
 | 
| +      Platform.script.resolve('process_detached_script.dart').toFilePath();
 | 
| +  var future = Process.start(
 | 
| +      Platform.executable,
 | 
| +      [script, 'echo'],
 | 
| +      mode: ProcessStartMode.DETACHED_WITH_STDIO);
 | 
| +  future.then((process) {
 | 
| +    Expect.isNotNull(process.pid);
 | 
| +    Expect.isTrue(process.pid is int);
 | 
| +    Expect.isNull(process.exitCode);
 | 
| +    var message = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
 | 
| +    process.stdin.add(message);
 | 
| +    process.stdin.close();
 | 
| +    var f1 = process.stdout.fold([], (p, e) => p..addAll(e));
 | 
| +    var f2 = process.stderr.fold([], (p, e) => p..addAll(e));
 | 
| +    Future.wait([f1, f2])
 | 
| +        .then((values) {
 | 
| +          Expect.listEquals(values[0], message);
 | 
| +          Expect.listEquals(values[1], message);
 | 
| +        })
 | 
| +        .whenComplete(() {
 | 
| +          Expect.isTrue(process.kill());
 | 
| +        });
 | 
| +  }).whenComplete(() {
 | 
| +    asyncEnd();
 | 
| +  });
 | 
| +}
 | 
| +
 | 
|  void testFailure() {
 | 
|    asyncStart();
 | 
|    Directory.systemTemp.createTemp('dart_detached_process').then((temp) {
 | 
| -    var future = Process.start(temp.path, ['a', 'b'], detach: true);
 | 
| +    var future = Process.start(
 | 
| +        temp.path, ['a', 'b'], mode: ProcessStartMode.DETACHED);
 | 
|      future.then((process) {
 | 
|        Expect.fail('Starting process from invalid executable succeeded');
 | 
|      }, onError: (e) {
 | 
| @@ -48,5 +79,6 @@ void testFailure() {
 | 
|  
 | 
|  main() {
 | 
|    test();
 | 
| +  testWithStdio();
 | 
|    testFailure();
 | 
|  }
 | 
| 
 |