1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
| #! /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()
|
|