Author: SmileyChris Date: 2012-02-21 16:52:19 -0800 (Tue, 21 Feb 2012) New Revision: 17572
Modified: django/branches/releases/1.3.X/django/conf/__init__.py django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py Log: [1.3.X] Don't let ALLOWED_INCLUDE_ROOTS be accidentally set to a string rather than a tuple. Backport of r17571 from trunk. Modified: django/branches/releases/1.3.X/django/conf/__init__.py =================================================================== --- django/branches/releases/1.3.X/django/conf/__init__.py 2012-02-22 00:42:19 UTC (rev 17571) +++ django/branches/releases/1.3.X/django/conf/__init__.py 2012-02-22 00:52:19 UTC (rev 17572) @@ -70,6 +70,9 @@ if name in ("MEDIA_URL", "STATIC_URL") and value and not value.endswith('/'): warnings.warn('If set, %s must end with a slash' % name, PendingDeprecationWarning) + elif name == "ALLOWED_INCLUDE_ROOTS" and isinstance(value, basestring): + raise ValueError("The ALLOWED_INCLUDE_ROOTS setting must be set " + "to a tuple, not a string.") object.__setattr__(self, name, value) Modified: django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py =================================================================== --- django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py 2012-02-22 00:42:19 UTC (rev 17571) +++ django/branches/releases/1.3.X/tests/regressiontests/settings_tests/tests.py 2012-02-22 00:52:19 UTC (rev 17572) @@ -18,6 +18,13 @@ def test_settings_delete_wrapped(self): self.assertRaises(TypeError, delattr, settings, '_wrapped') + def test_allowed_include_roots_string(self): + """ + ALLOWED_INCLUDE_ROOTS is not allowed to be incorrectly set to a string + rather than a tuple. + """ + self.assertRaises(ValueError, setattr, settings, + 'ALLOWED_INCLUDE_ROOTS', '/var/www/ssi/') class TrailingSlashURLTests(unittest.TestCase): settings_module = settings Modified: django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py =================================================================== --- django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py 2012-02-22 00:42:19 UTC (rev 17571) +++ django/branches/releases/1.3.X/tests/regressiontests/templates/tests.py 2012-02-22 00:52:19 UTC (rev 17572) @@ -412,7 +412,9 @@ #Set ALLOWED_INCLUDE_ROOTS so that ssi works. old_allowed_include_roots = settings.ALLOWED_INCLUDE_ROOTS - settings.ALLOWED_INCLUDE_ROOTS = os.path.dirname(os.path.abspath(__file__)) + settings.ALLOWED_INCLUDE_ROOTS = ( + os.path.dirname(os.path.abspath(__file__)), + ) # Warm the URL reversing cache. This ensures we don't pay the cost # warming the cache during one of the tests. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To post to this group, send email to django-updates@googlegroups.com. To unsubscribe from this group, send email to django-updates+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-updates?hl=en.