1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
|
#
# Testsuite for fuser
#
proc cleanup { } {
global test_file
exec rm $test_file
}
set fuser "${topdir}src/fuser"
set test_file [ exec mktemp ]
set verbose_header "\\s+USER\\s+PID ACCESS COMMAND\\s*"
set test "fuser with no arguments"
spawn $fuser
expect_pass "$test" "^No process specification given\\s*Usage: fuser"
set test "fuser no args, no proc"
spawn $fuser $test_file
expect_nothing "$test"
set test "fuser -a no proc"
spawn $fuser -a $test_file
expect_pass "$test" "^${test_file}:\\s*$"
set test "fuser -v, no proc"
spawn $fuser $test_file
expect_nothing "$test"
set test "fuser -av, no proc"
spawn $fuser -av $test_file
expect_pass "$test" "^${verbose_header}${test_file}:\\s*$"
set test "fuser -va, no proc"
spawn $fuser -av $test_file
expect_pass "$test" "^${verbose_header}${test_file}:\\s*$"
set test "fuser -l"
spawn $fuser -l
expect_pass "$test" "^(\[A-Z12\]+\\s*)+$"
# Create test process to make named unix socket
# Needs a sleep otherwise the socket won't be
# available before the file exists comes along
set testsocket_path [ exec mktemp -u -p /tmp ]
make_socketproc ${testsocket_path}
sleep 1
if {[file exists ${testsocket_path} ]} {
set test "fuser find socket from path"
spawn sh -c "$fuser -v $testsocket_path"
expect_pass "$test" "$socketproc_pid F"
set test "fuser find socket from mount"
spawn sh -c "$fuser -mv /tmp"
expect_pass "$test" "$socketproc_pid F"
} else {
unsupported "fuser tests using named sockets"
}
kill_socketproc
|