diff options
| author | Oliver Beattie <oliver@obeattie.com> | 2013-04-19 10:44:47 +0100 |
|---|---|---|
| committer | Claude Paroz <claude@2xlibre.net> | 2013-06-21 16:57:47 +0200 |
| commit | 552a90b44456f24de228a6c7cd916c040787cf22 (patch) | |
| tree | bba505c4ed2e8cb37966d79d4b014bd3893e8ca4 /django | |
| parent | 7314007c5bf57b9184c0bd6a8246582dd2cb8179 (diff) | |
Fixed #20290 -- Allow override_settings to be nested
Refactored override_settings to store the underlying settings._wrapped
value seen at runtime, not instantiation time.
Diffstat (limited to 'django')
| -rw-r--r-- | django/test/utils.py | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/django/test/utils.py b/django/test/utils.py index be586c75a6..fc4558875e 100644 --- a/django/test/utils.py +++ b/django/test/utils.py @@ -207,7 +207,6 @@ class override_settings(object): """ def __init__(self, **kwargs): self.options = kwargs - self.wrapped = settings._wrapped def __enter__(self): self.enable() @@ -246,6 +245,7 @@ class override_settings(object): override = UserSettingsHolder(settings._wrapped) for key, new_value in self.options.items(): setattr(override, key, new_value) + self.wrapped = settings._wrapped settings._wrapped = override for key, new_value in self.options.items(): setting_changed.send(sender=settings._wrapped.__class__, @@ -253,6 +253,7 @@ class override_settings(object): def disable(self): settings._wrapped = self.wrapped + del self.wrapped for key in self.options: new_value = getattr(settings, key, None) setting_changed.send(sender=settings._wrapped.__class__, |
