summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
Diffstat (limited to 'Lib')
-rw-r--r--Lib/pty.py1
-rw-r--r--Lib/test/test_pty.py6
2 files changed, 7 insertions, 0 deletions
diff --git a/Lib/pty.py b/Lib/pty.py
index 3ccf619..3b79202 100644
--- a/Lib/pty.py
+++ b/Lib/pty.py
@@ -178,3 +178,4 @@ def spawn(argv, master_read=_read, stdin_read=_read):
tty.tcsetattr(STDIN_FILENO, tty.TCSAFLUSH, mode)
os.close(master_fd)
+ return os.waitpid(pid, 0)[1]
diff --git a/Lib/test/test_pty.py b/Lib/test/test_pty.py
index ef95268..db37039 100644
--- a/Lib/test/test_pty.py
+++ b/Lib/test/test_pty.py
@@ -196,6 +196,12 @@ class PtyTest(unittest.TestCase):
# pty.fork() passed.
+ def test_spawn_returns_status(self):
+ status = pty.spawn([sys.executable, '-c', 'import sys; sys.exit(0)'])
+ self.assertEqual(status, 0)
+ status = pty.spawn([sys.executable, '-c', 'import sys; sys.exit(5)'])
+ self.assertEqual(status, 5 << 8)
+
class SmallPtyTests(unittest.TestCase):
"""These tests don't spawn children or hang."""