2 # @(#) Test reverse lookup of user ids from getent match getpwuid() output
6 load_lib "$srcdir/config/env.exp"
7 load_lib "$srcdir/config/default-nt-names.exp"
11 set output [target_compile "$srcdir/$subdir/getpwuid.c" \
12 "$srcdir/$subdir/getpwuid" executable {additional_flags="-g"}]
15 perror "compile getpwuid"
20 # Get list of uids using getent
22 set output [util_start "getent" "passwd" ""]
25 foreach {line} [split $output "\n"] {
29 set pwd_entry [split $line ":"]
30 set user [lindex $pwd_entry 0]
32 if {[regexp "^($domain)/" $user]} {
36 # Only lookup winbindd users
38 set uid [lindex $pwd_entry 2]
39 set gid [lindex $pwd_entry 3]
41 # Test lookup of uid succeeds
43 set output [util_start "$srcdir/$subdir/getpwuid" "$uid" ""]
44 if {[regexp "PASS:" $output]} {
45 pass "getpwuid $uid ($user)"
47 fail "getpwuid $uid ($user)"
53 perror "No domain users returned from getent"