Prevented some test commands from needlessly running system checks.

This is a performance optimization and also fixes test errors with the
upcoming merge of contrib tests into tests/. The tests failed on MySQL
because the models with GeometryField were being checked but the
non-GIS MySQL backend didn't know how to handle them.
This commit is contained in:
Tim Graham 2015-02-10 12:02:47 -05:00
parent 19188826b4
commit 197dd4b8f1
3 changed files with 12 additions and 1 deletions

View File

@ -334,6 +334,7 @@ class CreatesuperuserManagementCommandTestCase(TestCase):
""" """
sentinel = object() sentinel = object()
command = createsuperuser.Command() command = createsuperuser.Command()
command.check = lambda: []
command.execute( command.execute(
stdin=sentinel, stdin=sentinel,
stdout=six.StringIO(), stdout=six.StringIO(),
@ -346,6 +347,7 @@ class CreatesuperuserManagementCommandTestCase(TestCase):
self.assertIs(command.stdin, sentinel) self.assertIs(command.stdin, sentinel)
command = createsuperuser.Command() command = createsuperuser.Command()
command.check = lambda: []
command.execute( command.execute(
stdout=six.StringIO(), stdout=six.StringIO(),
stderr=six.StringIO(), stderr=six.StringIO(),

View File

@ -1577,6 +1577,7 @@ class CommandTypes(AdminScriptTestCase):
being executed (#21255). being executed (#21255).
""" """
command = BaseCommand(stderr=StringIO()) command = BaseCommand(stderr=StringIO())
command.check = lambda: []
command.handle = lambda *args, **kwargs: args command.handle = lambda *args, **kwargs: args
with mock.patch('django.core.management.base.connections') as mock_connections: with mock.patch('django.core.management.base.connections') as mock_connections:
command.run_from_argv(['', '']) command.run_from_argv(['', ''])

View File

@ -5,7 +5,7 @@ from django.core import management
from django.core.management import BaseCommand, CommandError, find_commands from django.core.management import BaseCommand, CommandError, find_commands
from django.core.management.utils import find_command, popen_wrapper from django.core.management.utils import find_command, popen_wrapper
from django.db import connection from django.db import connection
from django.test import SimpleTestCase, ignore_warnings from django.test import SimpleTestCase, ignore_warnings, override_settings
from django.test.utils import captured_stderr, captured_stdout, extend_sys_path from django.test.utils import captured_stderr, captured_stdout, extend_sys_path
from django.utils import translation from django.utils import translation
from django.utils._os import upath from django.utils._os import upath
@ -13,6 +13,14 @@ from django.utils.deprecation import RemovedInDjango20Warning
from django.utils.six import StringIO from django.utils.six import StringIO
# A minimal set of apps to avoid system checks running on all apps.
@override_settings(
INSTALLED_APPS=[
'django.contrib.auth',
'django.contrib.contenttypes',
'user_commands',
],
)
class CommandTests(SimpleTestCase): class CommandTests(SimpleTestCase):
def test_command(self): def test_command(self):
out = StringIO() out = StringIO()