From aea695cea5e02f37bdbd1eb2b09223a16f700016 Mon Sep 17 00:00:00 2001 From: Naisisor Date: Tue, 9 Feb 2021 17:16:06 +0800 Subject: [PATCH] feat(profile): add create dir function to output flag If the directory does not exist, create it --- cmd/profile.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/cmd/profile.go b/cmd/profile.go index e6fdf6c..502372e 100644 --- a/cmd/profile.go +++ b/cmd/profile.go @@ -21,6 +21,7 @@ import ( "fmt" "io" "os" + "path" "github.com/qiniu/goc/pkg/cover" log "github.com/sirupsen/logrus" @@ -66,6 +67,17 @@ goc profile --force if output == "" { fmt.Fprint(os.Stdout, string(res)) } else { + var dir, filename string = path.Split(output) + if dir != "" { + err = os.MkdirAll(dir, os.ModePerm) + if err != nil { + log.Fatalf("failed to create directory %s, err:%v", dir, err) + } + } + if filename == "" { + output += "coverage.cov" + } + f, err := os.Create(output) if err != nil { log.Fatalf("failed to create file %s, err:%v", output, err)