diff options
author | Roger E. Masse <rmasse@newcnri.cnri.reston.va.us> | 1996-12-13 20:32:26 +0000 |
---|---|---|
committer | Roger E. Masse <rmasse@newcnri.cnri.reston.va.us> | 1996-12-13 20:32:26 +0000 |
commit | 7338d36565e3631f018dd8fcd25bb7896638892f (patch) | |
tree | 81066719f2965c9ec5b747580f41d0bcbc67ea73 /Lib/test/test_dl.py | |
parent | 3bfbad0a48fc007871cb8abe940486018917d574 (diff) | |
download | cpython-7338d36565e3631f018dd8fcd25bb7896638892f.tar.gz |
Test for the dl module. This only works for SunOS and Solaris.
I've attempted to make a test that silently exits if either
module dl is not present, we're not on a Sun OS, or a standard
shared library ('/usr/lib/libresolv.so') is not found... Otherwise,
It does a simple test of dlmodule on that library. I *think*
this would be ok to add to testall.py but I'll wait till I hear
some feedback on the liberalness of this approach.
Diffstat (limited to 'Lib/test/test_dl.py')
-rwxr-xr-x | Lib/test/test_dl.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Lib/test/test_dl.py b/Lib/test/test_dl.py new file mode 100755 index 0000000000..b8cb0c0436 --- /dev/null +++ b/Lib/test/test_dl.py @@ -0,0 +1,32 @@ +#! /usr/bin/env python +"""Test dlmodule.c + Roger E. Masse +""" +filename = '/usr/lib/libresolv.so' +try: + import dl +except ImportError: + # No test if no library + raise SystemExit + +try: + import os + n = os.popen('/bin/uname','r') + if n.readlines()[0][:-1] != 'SunOS': + raise SystemExit + l = dl.open('/usr/lib/libresolv.so') +except: + # No test if not SunOS (or Solaris) + raise SystemExit + +# Try to open a shared library that should be available +# on SunOS and Solaris in a default place +try: + open(filename,'r') +except IOError: + # No test if I can't even open the test file with builtin open + raise SystemExit + +l = dl.open(filename) +a = l.call('gethostent') +l.close() |