• Tim Peters's avatar
    Try to repair what may be the last new test failure on the · 319c47fc
    Tim Peters yazdı
    "x86 OpenBSD trunk" buildbot due to changing Python so that
    Python-exposed addresses are always non-negative.
    
    test_int_pointer_arg():  This line failed now whenever the
    box happened to assign an address to `ci` "with the sign
    bit set":
    
        self.failUnlessEqual(addressof(ci), func(byref(ci)))
    
    The problem is that the ctypes addressof() inherited "all
    addresses are non-negative now" from changes to
    PyLong_FromVoidPtr(), but byref() did not inherit that
    change and can still return a negative int.
    
    I don't know whether, or what, the ctypes implementation wants
    to do about that (possibly nothing), but in the meantime
    the test fails frequently.
    
    So, introduced a Python positive_address() function in
    the test module, that takes a purported machine address and,
    if negative, converts it to a non-negative value "with the
    same bits".  This should leave the test passing under all
    versions of Python.
    
    Belated thanks to Armin Rigo for teaching me the sick trick ;-)
    for determining the # of bits in a machine pointer via abuse
    of the struct module.
    319c47fc
Adı
Son kayıt (commit)
Son güncelleme
Demo Loading commit data...
Doc Loading commit data...
Grammar Loading commit data...
Include Loading commit data...
Lib Loading commit data...
Mac Loading commit data...
Misc Loading commit data...
Modules Loading commit data...
Objects Loading commit data...
PC Loading commit data...
PCbuild Loading commit data...
Parser Loading commit data...
Python Loading commit data...
RISCOS Loading commit data...
Tools Loading commit data...
.hgtags Loading commit data...
LICENSE Loading commit data...
Makefile.pre.in Loading commit data...
README Loading commit data...
configure Loading commit data...
configure.in Loading commit data...
install-sh Loading commit data...
pyconfig.h.in Loading commit data...
setup.py Loading commit data...