1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #27600 -- Suppressed the REPL during shell's reading from stdin.

Thanks Adam Chainz for review and guidance.
This commit is contained in:
jpic
2016-12-13 01:36:08 +01:00
committed by Tim Graham
parent 24fa728a47
commit bf6392bb75
3 changed files with 44 additions and 3 deletions

View File

@@ -1,7 +1,10 @@
import sys
import unittest
from django import __version__
from django.core.management import call_command
from django.test import SimpleTestCase
from django.test.utils import patch_logger
from django.test import SimpleTestCase, mock
from django.test.utils import captured_stdin, captured_stdout, patch_logger
class ShellCommandTestCase(SimpleTestCase):
@@ -17,3 +20,12 @@ class ShellCommandTestCase(SimpleTestCase):
)
self.assertEqual(len(logger), 1)
self.assertEqual(logger[0], __version__)
@unittest.skipIf(sys.platform == 'win32', "Windows select() doesn't support file descriptors.")
@mock.patch('django.core.management.commands.shell.select')
def test_stdin_read(self, select):
with captured_stdin() as stdin, captured_stdout() as stdout:
stdin.write('print(100)\n')
stdin.seek(0)
call_command('shell')
self.assertEqual(stdout.getvalue().strip(), '100')