Author: Ronny Pfannschmidt <[email protected]>
Branch: codecheck-clean
Changeset: r233:8733583f714d
Date: 2013-02-24 23:20 +0100
http://bitbucket.org/pypy/pyrepl/changeset/8733583f714d/
Log: merge from default
diff --git a/MANIFEST.in b/MANIFEST.in
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,1 +1,3 @@
include TODO CREDITS CHANGES pythoni encopyright.py LICENSE
+include MANIFEST.in
+recursive-include testing *.py
diff --git a/pyrepl/readline.py b/pyrepl/readline.py
--- a/pyrepl/readline.py
+++ b/pyrepl/readline.py
@@ -182,9 +182,9 @@
startup_hook = None
config = ReadlineConfig()
- def __init__(self):
- self.f_in = os.dup(0)
- self.f_out = os.dup(1)
+ def __init__(self, f_in=None, f_out=None):
+ self.f_in = f_in if f_in is not None else os.dup(0)
+ self.f_out = f_out if f_out is not None else os.dup(1)
def get_reader(self):
if self.reader is None:
diff --git a/pyrepl/unix_console.py b/pyrepl/unix_console.py
--- a/pyrepl/unix_console.py
+++ b/pyrepl/unix_console.py
@@ -393,6 +393,7 @@
if hasattr(self, 'old_sigwinch'):
signal.signal(signal.SIGWINCH, self.old_sigwinch)
+ del self.old_sigwinch
def __sigwinch(self, signum, frame):
self.height, self.width = self.getheightwidth()
diff --git a/testing/test_bugs.py b/testing/test_bugs.py
--- a/testing/test_bugs.py
+++ b/testing/test_bugs.py
@@ -44,3 +44,29 @@
('accept', [''])
]
read_spec(spec, HistoricalTestReader)
+
+
+def test_signal_failure(monkeypatch):
+ import os
+ import pty
+ import signal
+ from pyrepl.unix_console import UnixConsole
+
+ def failing_signal(a, b):
+ raise ValueError
+
+ def really_failing_signal(a, b):
+ raise AssertionError
+
+ mfd, sfd = pty.openpty()
+ try:
+ c = UnixConsole(sfd, sfd)
+ c.prepare()
+ c.restore()
+ monkeypatch.setattr(signal, 'signal', failing_signal)
+ c.prepare()
+ monkeypatch.setattr(signal, 'signal', really_failing_signal)
+ c.restore()
+ finally:
+ os.close(mfd)
+ os.close(sfd)
diff --git a/testing/test_readline.py b/testing/test_readline.py
--- a/testing/test_readline.py
+++ b/testing/test_readline.py
@@ -4,11 +4,12 @@
def test_raw_input():
- readline_wrapper = _ReadlineWrapper()
master, slave = pty.openpty()
- readline_wrapper.f_in = slave
+ readline_wrapper = _ReadlineWrapper(slave, slave)
os.write(master, b'input\n')
- result = readline_wrapper.raw_input('prompt:')
+
+ result = readline_wrapper.get_reader().readline()
+ #result = readline_wrapper.raw_input('prompt:')
assert result == 'input'
# A bytes string on python2, a unicode string on python3.
assert isinstance(result, str)
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit