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