mirror of https://github.com/django/django.git
Refs #31546 -- Removed support for boolean values in Command.requires_system_checks.
Per deprecation timeline.
This commit is contained in:
parent
2e10abeb7f
commit
1cb495074f
|
@ -5,7 +5,6 @@ be executed through ``django-admin`` or ``manage.py``).
|
||||||
import argparse
|
import argparse
|
||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import warnings
|
|
||||||
from argparse import ArgumentParser, HelpFormatter
|
from argparse import ArgumentParser, HelpFormatter
|
||||||
from io import TextIOBase
|
from io import TextIOBase
|
||||||
|
|
||||||
|
@ -14,7 +13,6 @@ from django.core import checks
|
||||||
from django.core.exceptions import ImproperlyConfigured
|
from django.core.exceptions import ImproperlyConfigured
|
||||||
from django.core.management.color import color_style, no_style
|
from django.core.management.color import color_style, no_style
|
||||||
from django.db import DEFAULT_DB_ALIAS, connections
|
from django.db import DEFAULT_DB_ALIAS, connections
|
||||||
from django.utils.deprecation import RemovedInDjango41Warning
|
|
||||||
|
|
||||||
ALL_CHECKS = '__all__'
|
ALL_CHECKS = '__all__'
|
||||||
|
|
||||||
|
@ -252,14 +250,6 @@ class BaseCommand:
|
||||||
else:
|
else:
|
||||||
self.style = color_style(force_color)
|
self.style = color_style(force_color)
|
||||||
self.stderr.style_func = self.style.ERROR
|
self.stderr.style_func = self.style.ERROR
|
||||||
if self.requires_system_checks in [False, True]:
|
|
||||||
warnings.warn(
|
|
||||||
"Using a boolean value for requires_system_checks is "
|
|
||||||
"deprecated. Use '__all__' instead of True, and [] (an empty "
|
|
||||||
"list) instead of False.",
|
|
||||||
RemovedInDjango41Warning,
|
|
||||||
)
|
|
||||||
self.requires_system_checks = ALL_CHECKS if self.requires_system_checks else []
|
|
||||||
if (
|
if (
|
||||||
not isinstance(self.requires_system_checks, (list, tuple)) and
|
not isinstance(self.requires_system_checks, (list, tuple)) and
|
||||||
self.requires_system_checks != ALL_CHECKS
|
self.requires_system_checks != ALL_CHECKS
|
||||||
|
|
|
@ -249,3 +249,6 @@ to remove usage of these features.
|
||||||
* Support for assigning objects which don't support creating deep copies with
|
* Support for assigning objects which don't support creating deep copies with
|
||||||
``copy.deepcopy()`` to class attributes in ``TestCase.setUpTestData()`` is
|
``copy.deepcopy()`` to class attributes in ``TestCase.setUpTestData()`` is
|
||||||
removed.
|
removed.
|
||||||
|
|
||||||
|
* Support for using a boolean value in
|
||||||
|
:attr:`.BaseCommand.requires_system_checks` is removed.
|
||||||
|
|
|
@ -14,9 +14,8 @@ from django.core.management.utils import (
|
||||||
)
|
)
|
||||||
from django.db import connection
|
from django.db import connection
|
||||||
from django.test import SimpleTestCase, override_settings
|
from django.test import SimpleTestCase, override_settings
|
||||||
from django.test.utils import captured_stderr, extend_sys_path, ignore_warnings
|
from django.test.utils import captured_stderr, extend_sys_path
|
||||||
from django.utils import translation
|
from django.utils import translation
|
||||||
from django.utils.deprecation import RemovedInDjango41Warning
|
|
||||||
|
|
||||||
from .management.commands import dance
|
from .management.commands import dance
|
||||||
|
|
||||||
|
@ -422,45 +421,3 @@ class UtilsTests(SimpleTestCase):
|
||||||
def test_normalize_path_patterns_truncates_wildcard_base(self):
|
def test_normalize_path_patterns_truncates_wildcard_base(self):
|
||||||
expected = [os.path.normcase(p) for p in ['foo/bar', 'bar/*/']]
|
expected = [os.path.normcase(p) for p in ['foo/bar', 'bar/*/']]
|
||||||
self.assertEqual(normalize_path_patterns(['foo/bar/*', 'bar/*/']), expected)
|
self.assertEqual(normalize_path_patterns(['foo/bar/*', 'bar/*/']), expected)
|
||||||
|
|
||||||
|
|
||||||
class DeprecationTests(SimpleTestCase):
|
|
||||||
def test_requires_system_checks_warning(self):
|
|
||||||
class Command(BaseCommand):
|
|
||||||
pass
|
|
||||||
|
|
||||||
msg = (
|
|
||||||
"Using a boolean value for requires_system_checks is deprecated. "
|
|
||||||
"Use '__all__' instead of True, and [] (an empty list) instead of "
|
|
||||||
"False."
|
|
||||||
)
|
|
||||||
for value in [False, True]:
|
|
||||||
Command.requires_system_checks = value
|
|
||||||
with self.assertRaisesMessage(RemovedInDjango41Warning, msg):
|
|
||||||
Command()
|
|
||||||
|
|
||||||
@ignore_warnings(category=RemovedInDjango41Warning)
|
|
||||||
def test_requires_system_checks_true(self):
|
|
||||||
class Command(BaseCommand):
|
|
||||||
requires_system_checks = True
|
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
|
||||||
pass
|
|
||||||
|
|
||||||
command = Command()
|
|
||||||
with mock.patch('django.core.management.base.BaseCommand.check') as mocked_check:
|
|
||||||
management.call_command(command, skip_checks=False)
|
|
||||||
mocked_check.assert_called_once_with()
|
|
||||||
|
|
||||||
@ignore_warnings(category=RemovedInDjango41Warning)
|
|
||||||
def test_requires_system_checks_false(self):
|
|
||||||
class Command(BaseCommand):
|
|
||||||
requires_system_checks = False
|
|
||||||
|
|
||||||
def handle(self, *args, **options):
|
|
||||||
pass
|
|
||||||
|
|
||||||
command = Command()
|
|
||||||
with mock.patch('django.core.management.base.BaseCommand.check') as mocked_check:
|
|
||||||
management.call_command(command)
|
|
||||||
self.assertIs(mocked_check.called, False)
|
|
||||||
|
|
Loading…
Reference in New Issue