getent.exp

来自「samba-3.0.22.tar.gz 编译smb服务器的源码」· EXP 代码 · 共 149 行

EXP
149
字号
## @(#) Test the getent command returns domain/local users and groups#load_lib util-defs.expload_lib compile.expload_lib $srcdir/lib/nsswitch-config.exp##   @(#) Test getent passwd returns domain users#set wbinfo_output [util_start "bin/wbinfo" "-u"]set getent_output [util_start "getent" "passwd" ""]if { ![regexp "$domain/" $getent_output] } {    fail "no domain users in getent passwd"    return}if { [regexp "Error" $wbinfo_output] } {    fail "wbinfo -u failed"    return}##   @(#) Test each user in the output of wbinfo is also in the output of#   @(#) getent.## Test wbinfo user names are in getent user namesforeach { user } [split $wbinfo_output "\n"] {    verbose "looking for $user"    set test_desc "getent passwd does not contain $user"    if { ![regexp "$user" $getent_output] } {        fail $test_desc    } else {        pass $test_desc    }}# Test getent user names are in wbinfo user namesforeach { user } [split $getent_output "\n"] {    set user_info [split $user ":"]    set username [lindex $user_info 0]    if { [regexp {^[^/]+/} $username] } {	set test_desc "wbinfo -u does not contain $username"	if { ![regexp "$username" $wbinfo_output] } {	    fail $test_desc	} else {	    pass $test_desc	}    } else {	verbose "ignoring non-domain user $username"    }}##   @(#) Test each group in the output of wbinfo is also in the output of#   @(#) getent.#set wbinfo_output [util_start "bin/wbinfo" "-g"]set getent_output [util_start "getent" "group" ""]if { ![regexp "$domain/" $getent_output] } {    fail "no domain groups in getent passwd"    return}if { [regexp "Error" $wbinfo_output] } {    fail "wbinfo -g failed"    return}# Test wbinfo group names are in getent group namesforeach { group } [split $wbinfo_output "\n"] {    verbose "looking for $group"    set test_desc "getent group does not contain $group"    if { ![regexp "$group" $getent_output] } {        fail $test_desc    } else {        pass $test_desc    }}# Test getent group names are in wbinfo group namesforeach { group } [split $getent_output "\n"] {    set group_info [split $group ":"]    set groupname [lindex $group_info 0]    if { [regexp {^[^/]+/} $groupname] } {	set test_desc "wbinfo -g does not contain $groupname"	if { ![regexp "$groupname" $wbinfo_output] } {	    fail $test_desc	} else {	    pass $test_desc	}    } else {	verbose "ignoring non-domain group $groupname"    }}##   @(#) Test out of order and repeat calls of pwent functions#   @(#) Test out of order and repeat calls of grent functions#set getent_tests [list \	{ "out of order pwent operations" "getent_pwent" } \	{ "out of order grent operations" "getent_grent" } \	]# Compile and run each testforeach { test } $getent_tests {    set test_desc [lindex $test 0]    set test_file [lindex $test 1]    simple_compile $test_file    set output [util_start "$srcdir/$subdir/$test_file" ]    if { [regexp "PASS" $output] } {        pass $test_desc        file delete "$srcdir/$subdir/$test_file" "$srcdir/$subdir/$test_file.o"    } else {        fail $test_desc        puts $output    }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?