summaryrefslogtreecommitdiff
path: root/tests/invalid_models_tests
diff options
context:
space:
mode:
authorMichael Manfre <mmanfre@gmail.com>2015-07-02 22:09:51 -0400
committerTim Graham <timograham@gmail.com>2015-07-03 09:00:08 -0400
commitf9c3587b51487179cf3fb92b509790f4610d6012 (patch)
tree2a8410e93238605e0aecb326fae03ce44611954b /tests/invalid_models_tests
parent335368410210ce0e27e0068b3a2a6cdf4baa956b (diff)
Fixed #25055 -- Made m2m long name testing friendlier for 3rd party databases.
Diffstat (limited to 'tests/invalid_models_tests')
-rw-r--r--tests/invalid_models_tests/test_models.py26
1 files changed, 15 insertions, 11 deletions
diff --git a/tests/invalid_models_tests/test_models.py b/tests/invalid_models_tests/test_models.py
index a2d9f36557..fe27814f83 100644
--- a/tests/invalid_models_tests/test_models.py
+++ b/tests/invalid_models_tests/test_models.py
@@ -328,17 +328,21 @@ class FieldNamesTests(IsolatedModelsTestCase):
# First error because of M2M field set on the model with long name.
m2m_long_name = "verylongmodelnamezzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz_id"
- expected = [
- Error(
- 'Autogenerated column name too long for M2M field "%s". '
- 'Maximum length is "%s" for database "%s".'
- % (m2m_long_name, self.max_column_name_length, self.column_limit_db_alias),
- hint=("Use 'through' to create a separate model for "
- "M2M and then set column_name using 'db_column'."),
- obj=ModelWithLongField,
- id='models.E019',
- )
- ]
+ if self.max_column_name_length > len(m2m_long_name):
+ # Some databases support names longer than the test name.
+ expected = []
+ else:
+ expected = [
+ Error(
+ 'Autogenerated column name too long for M2M field "%s". '
+ 'Maximum length is "%s" for database "%s".'
+ % (m2m_long_name, self.max_column_name_length, self.column_limit_db_alias),
+ hint=("Use 'through' to create a separate model for "
+ "M2M and then set column_name using 'db_column'."),
+ obj=ModelWithLongField,
+ id='models.E019',
+ )
+ ]
# Second error because the FK specified in the `through` model
# `m2msimple` has auto-genererated name longer than allowed.