github.com/naoina/kocha@v0.7.1-0.20171129072645-78c7a531f799/cmd/kocha-run/main_test.go (about) 1 package main 2 3 import "testing" 4 5 func Test_runCommand_Run(t *testing.T) { 6 // The below tests do not end because run() have an infinite loop. 7 // Any ideas? 8 9 // func() { 10 // tempDir, err := ioutil.TempDir("", "Test_runCommand_Run") 11 // if err != nil { 12 // t.Fatal(err) 13 // } 14 // defer os.RemoveAll(tempDir) 15 // if err := os.Chdir(tempDir); err != nil { 16 // t.Fatal(err) 17 // } 18 // if err := ioutil.WriteFile(filepath.Join(tempDir, "dev.go"), []byte(` 19 // package main 20 // func main() { panic("expected panic") } 21 // `), 0644); err != nil { 22 // t.Fatal(err) 23 // } 24 // cmd := &runCommand{} 25 // flags := flag.NewFlagSet("testflags", flag.ExitOnError) 26 // cmd.DefineFlags(flags) 27 // flags.Parse([]string{}) 28 // defer func() { 29 // if err := recover(); err == nil { 30 // t.Error("Expect panic, but not occurred") 31 // } 32 // }() 33 // cmd.Run() 34 // }() 35 36 // func() { 37 // tempDir, err := ioutil.TempDir("", "Test_runCommand_Run") 38 // if err != nil { 39 // t.Fatal(err) 40 // } 41 // defer os.RemoveAll(tempDir) 42 // if err := os.Chdir(tempDir); err != nil { 43 // t.Fatal(err) 44 // } 45 // if err := ioutil.WriteFile(filepath.Join(tempDir, "dev.go"), []byte(` 46 // package main 47 // func main() {} 48 // `), 0644); err != nil { 49 // t.Fatal(err) 50 // } 51 // cmd := &runCommand{} 52 // flags := flag.NewFlagSet("testflags", flag.ExitOnError) 53 // cmd.DefineFlags(flags) 54 // flags.Parse([]string{}) 55 // cmd.Run() 56 // binName := filepath.Base(tempDir) 57 // if _, err := os.Stat(filepath.Join(tempDir, binName)); err != nil { 58 // t.Error("Expect %v is exists, but not", binName) 59 // } 60 // }() 61 }