Terry J. Reedy <[email protected]> added the comment:
After splitting the two reads onto two lines, the indefinite hang happens in
the second one, stdin.readall.
def test_ctrl_z(self):
with open('CONIN$', 'rb', buffering=0) as stdin:
source = '\xC4\x1A\r\n'.encode('utf-16-le')
expected = '\xC4'.encode('utf-8')
print('here')
write_input(stdin, source)
a = stdin.read(1)
## b = stdin.readall()
self.assertEqual(expected[0:1], a)
## self.assertEqual(expected[1:], b)
The resulting failure of the first assertion results in:
FAIL: test_ctrl_z (__main__.WindowsConsoleIOTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "F:\dev\3x\lib\test\test_winconsoleio.py", line 197, in test_ctrl_z
self.assertEqual(expected[0:1], a)
AssertionError: b'\xc3' != b'\r'
This minimal change would stop the hang crash, which is the first priority.
However, changing the repeat from 10 to 1, to look like
prec->Event.KeyEvent.wRepeatCount = 1;
fixes all failures, including the hang. I will submit for CI testing.
But two questions.
Is this line needed with a repeat of 1, or should it be removed?
Also, this file has a section added by arg clinic. Does it need to be
regenerated for this change? If so, how?
----------
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue41729>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com