test_dl.py 982 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. """Test dlmodule.c
  2. Roger E. Masse revised strategy by Barry Warsaw
  3. """
  4. import unittest
  5. from test.test_support import verbose, import_module
  6. dl = import_module('dl', deprecated=True)
  7. import sys
  8. sharedlibs = [
  9. ('/usr/'+sys.lib+'/libc.so', 'getpid'),
  10. ('/'+sys.lib+'/libc.so.6', 'getpid'),
  11. ('/usr/bin/cygwin1.dll', 'getpid'),
  12. ('/usr/lib/libc.dylib', 'getpid'),
  13. ]
  14. def test_main():
  15. for s, func in sharedlibs:
  16. try:
  17. if verbose:
  18. print 'trying to open:', s,
  19. l = dl.open(s)
  20. except dl.error, err:
  21. if verbose:
  22. print 'failed', repr(str(err))
  23. pass
  24. else:
  25. if verbose:
  26. print 'succeeded...',
  27. l.call(func)
  28. l.close()
  29. if verbose:
  30. print 'worked!'
  31. break
  32. else:
  33. raise unittest.SkipTest, 'Could not open any shared libraries'
  34. if __name__ == '__main__':
  35. test_main()