1# 2# @(#) Test multiple threads can enumerate users correctly 3# 4 5load_lib util-defs.exp 6load_lib "$srcdir/lib/nsswitch-config.exp" 7 8# Compile getpwent_r.c 9 10set output [target_compile "$srcdir/$subdir/getpwent_r.c" \ 11 "$srcdir/$subdir/getpwent_r" executable {additional_flags="-g"}] 12 13if {$output != ""} { 14 perror "compile getpwent_r" 15 puts $output 16 fail "" 17} 18 19# Clean up output from previous tests 20 21set pid [pid] 22file delete [glob -nocomplain "/tmp/getpwent_r-$pid.out-*"] 23 24# Run test proggy 25 26set output [util_start "$srcdir/$subdir/getpwent_r" "$pid" ""] 27if {![regexp "^PASS:" $output]} { 28 perror "run getpwent_r" 29 puts $output 30 return -1 31} 32 33# Sort and compare output 34 35set output [util_start "$srcdir/$subdir/getent_r.sh" "getpwent $pid" ""] 36if {$output == ""} { 37 pass "getpwent_r" 38} else { 39 fail "getpwent_r" 40 puts $output 41} 42