github.com/cloudfoundry-attic/garden-linux@v0.333.2-candidate/containerizer/system/fake_mounter/main.go (about) 1 package main 2 3 import ( 4 "flag" 5 "fmt" 6 "os" 7 "os/exec" 8 9 "github.com/cloudfoundry-incubator/garden-linux/containerizer/system" 10 ) 11 12 func main() { 13 mountType := flag.String("type", "", "Mount type") 14 sourcePath := flag.String("sourcePath", "", "Source path") 15 targetPath := flag.String("targetPath", "", "Destination path") 16 flags := flag.Int("flags", -1, "Mount options") 17 data := flag.String("data", "", "Data options") 18 19 flag.Parse() 20 21 mnt := system.Mount{ 22 Type: system.MountType(*mountType), 23 SourcePath: *sourcePath, 24 TargetPath: *targetPath, 25 Flags: *flags, 26 Data: *data, 27 } 28 29 if err := mnt.Mount(); err != nil { 30 fmt.Fprintf(os.Stderr, "error: %s", err) 31 panic("mount failed!") 32 } 33 34 args := flag.Args() 35 cmd := exec.Command(args[0], args[1:]...) 36 cmd.Stdout = os.Stdout 37 cmd.Stderr = os.Stderr 38 39 if err := cmd.Run(); err != nil { 40 panic(err) 41 } 42 }