#! /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() |