'Issue16140: Don\'t double close pipes on preexec error.'

@unittest.skipIf((not os.path.exists('/dev/zero')), '/dev/zero    required.')
def test_preexec_errpipe_does_not_double_close_pipes(self):

    def raise_it():
        raise RuntimeError('force    the    _execute_child()    errpipe_data    path.')
    with self.assertRaises(RuntimeError):
        self._TestExecuteChildPopen(self, [sys.executable, '-c', 'pass'], stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=subprocess.PIPE, preexec_fn=raise_it)
