From b7f2aba56608fc65843abf50d1c1cc32af533a72 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 16 Oct 2011 14:30:43 +0000 Subject: [PATCH] Fixed a test that relied on the database to reject invalid data; MySQL doesn't. Refs #17055. git-svn-id: http://code.djangoproject.com/svn/django/trunk@16996 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- tests/modeltests/fixtures/tests.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tests/modeltests/fixtures/tests.py b/tests/modeltests/fixtures/tests.py index 54ce4708e6..16c5bfe0d7 100644 --- a/tests/modeltests/fixtures/tests.py +++ b/tests/modeltests/fixtures/tests.py @@ -4,6 +4,7 @@ import StringIO from django.contrib.sites.models import Site from django.core import management +from django.db import connection from django.test import TestCase, TransactionTestCase, skipUnlessDBFeature from .models import Article, Book, Spy, Tag, Visa @@ -260,6 +261,11 @@ class FixtureLoadingTests(TestCase): outputs an error message which contains the pk of the object that triggered the error. """ + # MySQL needs a little prodding to reject invalid data. + # This won't affect other tests because the database connection + # is closed at the end of each test. + if connection.vendor == 'mysql': + connection.cursor().execute("SET sql_mode = 'TRADITIONAL'") new_io = StringIO.StringIO() management.call_command('loaddata', 'invalid.json', verbosity=0, stderr=new_io, commit=False) output = new_io.getvalue().strip().split('\n')