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