diff options
-rw-r--r-- | golings/cmd/verify.go | 15 | ||||
-rw-r--r-- | golings/exercises/verify.go | 26 |
2 files changed, 8 insertions, 33 deletions
diff --git a/golings/cmd/verify.go b/golings/cmd/verify.go index b240c94..fc419c3 100644 --- a/golings/cmd/verify.go +++ b/golings/cmd/verify.go @@ -18,14 +18,14 @@ var cmdVerify = &cobra.Command{ Use: "verify", Short: "Verify all exercises", Run: func(cmd *cobra.Command, args []string) { - verified, err := exercises.Verify() + exs, err := exercises.List() if err != nil { color.Red(err.Error()) os.Exit(1) } bar := progressbar.NewOptions( - verified.Total, + len(exs), progressbar.OptionSetWidth(50), progressbar.OptionEnableColorCodes(true), progressbar.OptionSetPredictTime(false), @@ -41,14 +41,15 @@ var cmdVerify = &cobra.Command{ ) bar.RenderBlank() - for v := range verified.Verified { - bar.Describe(fmt.Sprintf("Running %s", v.Exercise.Name)) + for _, e := range exs { + bar.Describe(fmt.Sprintf("Running %s", e.Name)) + result, _ := exercises.Run(e.Name) bar.Add(1) - if v.Err != "" { + if result.Err != "" { fmt.Print("\n\n") - color.Cyan("Failed to compile the exercise %s\n\n", v.Exercise.Path) + color.Cyan("Failed to compile the exercise %s\n\n", e.Path) color.White("Check the error below: \n\n") - color.Red(v.Err) + color.Red(result.Err) os.Exit(1) } } diff --git a/golings/exercises/verify.go b/golings/exercises/verify.go deleted file mode 100644 index 5b53eda..0000000 --- a/golings/exercises/verify.go +++ /dev/null @@ -1,26 +0,0 @@ -package exercises - -type VerifiedResult struct { - Verified chan Result - Total int -} - -// Verify checks if all the exercises compile and pass the tests -func Verify() (VerifiedResult, error) { - verified := make(chan Result) - - exs, err := List() - if err != nil { - return VerifiedResult{Verified: verified}, err - } - - go func() { - for _, ex := range exs { - result, _ := Run(ex.Name) - verified <- result - } - close(verified) - }() - - return VerifiedResult{Verified: verified, Total: len(exs)}, nil -} |