blob: 1f4278997dda72cdcefe569b45bcb4b563b8d561 [file] [log] [blame]
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
//
// Process test program to test closed stdin from child process.
import "dart:io";
import "process_test_util.dart";
main() {
// Running dart without arguments makes it close right away.
var future = Process.start(new Options().executable, []);
future.then((process) {
// Ignore error on stdin.
process.stdin.onError = (e) => null;
// Drain stdout and stderr.
process.stdout.onData = () => process.stdout.read();
process.stderr.onData = () => process.stderr.read();
// Write to the stdin after the process is terminated to test
// writing to a broken pipe.
process.onExit = (code) {
Expect.isFalse(process.stdin.write([0]));
};
});
}