summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Chainz <adam@adamj.eu>2016-08-05 14:18:12 +0100
committerTim Graham <timograham@gmail.com>2016-08-16 17:17:34 -0400
commit19e20a2a3f763388bba9263d56db34012e90cf5b (patch)
tree379f35ef5f47bbc5bef0483ca81de5b555edb507
parent68b580323bc1d29282c25f7f729032997674d47c (diff)
Fixed crash comparing CheckMessage objects to non-CheckMessage objects.
-rw-r--r--django/core/checks/messages.py7
-rw-r--r--tests/check_framework/tests.py4
2 files changed, 9 insertions, 2 deletions
diff --git a/django/core/checks/messages.py b/django/core/checks/messages.py
index 23e9d5a794..345ebec1e1 100644
--- a/django/core/checks/messages.py
+++ b/django/core/checks/messages.py
@@ -23,8 +23,11 @@ class CheckMessage(object):
self.id = id
def __eq__(self, other):
- return all(getattr(self, attr) == getattr(other, attr)
- for attr in ['level', 'msg', 'hint', 'obj', 'id'])
+ return (
+ isinstance(other, self.__class__) and
+ all(getattr(self, attr) == getattr(other, attr)
+ for attr in ['level', 'msg', 'hint', 'obj', 'id'])
+ )
def __ne__(self, other):
return not (self == other)
diff --git a/tests/check_framework/tests.py b/tests/check_framework/tests.py
index 9f4294793d..4748f28eeb 100644
--- a/tests/check_framework/tests.py
+++ b/tests/check_framework/tests.py
@@ -124,6 +124,10 @@ class MessageTests(SimpleTestCase):
e2 = Error("Error2", obj=SimpleModel)
self.assertNotEqual(e1, e2)
+ def test_not_equal_to_non_check(self):
+ e = Error("Error", obj=DummyObj())
+ self.assertNotEqual(e, 'a string')
+
def simple_system_check(**kwargs):
simple_system_check.kwargs = kwargs