#! /usr/bin/env python
"""Test dlmodule.c
Roger E. Masse revised strategy by Barry Warsaw
"""
import unittest
from test.test_support import verbose, import_module
dl = import_module('dl', deprecated=True)
sharedlibs = [
('/usr/lib/libc.so', 'getpid'),
('/lib/libc.so.6', 'getpid'),
('/usr/bin/cygwin1.dll', 'getpid'),
('/usr/lib/libc.dylib', 'getpid'),
]
def test_main():
for s, func in sharedlibs:
try:
if verbose:
print 'trying to open:', s,
l = dl.open(s)
except dl.error, err:
if verbose:
print 'failed', repr(str(err))
pass
else:
if verbose:
print 'succeeded...',
l.call(func)
l.close()
if verbose:
print 'worked!'
break
else:
raise unittest.SkipTest, 'Could not open any shared libraries'
if __name__ == '__main__':
test_main()