summaryrefslogtreecommitdiffstats
path: root/testsuite/fuser.test/fuser.exp
blob: aac59476772a8c48156c3f0ced2d4d1733c727d8 (plain)
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