From f4f2e6c261b62698eb31e2fc78a2777e54b72594 Mon Sep 17 00:00:00 2001 From: yuyafei Date: Tue, 5 Jul 2016 14:57:55 +0800 Subject: [PATCH] Add __ne__ built-in function In Python 3 __ne__ by default delegates to __eq__ and inverts the result, but in Python 2 they urge you to define __ne__ when you define __eq__ for it to work properly [1].There are no implied relationships among the comparison operators. The truth of x==y does not imply that x!=y is false. Accordingly, when defining __eq__(), one should also define __ne__() so that the operators will behave as expected. [1]https://docs.python.org/2/reference/datamodel.html#object.__ne__ Change-Id: I5485022f010cdcb88c0d4ebe5c44a39a1bf242b0 --- tests/unit/utils.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/unit/utils.py b/tests/unit/utils.py index d04583ff..c05146ec 100644 --- a/tests/unit/utils.py +++ b/tests/unit/utils.py @@ -494,6 +494,9 @@ class CaptureOutput(object): def __eq__(self, other): return self.out == other + def __ne__(self, other): + return not self.__eq__(other) + def __getattr__(self, name): return getattr(self.out, name)