summaryrefslogtreecommitdiff
path: root/testsuite/nsswitch/nss_winbind_syms.exp
diff options
context:
space:
mode:
Diffstat (limited to 'testsuite/nsswitch/nss_winbind_syms.exp')
-rw-r--r--testsuite/nsswitch/nss_winbind_syms.exp51
1 files changed, 51 insertions, 0 deletions
diff --git a/testsuite/nsswitch/nss_winbind_syms.exp b/testsuite/nsswitch/nss_winbind_syms.exp
new file mode 100644
index 0000000000..a0cf4cf7fc
--- /dev/null
+++ b/testsuite/nsswitch/nss_winbind_syms.exp
@@ -0,0 +1,51 @@
+#
+# @(#) Test nss functions are exported from the libnss_winbind.so library
+# @(#) Test there are no external dependencies in the libnss_winbind.so library
+#
+# We expect the following symbols to be exported:
+#
+# _nss_winbind_getgrent_r
+# _nss_winbind_endgrent
+# _nss_winbind_endpwent
+# _nss_winbind_getgrgid_r
+# _nss_winbind_getgrnam_r
+# _nss_winbind_getpwent_r
+# _nss_winbind_getpwnam_r
+# _nss_winbind_getpwuid_r
+# _nss_winbind_setgrent
+# _nss_winbind_setpwent
+#
+# This test also has the nice side-effect of showing any unresolved symbols
+# in the library.
+#
+
+load_lib util-defs.exp
+
+# Compile nss_winbind_syms.c
+
+set output [target_compile "$srcdir/$subdir/nss_winbind_syms.c" \
+ "$srcdir/$subdir/nss_winbind_syms" executable \
+ {"libs=-ldl" "additional_flags=-g"}]
+
+if {$output != ""} {
+ perror "compile nss_winbind_syms.c"
+ puts $output
+ return
+}
+
+# Run load-dl.c
+
+set output [util_start "$srcdir/$subdir/nss_winbind_syms" \
+ "nsswitch/libnss_winbind.so"]
+
+if {[regexp "FAIL:" $output]} {
+ fail "run nss_winbind_syms"
+ puts $output
+ return
+}
+
+pass "nss_winbind_syms"
+
+# Clean up
+
+file delete "$srcdir/$subdir/nss_winbind_syms"