feat: remove wg.Sync() as no need

main
hau 2020-11-12 17:02:24 +07:00
parent 6376795943
commit cac22c9e5e
1 changed files with 10 additions and 17 deletions

27
main.go
View File

@ -8,12 +8,16 @@ import (
"os" "os"
"os/exec" "os/exec"
"strings" "strings"
"sync"
"github.com/fatih/color" "github.com/fatih/color"
) )
func main() { func main() {
code := runGoTest()
os.Exit(code)
}
func runGoTest() int {
args := []string{"test"} args := []string{"test"}
args = append(args, os.Args[1:]...) args = append(args, os.Args[1:]...)
@ -21,27 +25,16 @@ func main() {
cmd.Env = os.Environ() cmd.Env = os.Environ()
reader, writer := io.Pipe() reader, writer := io.Pipe()
defer func() { defer writer.Close()
if err := writer.Close(); err != nil {
log.Printf("failed to close writer: %s", err)
}
if err := reader.Close(); err != nil {
log.Printf("failed to close reader: %s", err)
}
}()
cmd.Stdout = writer cmd.Stdout = writer
cmd.Stderr = writer cmd.Stderr = writer
var wg sync.WaitGroup
wg.Add(1)
defer wg.Wait()
go func() { go func() {
defer wg.Done() defer reader.Close()
scanner := bufio.NewScanner(reader) scanner := bufio.NewScanner(reader)
for scanner.Scan() { for scanner.Scan() {
line := scanner.Text() line := scanner.Text()
trimmedLine := strings.TrimSpace(line) trimmedLine := strings.TrimSpace(line)
@ -68,8 +61,8 @@ func main() {
}() }()
if err := cmd.Run(); err != nil { if err := cmd.Run(); err != nil {
os.Exit(1) return 1
} }
os.Exit(0) return 0
} }