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
|
package integrationtests
import "testing"
var mountfsTraceArgs = []string{
"-trace-syscalls",
"mount,umount,move_mount,fsopen,fsconfig,fspick,open_tree,fsmount,pivot_root,quotactl,statmount,listmount,listns,swapon,swapoff",
}
func TestMountFsManagementSyscalls(t *testing.T) {
runScenarioResultWithIorArgs(t, "mountfs-management", []ExpectedEvent{
{Tracepoint: "enter_mount", MinCount: 1},
{Tracepoint: "enter_umount", MinCount: 1},
{Tracepoint: "enter_move_mount", MinCount: 1},
{Tracepoint: "enter_fsopen", MinCount: 1},
// fsconfig (KindFd), fspick (KindPathname), and open_tree (KindOpen) are
// best-effort new-mount-API calls in the scenario. Their sys_enter_
// tracepoints fire on kernel entry regardless of permission/validity, so
// MinCount>=1 holds even when the syscalls themselves return an error.
{Tracepoint: "enter_fsconfig", MinCount: 1},
{Tracepoint: "enter_fspick", MinCount: 1},
{Tracepoint: "enter_open_tree", MinCount: 1},
{Tracepoint: "enter_fsmount", MinCount: 1},
{Tracepoint: "enter_pivot_root", MinCount: 1},
{Tracepoint: "enter_quotactl", MinCount: 1},
{Tracepoint: "enter_statmount", MinCount: 1},
{Tracepoint: "enter_listmount", MinCount: 1},
{Tracepoint: "enter_listns", MinCount: 1},
{Tracepoint: "enter_swapon", MinCount: 1},
{Tracepoint: "enter_swapoff", MinCount: 1},
}, mountfsTraceArgs)
}
|