nsswitch/winbind_nss_aix: reimplement fetching the SID of a user
[Samba.git] / testsuite / nsswitch / getpwuid.exp
blobbe6a01cb9e1a8942457f046a17af8640e55fa52d
2 # @(#) Test reverse lookup of user ids from getent match getpwuid() output
5 load_lib util-defs.exp
7 # Compile getpwuid.c
9 set output [target_compile "$srcdir/$subdir/getpwuid.c" \
10         "$srcdir/$subdir/getpwuid" executable {additional_flags="-g"}]
12 if {$output != ""} {
13     perror "compile getpwuid"
14     puts $output
15     return
18 # Get list of uids using getent
20 set output [util_start "getent" "passwd" ""]
21 set got_entries 0
23 verbose $output
25 foreach {line} [split $output "\n"] {
27     # Process user
29     set pwd_entry [split $line ":"]
30     set user [lindex $pwd_entry 0]
32     if {[regexp {^[^/]+/} $user]} {
34         set got_entries 1
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" ""]
45         verbose $output
47         set test_desc "getpwuid $uid ($user)"
49         if {[regexp "PASS:" $output]} {
50             pass $test_desc
51         } else {
52             fail $test_desc
53         }            
54     }
57 if {!$got_entries} {
58     perror "No domain users returned from getent"