diff options
| author | Baptiste Mispelon <bmispelon@gmail.com> | 2019-11-30 22:10:16 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2019-12-09 13:47:12 +0100 |
| commit | 9e565386d3fafc8cc15d07095e50d574e5f53802 (patch) | |
| tree | 230529a4e6c62c4e90e7e05f8561e4f2481fcf80 /tests/test_runner | |
| parent | f46452638885d89cacfca6831e0b9982c87b6527 (diff) | |
Fixed #27430 -- Added -b/--buffer option to DiscoverRunner.
Diffstat (limited to 'tests/test_runner')
| -rw-r--r-- | tests/test_runner/test_discover_runner.py | 30 |
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) |
