[pypy-commit] pypy inline-dict-ops: a test and a fix
fijal
noreply at buildbot.pypy.org
Sat Jul 23 19:50:37 CEST 2011
Author: Maciej Fijalkowski <fijall at gmail.com>
Branch: inline-dict-ops
Changeset: r45906:464e597e2cfd
Date: 2011-07-23 19:50 +0200
http://bitbucket.org/pypy/pypy/changeset/464e597e2cfd/
Log: a test and a fix
diff --git a/pypy/rpython/lltypesystem/ll2ctypes.py b/pypy/rpython/lltypesystem/ll2ctypes.py
--- a/pypy/rpython/lltypesystem/ll2ctypes.py
+++ b/pypy/rpython/lltypesystem/ll2ctypes.py
@@ -1237,6 +1237,8 @@
self.intval = intmask(void_p.value)
def __eq__(self, other):
+ if not other:
+ return self.intval == 0
if isinstance(other, _llgcopaque):
return self.intval == other.intval
storage = object()
diff --git a/pypy/rpython/lltypesystem/test/test_ll2ctypes.py b/pypy/rpython/lltypesystem/test/test_ll2ctypes.py
--- a/pypy/rpython/lltypesystem/test/test_ll2ctypes.py
+++ b/pypy/rpython/lltypesystem/test/test_ll2ctypes.py
@@ -8,6 +8,7 @@
from pypy.rpython.lltypesystem.ll2ctypes import uninitialized2ctypes
from pypy.rpython.lltypesystem.ll2ctypes import ALLOCATED, force_cast
from pypy.rpython.lltypesystem.ll2ctypes import cast_adr_to_int, get_ctypes_type
+from pypy.rpython.lltypesystem.ll2ctypes import _llgcopaque
from pypy.rpython.annlowlevel import llhelper
from pypy.rlib import rposix
from pypy.translator.tool.cbuild import ExternalCompilationInfo
@@ -1373,3 +1374,7 @@
f = rffi.llexternal('f', [rffi.INT, rffi.INT], rffi.INT,
compilation_info=eci)
assert f(3, 4) == 7
+
+ def test_llgcopaque_eq(self):
+ assert _llgcopaque(1) != None
+ assert _llgcopaque(0) == None
More information about the pypy-commit
mailing list