self.assertEqual(mode[5], self.mode[5])
def test_setraw(self):
- mode = tty.setraw(self.fd)
+ mode0 = termios.tcgetattr(self.fd)
+ mode1 = tty.setraw(self.fd)
+ self.assertEqual(mode1, mode0)
mode2 = termios.tcgetattr(self.fd)
self.check_raw(mode2)
mode3 = tty.setraw(self.fd, termios.TCSANOW)
tty.setraw(fd=self.fd, when=termios.TCSANOW)
def test_setcbreak(self):
- mode = tty.setcbreak(self.fd)
+ mode0 = termios.tcgetattr(self.fd)
+ mode1 = tty.setcbreak(self.fd)
+ self.assertEqual(mode1, mode0)
mode2 = termios.tcgetattr(self.fd)
self.check_cbreak(mode2)
mode3 = tty.setcbreak(self.fd, termios.TCSANOW)
# Case B: MIN>0, TIME=0
# A pending read shall block until MIN (here 1) bytes are received,
# or a signal is received.
+ mode[CC] = list(mode[CC])
mode[CC][VMIN] = 1
mode[CC][VTIME] = 0
# Case B: MIN>0, TIME=0
# A pending read shall block until MIN (here 1) bytes are received,
# or a signal is received.
+ mode[CC] = list(mode[CC])
mode[CC][VMIN] = 1
mode[CC][VTIME] = 0
--- /dev/null
+Fix :func:`tty.setraw` and :func:`tty.setcbreak`: previously they returned
+partially modified list of the original tty attributes.
+:func:`tty.cfmakeraw` and :func:`tty.cfmakecbreak` now make a copy of the
+list of special characters before modifying it.