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