Fixed #35308 -- Handled OSError when launching code formatters.

Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
This commit is contained in:
Jacob Walls 2024-11-29 07:04:48 -05:00 committed by GitHub
parent 978aae4334
commit 58cc91275a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 110 additions and 10 deletions

View file

@ -0,0 +1,23 @@
from io import StringIO
from unittest import mock
class AssertFormatterFailureCaughtContext:
def __init__(self, test, shutil_which_result="nonexistent"):
self.stdout = StringIO()
self.stderr = StringIO()
self.test = test
self.shutil_which_result = shutil_which_result
def __enter__(self):
self.mocker = mock.patch(
"django.core.management.utils.shutil.which",
return_value=self.shutil_which_result,
)
self.mocker.start()
return self
def __exit__(self, exc_type, exc_value, traceback):
self.mocker.stop()
self.test.assertIn("Formatters failed to launch", self.stderr.getvalue())