]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Test for the dl module. This only works for SunOS and Solaris.
authorRoger E. Masse <rmasse@newcnri.cnri.reston.va.us>
Fri, 13 Dec 1996 20:32:26 +0000 (20:32 +0000)
committerRoger E. Masse <rmasse@newcnri.cnri.reston.va.us>
Fri, 13 Dec 1996 20:32:26 +0000 (20:32 +0000)
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.

Lib/test/test_dl.py [new file with mode: 0755]

diff --git a/Lib/test/test_dl.py b/Lib/test/test_dl.py
new file mode 100755 (executable)
index 0000000..b8cb0c0
--- /dev/null
@@ -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()