pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_unbuffered
self = <pypy.interpreter.test.test_app_main.TestInteraction instance at 0x000000012a284460>
def test_unbuffered(self):
# In Python3, -u affects the "binary layer" of sys.stdout.
line = 'import os,sys;sys.stdout.buffer.write(str(789).encode());os.read(0,1)'
child = self.spawn(['-u', '-c', line])
> child.expect('789') # expect to see it before the timeout hits
interpreter/test/test_app_main.py:613:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../virt_test/site-packages/pexpect/spawnbase.py:355: in expect
timeout, searchwindowsize, async_)
../virt_test/site-packages/pexpect/spawnbase.py:383: in expect_list
return exp.expect_loop(timeout)
../virt_test/site-packages/pexpect/expect.py:179: in expect_loop
return self.eof(e)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pexpect.expect.Expecter object at 0x0000000152b78838>
err = EOF('End Of File (EOF). Empty string style platform.',)
def eof(self, err=None):
spawn = self.spawn
spawn.before = spawn._before.getvalue()
spawn._buffer = spawn.buffer_type()
spawn._before = spawn.buffer_type()
spawn.after = EOF
index = self.searcher.eof_index
if index >= 0:
spawn.match = EOF
spawn.match_index = index
return index
else:
spawn.match = None
spawn.match_index = None
msg = str(spawn)
msg += '\nsearcher: %s' % self.searcher
if err is not None:
msg = str(err) + '\n' + msg
exc = EOF(msg)
exc.__cause__ = None # in Python 3.x we can use "raise exc from None"
> raise exc
E EOF: End Of File (EOF). Empty string style platform.
E <pexpect.pty_spawn.spawn object at 0x0000000131107a60>
E command: /opt/homebrew/bin/python3.12
E args: ['/opt/homebrew/bin/python3.12', '/Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/app_main.py', '-u', '-c', 'import os,sys;sys.stdout.buffer.write(str(789).encode());os.read(0,1)']
E buffer (last 100 chars): ''
E before (last 100 chars): ''
E after: <class 'pexpect.exceptions.EOF'>
E match: None
E match_index: None
E exitstatus: None
E flag_eof: True
E pid: 18165
E child_fd: 197
E closed: False
E timeout: 10
E delimiter: <class 'pexpect.exceptions.EOF'>
E logfile: <_pytest.capture.EncodedFile object at 0x00000001301d3f30>
E logfile_read: None
E logfile_send: None
E maxread: 2000
E ignorecase: False
E searchwindowsize: None
E delaybeforesend: 0.05
E delayafterclose: 0.1
E delayafterterminate: 0.1
E searcher: searcher_re:
E 0: re.compile('789')
../virt_test/site-packages/pexpect/expect.py:122: EOF
---------- Captured stdout call ----------
SPAWN: /opt/homebrew/bin/python3.12 /Users/matti/build-worker-arm64/own-macos-arm64/build/pypy/interpreter/app_main.py -u -c import os,sys;sys.stdout.buffer.write(str(789).encode());os.read(0,1) {'env': None, 'timeout': 10}
builder: own-macos-arm64 build #1352+
test: pypy/interpreter/test/test_app_main.py::TestInteraction::()::test_unbuffered