Home - Summaries: (main) : (py3.11) : Everything - Nightly builds - Benchmarks - RPython - Builders - About

pypy.module._posixsubprocess.test.apptest_subprocess:test_restore_signals

def test_restore_signals():
        import posix as os
        # Copied from lib-python/3/subprocess._execute_child
        # when calling subprocess.check_output(['cat', '/proc/self/status'],
        #       restore_signals=True, universal_newlines=True)
        def check_output(restore_signals):
            c2pread, c2pwrite = os.pipe()
            errpipe_read, errpipe_write = os.pipe()
            try:
                low_fds_to_close = []
                while errpipe_write < 3:
                    low_fds_to_close.append(errpipe_write)
                    errpipe_write = os.dup(errpipe_write)
                for low_fd in low_fds_to_close:
                    os.close(low_fd)
                args = [b'cat', b'/proc/self/status']
                executable_list=[b'/usr/bin/cat']
                close_fds = True
                fds_to_keep = (errpipe_write,)
                cwd = None
                env_list = None
                p2cread = p2cwrite = -1
                errread = errwrite = umask = -1
                call_setsid = False
                pgid_to_set = -1
                preexec_fn = None
                gid = gids = uid = None
                pid = _posixsubprocess.fork_exec(args, executable_list, close_fds,
                            fds_to_keep, cwd, env_list, p2cread, p2cwrite, c2pread,
                            c2pwrite, errread, errwrite, errpipe_read,
                            errpipe_write, restore_signals, call_setsid, pgid_to_set,
                            gid, gids, uid, umask,
                            preexec_fn, subprocess._USE_VFORK)
                os.close(errpipe_write)
                # Wait for exec to fail or succeed; possibly raising an
                # exception (limited in size)
                errpipe_data = bytearray()
                while True:
                    part = os.read(errpipe_read, 50000)
                    errpipe_data += part
                    if not part or len(errpipe_data) > 50000:
                        break
                if errpipe_data:
                    newpid, sts = os.waitpid(pid, 0)
                    raise RuntimeError('running commande returned %s' % sts)
                out = os.read(c2pread, 50000)
            finally:
                os.close(c2pwrite)
                os.close(c2pread)
                os.close(errpipe_read)
            return out
    
        sig_ign_mask1 = ''
        sig_ign_mask2 = ''
>       for line in check_output(True).splitlines():

../build/pypy/module/_posixsubprocess/test/apptest_subprocess.py:287: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

restore_signals = True

    def check_output(restore_signals):
        c2pread, c2pwrite = os.pipe()
        errpipe_read, errpipe_write = os.pipe()
        try:
            low_fds_to_close = []
            while errpipe_write < 3:
                low_fds_to_close.append(errpipe_write)
                errpipe_write = os.dup(errpipe_write)
            for low_fd in low_fds_to_close:
                os.close(low_fd)
            args = [b'cat', b'/proc/self/status']
            executable_list=[b'/usr/bin/cat']
            close_fds = True
            fds_to_keep = (errpipe_write,)
            cwd = None
            env_list = None
            p2cread = p2cwrite = -1
            errread = errwrite = umask = -1
            call_setsid = False
            pgid_to_set = -1
            preexec_fn = None
            gid = gids = uid = None
            pid = _posixsubprocess.fork_exec(args, executable_list, close_fds,
                        fds_to_keep, cwd, env_list, p2cread, p2cwrite, c2pread,
                        c2pwrite, errread, errwrite, errpipe_read,
                        errpipe_write, restore_signals, call_setsid, pgid_to_set,
                        gid, gids, uid, umask,
                        preexec_fn, subprocess._USE_VFORK)
            os.close(errpipe_write)
            # Wait for exec to fail or succeed; possibly raising an
            # exception (limited in size)
            errpipe_data = bytearray()
            while True:
                part = os.read(errpipe_read, 50000)
                errpipe_data += part
                if not part or len(errpipe_data) > 50000:
                    break
            if errpipe_data:
                newpid, sts = os.waitpid(pid, 0)
>               raise RuntimeError('running commande returned %s' % sts)
E               RuntimeError: running commande returned 65280

../build/pypy/module/_posixsubprocess/test/apptest_subprocess.py:277: RuntimeError
builder: pypy-c-jit-macos-x86-64 build #1265
test: pypy/module/_posixsubprocess/test/apptest_subprocess:test_restore_signals