| // +build linux |
| |
| package libcontainer |
| |
| import ( |
| "testing" |
| |
| "github.com/opencontainers/runc/libcontainer/configs" |
| ) |
| |
| func TestCheckMountDestOnProc(t *testing.T) { |
| dest := "/rootfs/proc/" |
| err := checkMountDestination("/rootfs", dest) |
| if err == nil { |
| t.Fatal("destination inside proc should return an error") |
| } |
| } |
| |
| func TestCheckMountDestInSys(t *testing.T) { |
| dest := "/rootfs//sys/fs/cgroup" |
| err := checkMountDestination("/rootfs", dest) |
| if err != nil { |
| t.Fatal("destination inside /sys should not return an error") |
| } |
| } |
| |
| func TestCheckMountDestFalsePositive(t *testing.T) { |
| dest := "/rootfs/sysfiles/fs/cgroup" |
| err := checkMountDestination("/rootfs", dest) |
| if err != nil { |
| t.Fatal(err) |
| } |
| } |
| |
| func TestNeedsSetupDev(t *testing.T) { |
| config := &configs.Config{ |
| Mounts: []*configs.Mount{ |
| { |
| Device: "bind", |
| Source: "/dev", |
| Destination: "/dev", |
| }, |
| }, |
| } |
| if needsSetupDev(config) { |
| t.Fatal("expected needsSetupDev to be false, got true") |
| } |
| } |
| |
| func TestNeedsSetupDevStrangeSource(t *testing.T) { |
| config := &configs.Config{ |
| Mounts: []*configs.Mount{ |
| { |
| Device: "bind", |
| Source: "/devx", |
| Destination: "/dev", |
| }, |
| }, |
| } |
| if needsSetupDev(config) { |
| t.Fatal("expected needsSetupDev to be false, got true") |
| } |
| } |
| |
| func TestNeedsSetupDevStrangeDest(t *testing.T) { |
| config := &configs.Config{ |
| Mounts: []*configs.Mount{ |
| { |
| Device: "bind", |
| Source: "/dev", |
| Destination: "/devx", |
| }, |
| }, |
| } |
| if !needsSetupDev(config) { |
| t.Fatal("expected needsSetupDev to be true, got false") |
| } |
| } |
| |
| func TestNeedsSetupDevStrangeSourceDest(t *testing.T) { |
| config := &configs.Config{ |
| Mounts: []*configs.Mount{ |
| { |
| Device: "bind", |
| Source: "/devx", |
| Destination: "/devx", |
| }, |
| }, |
| } |
| if !needsSetupDev(config) { |
| t.Fatal("expected needsSetupDev to be true, got false") |
| } |
| } |