diff options
| author | Michael Manfre <mmanfre@gmail.com> | 2015-07-02 22:09:51 -0400 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2015-07-03 09:00:08 -0400 |
| commit | f9c3587b51487179cf3fb92b509790f4610d6012 (patch) | |
| tree | 2a8410e93238605e0aecb326fae03ce44611954b /tests/invalid_models_tests | |
| parent | 335368410210ce0e27e0068b3a2a6cdf4baa956b (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.py | 26 |
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. |
