package starainrt import ( "fmt" "testing" "time" ) func Test_Starshell(t *testing.T) { star, err := NewStarShell("cmd.exe") if err != nil { fmt.Println(err) return } go func() { time.Sleep(time.Second * 2) star.WriteCmd("chcp 65001") time.Sleep(time.Second * 2) star.WriteCmd("ping baidu.com -n 10") time.Sleep(time.Second * 12) star.WriteCmd("exit") }() for star.IsRunning() { time.Sleep(time.Millisecond * 100) str, err := star.GetResult() if err != nil { fmt.Println("error:", err) } fmt.Print(str) } fmt.Println(star.ExitCode()) } func Test_Starbash(t *testing.T) { star, err := NewStarShell("bash", "-c", "ping baidu.com -c 10") err = star.Start() if err != nil { fmt.Println(err) return } /* go func() { time.Sleep(time.Second * 2) star.WriteCmd("chcp 65001") time.Sleep(time.Second * 2) star.WriteCmd("ping baidu.com -n 10") time.Sleep(time.Second * 12) star.WriteCmd("exit") }() */ for star.IsRunning() { time.Sleep(time.Millisecond * 100) str, err := star.GetResult() if err != nil { fmt.Println("error:", err) } fmt.Print(str) } fmt.Println(star.ExitCode()) }