~vcs-imports/samba/main

« back to all changes in this revision

Viewing changes to testsuite/nsswitch/getpwuid.exp

  • Committer: jerry
  • Date: 2006-07-14 21:48:39 UTC
  • Revision ID: vcs-imports@canonical.com-20060714214839-586d8c489a8fcead
gutting trunk to move to svn:externals

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#
2
 
# @(#) Test reverse lookup of user ids from getent match getpwuid() output
3
 
#
4
 
 
5
 
load_lib util-defs.exp
6
 
 
7
 
# Compile getpwuid.c
8
 
 
9
 
set output [target_compile "$srcdir/$subdir/getpwuid.c" \
10
 
        "$srcdir/$subdir/getpwuid" executable {additional_flags="-g"}]
11
 
 
12
 
if {$output != ""} {
13
 
    perror "compile getpwuid"
14
 
    puts $output
15
 
    return
16
 
}
17
 
 
18
 
# Get list of uids using getent
19
 
 
20
 
set output [util_start "getent" "passwd" ""]
21
 
set got_entries 0
22
 
 
23
 
verbose $output
24
 
 
25
 
foreach {line} [split $output "\n"] {
26
 
 
27
 
    # Process user
28
 
 
29
 
    set pwd_entry [split $line ":"]
30
 
    set user [lindex $pwd_entry 0]
31
 
 
32
 
    if {[regexp {^[^/]+/} $user]} {
33
 
 
34
 
        set got_entries 1
35
 
 
36
 
        # Only lookup winbindd users
37
 
 
38
 
        set uid [lindex $pwd_entry 2]
39
 
        set gid [lindex $pwd_entry 3]
40
 
 
41
 
        # Test lookup of uid succeeds
42
 
 
43
 
        set output [util_start "$srcdir/$subdir/getpwuid" "$uid" ""]
44
 
 
45
 
        verbose $output
46
 
 
47
 
        set test_desc "getpwuid $uid ($user)"
48
 
 
49
 
        if {[regexp "PASS:" $output]} {
50
 
            pass $test_desc
51
 
        } else {
52
 
            fail $test_desc
53
 
        }            
54
 
    }
55
 
}
56
 
 
57
 
if {!$got_entries} {
58
 
    perror "No domain users returned from getent"
59
 
}