Fix `DeprecationWarnings` found when running py.test in Python 2.7 with the -3 flag.

Running through some of my tests with the `-3` flag in python2.7 I encountered some errors within py.test itself.  This fixes those errors so we can use py.test in order to identify problems with Python 3.
This commit is contained in:
Roy Williams 2016-09-21 17:44:25 -07:00
parent 7660a19d0a
commit 940ed7e943
4 changed files with 14 additions and 1 deletions

View File

@ -12,6 +12,7 @@ if sys.version_info[0] >= 3:
else:
from ._py2traceback import format_exception_only
class Code(object):
""" wrapper around Python code objects """
def __init__(self, rawcode):
@ -28,6 +29,9 @@ class Code(object):
def __eq__(self, other):
return self.raw == other.raw
def __hash__(self):
return hash(self.raw)
def __ne__(self, other):
return not self == other

View File

@ -52,6 +52,9 @@ class Source(object):
return str(self) == other
return False
def __hash__(self):
return hash(self.lines)
def __getitem__(self, key):
if isinstance(key, int):
return self.lines[key]

View File

@ -105,7 +105,7 @@ except NameError:
def assertrepr_compare(config, op, left, right):
"""Return specialised explanations for some operators/operands"""
width = 80 - 15 - len(op) - 2 # 15 chars indentation, 1 space around op
left_repr = py.io.saferepr(left, maxsize=int(width/2))
left_repr = py.io.saferepr(left, maxsize=int(width//2))
right_repr = py.io.saferepr(right, maxsize=width-len(left_repr))
summary = u('%s %s %s') % (ecu(left_repr), op, ecu(right_repr))

View File

@ -1356,6 +1356,9 @@ class approx(object):
return False
return all(a == x for a, x in zip(actual, self.expected))
def __hash__(self):
return hash(self.expected)
def __ne__(self, actual):
return not (actual == self)
@ -1435,6 +1438,9 @@ class ApproxNonIterable(object):
# Return true if the two numbers are within the tolerance.
return abs(self.expected - actual) <= self.tolerance
def __hash__(self):
return hash((self.expected, self.tolerance))
def __ne__(self, actual):
return not (actual == self)