|
|
|
@ -1,5 +1,5 @@ |
|
|
|
import unittest |
|
|
|
import os, os.path |
|
|
|
import os.path |
|
|
|
import sys |
|
|
|
import test.support |
|
|
|
from ctypes import * |
|
|
|
@ -112,28 +112,5 @@ class LibPathFindTest(unittest.TestCase): |
|
|
|
self.assertEqual(find_library(libname), 'lib%s.so' % libname) |
|
|
|
|
|
|
|
|
|
|
|
# On platforms where the default shared library suffix is '.so', |
|
|
|
# at least some libraries can be loaded as attributes of the cdll |
|
|
|
# object, since ctypes now tries loading the lib again |
|
|
|
# with '.so' appended of the first try fails. |
|
|
|
# |
|
|
|
# Won't work for libc, unfortunately. OTOH, it isn't |
|
|
|
# needed for libc since this is already mapped into the current |
|
|
|
# process (?) |
|
|
|
# |
|
|
|
# On MAC OSX, it won't work either, because dlopen() needs a full path, |
|
|
|
# and the default suffix is either none or '.dylib'. |
|
|
|
@unittest.skip('test disabled') |
|
|
|
@unittest.skipUnless(os.name=="posix" and sys.platform != "darwin", |
|
|
|
'test not suitable for this platform') |
|
|
|
class LoadLibs(unittest.TestCase): |
|
|
|
def test_libm(self): |
|
|
|
import math |
|
|
|
libm = cdll.libm |
|
|
|
sqrt = libm.sqrt |
|
|
|
sqrt.argtypes = (c_double,) |
|
|
|
sqrt.restype = c_double |
|
|
|
self.assertEqual(sqrt(2), math.sqrt(2)) |
|
|
|
|
|
|
|
if __name__ == "__main__": |
|
|
|
unittest.main() |