diff --git a/.ozai.json b/.ozai.json index b734619..afa628d 100644 --- a/.ozai.json +++ b/.ozai.json @@ -3,7 +3,7 @@ "tester1": { "Name": "tester", "Command": "tester", - "Args": ["-count", "2", "-id", "1"] + "Args": ["-count", "10", "-id", "1"] }, "tester2": { "Name": "tester", diff --git a/main.go b/main.go index 959e1fa..0a55c58 100644 --- a/main.go +++ b/main.go @@ -4,11 +4,23 @@ import ( "fmt" "os/exec" "log" + "io" + "os" "errors" "sync" "lcthw.dev/learn-code-the-hard-way/ozai/config" ) +func LaunchLogger(in io.Reader, out io.Writer, err error) { + if err != nil { log.Fatal(err) } + + go func() { + if _, err := io.Copy(out, in); err != nil { + log.Fatal(err) + } + }() +} + func main() { config.Load() @@ -30,14 +42,15 @@ func main() { cmd.Err = nil } - out, err := cmd.CombinedOutput() + stderr, err := cmd.StderrPipe(); + LaunchLogger(stderr, os.Stdout, err) - if err != nil { - fmt.Printf("%s\n", out) - log.Fatal(err) - } + stdout, err := cmd.StdoutPipe(); + LaunchLogger(stdout, os.Stdout, err) + cmd.Run() fmt.Println("WAITING for", name) + cmd.Wait() fmt.Println("PROC", name, "EXITED SEND QUIT") } diff --git a/tools/cmd/tester/main.go b/tools/cmd/tester/main.go index a90df63..fda83e2 100644 --- a/tools/cmd/tester/main.go +++ b/tools/cmd/tester/main.go @@ -7,12 +7,14 @@ import ( ) func main() { - count := flag.Int("count", 10, "Seconds to wait") id := flag.Int("id", 1, "Tester ID to use.") + flag.Parse() + + fmt.Println(">>> TESTER STARTS, id=", *id, "count=", *count) for i := 0; i < *count; i++ { time.Sleep(1 * time.Second) - fmt.Println("TICK", *id) + fmt.Println("TESTER #", *id) } }