summaryrefslogtreecommitdiff
path: root/testsuite/nsswitch/nss_winbind_syms.exp
blob: a0cf4cf7fc1e4188474917ffd758179babe3f34f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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"