summaryrefslogtreecommitdiff
path: root/tests/test_runner
diff options
context:
space:
mode:
authorBaptiste Mispelon <bmispelon@gmail.com>2019-11-30 22:10:16 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-12-09 13:47:12 +0100
commit9e565386d3fafc8cc15d07095e50d574e5f53802 (patch)
tree230529a4e6c62c4e90e7e05f8561e4f2481fcf80 /tests/test_runner
parentf46452638885d89cacfca6831e0b9982c87b6527 (diff)
Fixed #27430 -- Added -b/--buffer option to DiscoverRunner.
Diffstat (limited to 'tests/test_runner')
-rw-r--r--tests/test_runner/test_discover_runner.py30
1 files changed, 29 insertions, 1 deletions
diff --git a/tests/test_runner/test_discover_runner.py b/tests/test_runner/test_discover_runner.py
index 2334fe6b7f..186dc52a44 100644
--- a/tests/test_runner/test_discover_runner.py
+++ b/tests/test_runner/test_discover_runner.py
@@ -6,7 +6,7 @@ from unittest import TestSuite, TextTestRunner, defaultTestLoader, skipUnless
from django.db import connections
from django.test import SimpleTestCase
from django.test.runner import DiscoverRunner
-from django.test.utils import captured_stdout
+from django.test.utils import captured_stderr, captured_stdout
from django.utils.version import PY37
@@ -269,6 +269,34 @@ class DiscoverRunnerTests(SimpleTestCase):
with self.assertRaisesMessage(ValueError, msg):
DiscoverRunner(pdb=True, parallel=2)
+ def test_buffer_with_parallel(self):
+ msg = (
+ 'You cannot use -b/--buffer with parallel tests; pass '
+ '--parallel=1 to use it.'
+ )
+ with self.assertRaisesMessage(ValueError, msg):
+ DiscoverRunner(buffer=True, parallel=2)
+
+ def test_buffer_mode_test_pass(self):
+ runner = DiscoverRunner(buffer=True, verbose=0)
+ with captured_stdout() as stdout, captured_stderr() as stderr:
+ suite = runner.build_suite([
+ 'test_runner_apps.buffer.tests_buffer.WriteToStdoutStderrTestCase.test_pass',
+ ])
+ runner.run_suite(suite)
+ self.assertNotIn('Write to stderr.', stderr.getvalue())
+ self.assertNotIn('Write to stdout.', stdout.getvalue())
+
+ def test_buffer_mode_test_fail(self):
+ runner = DiscoverRunner(buffer=True, verbose=0)
+ with captured_stdout() as stdout, captured_stderr() as stderr:
+ suite = runner.build_suite([
+ 'test_runner_apps.buffer.tests_buffer.WriteToStdoutStderrTestCase.test_fail',
+ ])
+ runner.run_suite(suite)
+ self.assertIn('Write to stderr.', stderr.getvalue())
+ self.assertIn('Write to stdout.', stdout.getvalue())
+
class DiscoverRunnerGetDatabasesTests(SimpleTestCase):
runner = DiscoverRunner(verbosity=2)