                      return test_func(*args, **kwargs)
          return inner
  
      def enable(self):
          override = OverrideSettingsHolder(settings._wrapped)
          for key, new_value in self.options.items():
              setattr(override, key, new_value)
          settings._wrapped = override
  
      def disable(self):
 
</s> remove class OverrideSettingsHolder(UserSettingsHolder):
    """
    A custom setting holder that sends a signal upon change.
    """
    def __setattr__(self, name, value):
        UserSettingsHolder.__setattr__(self, name, value)
        setting_changed.send(sender=self.__class__, setting=name, value=value)


 </s> add  </s> remove     The new setting value.
 </s> add     The value of the setting after the change. For settings that initially
    don't exist, in the "teardown" phase, ``value`` is ``None``. </s> remove     Same as sender
 </s> add     The name of the setting.
        override = UserSettingsHolder(settings._wrapped)
                      return test_func(*args, **kwargs)
          return inner
  
      def enable(self):
        override = UserSettingsHolder(settings._wrapped)
          for key, new_value in self.options.items():
              setattr(override, key, new_value)
          settings._wrapped = override
  
      def disable(self):
keep keep keep keep replace keep keep keep keep keep
 Fixed #17895 -- Made override_settings send the setting_changed signal both when a setting is overridden and when it's restored.


git-svn-id: http://code.djangoproject.com/svn/django/trunk@17708 bcc190cf-cafb-0310-a4f2-bffc1f526a37 
django/test/utils.py