| 
									
										
										
										
											1996-12-13 20:32:26 +00:00
										 |  |  | #! /usr/bin/env python | 
					
						
							|  |  |  | """Test dlmodule.c
 | 
					
						
							| 
									
										
										
										
											1996-12-16 20:25:44 +00:00
										 |  |  |    Roger E. Masse  revised strategy by Barry Warsaw | 
					
						
							| 
									
										
										
										
											1996-12-13 20:32:26 +00:00
										 |  |  | """
 | 
					
						
							| 
									
										
										
										
											2010-02-06 23:02:29 +00:00
										 |  |  | import unittest | 
					
						
							| 
									
										
										
										
											2009-03-26 21:10:30 +00:00
										 |  |  | from test.test_support import verbose, import_module | 
					
						
							| 
									
										
										
										
											2008-05-10 21:20:19 +00:00
										 |  |  | dl = import_module('dl', deprecated=True) | 
					
						
							| 
									
										
										
										
											1996-12-13 20:32:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											1996-12-16 20:25:44 +00:00
										 |  |  | sharedlibs = [ | 
					
						
							| 
									
										
										
										
											1997-04-09 20:57:52 +00:00
										 |  |  |     ('/usr/lib/libc.so', 'getpid'), | 
					
						
							| 
									
										
										
										
											1999-02-23 17:58:48 +00:00
										 |  |  |     ('/lib/libc.so.6', 'getpid'), | 
					
						
							| 
									
										
										
										
											2001-02-27 20:54:23 +00:00
										 |  |  |     ('/usr/bin/cygwin1.dll', 'getpid'), | 
					
						
							| 
									
										
										
										
											2006-04-09 15:07:40 +00:00
										 |  |  |     ('/usr/lib/libc.dylib', 'getpid'), | 
					
						
							| 
									
										
										
										
											1996-12-16 20:25:44 +00:00
										 |  |  |     ] | 
					
						
							| 
									
										
										
										
											1996-12-13 20:32:26 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-04-01 12:46:02 +00:00
										 |  |  | 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 | 
					
						
							| 
									
										
										
										
											1996-12-16 20:25:44 +00:00
										 |  |  |     else: | 
					
						
							| 
									
										
										
										
											2009-03-26 21:10:30 +00:00
										 |  |  |         raise unittest.SkipTest, 'Could not open any shared libraries' | 
					
						
							| 
									
										
										
										
											2008-04-01 12:46:02 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | if __name__ == '__main__': | 
					
						
							|  |  |  |     test_main() |