示例#1
0
 def test_func_fromaddr(self):
     from _ffi import CDLL, types, FuncPtr
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     pow = FuncPtr.fromaddr(pow_addr, 'pow', [types.double, types.double],
                            types.double)
     assert pow(2, 3) == 8
示例#2
0
 def test_func_fromaddr(self):
     from _ffi import CDLL, types, FuncPtr
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     pow = FuncPtr.fromaddr(pow_addr, 'pow', [types.double, types.double],
                            types.double)
     assert pow(2, 3) == 8
示例#3
0
 def test_getaddressindll(self):
     import sys
     from _ffi import CDLL
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     fff = sys.maxint*2-1
     if sys.platform == 'win32':
         fff = sys.maxint*2+1
     assert pow_addr == self.pow_addr & fff
示例#4
0
 def test_getaddressindll(self):
     import sys
     from _ffi import CDLL
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     fff = sys.maxint * 2 - 1
     if sys.platform == 'win32':
         fff = sys.maxint * 2 + 1
     assert pow_addr == self.pow_addr & fff
示例#5
0
 def test_func_fromaddr2(self):
     if not self.iswin32:
         skip("windows specific")
     from _ffi import CDLL, types, FuncPtr
     from _rawffi import FUNCFLAG_STDCALL
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     wrong_pow = FuncPtr.fromaddr(pow_addr, 'pow', 
             [types.double, types.double], types.double, FUNCFLAG_STDCALL)
     try:
         wrong_pow(2, 3) == 8
     except ValueError, e:
         assert e.message.startswith('Procedure called with')
示例#6
0
 def test_func_fromaddr2(self):
     if not self.iswin32:
         skip("windows specific")
     from _ffi import CDLL, types, FuncPtr
     from _rawffi import FUNCFLAG_STDCALL
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     wrong_pow = FuncPtr.fromaddr(pow_addr, 'pow',
                                  [types.double, types.double],
                                  types.double, FUNCFLAG_STDCALL)
     try:
         wrong_pow(2, 3) == 8
     except ValueError, e:
         assert e.message.startswith('Procedure called with')
示例#7
0
文件: test__ffi.py 项目: ieure/pypy
 def test_getaddressindll(self):
     import sys
     from _ffi import CDLL, types
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     assert pow_addr == self.pow_addr & (sys.maxint*2-1)
示例#8
0
 def test_getaddressindll(self):
     import sys
     from _ffi import CDLL, types
     libm = CDLL(self.libm_name)
     pow_addr = libm.getaddressindll('pow')
     assert pow_addr == self.pow_addr & (sys.maxint * 2 - 1)