diff options
author | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-08-11 23:00:24 -0500 |
---|---|---|
committer | Flu0r1ne <flur01ne@flu0r1ne.net> | 2021-08-11 23:00:24 -0500 |
commit | 4f6854fa9cbbafe78ea3fe0373f63db93297a39b (patch) | |
tree | ab5ad31ed642fd544df45a396c6aff821be3179c /cmd/planr/sub/evaluate.go | |
parent | fe8d44aa4472ff4a5187820cc56c141d9ce77a58 (diff) | |
download | deb-planr-4f6854fa9cbbafe78ea3fe0373f63db93297a39b.tar.xz deb-planr-4f6854fa9cbbafe78ea3fe0373f63db93297a39b.zip |
Prepare for dh-golangv0.0.1upstream/0.0.1
Diffstat (limited to 'cmd/planr/sub/evaluate.go')
-rw-r--r-- | cmd/planr/sub/evaluate.go | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/cmd/planr/sub/evaluate.go b/cmd/planr/sub/evaluate.go new file mode 100644 index 0000000..1174b3f --- /dev/null +++ b/cmd/planr/sub/evaluate.go @@ -0,0 +1,52 @@ +package sub + +import ( + "fmt" + "golang.flu0r1ne.net/planr" +) + +func Evaluate(params []string) { + rd := planr.RubricDir() + + tcs := Runner().Evaluate(rd) + + fmt.Printf("\n\nREPORT:\n=======\n\n") + + earned := 0.0 + total := 0.0 + for _, tc := range tcs { + cfg := tc.Config + + name := tc.Cname + if cfg.Title != nil { + name = *cfg.Title + } + + var points float64 = 0.0 + if cfg.Points != nil { + points = float64(*cfg.Points) + } + + status := "SILENT" + if tc.Result != nil { + if tc.Result.Pass { + status = "PASS" + earned += points + } else { + status = "FAIL" + } + } + + total += points + + fmt.Printf("[%s] %s (%f)\n", status, name, points) + + if cfg.Description != nil { + fmt.Printf("> %s\n", *cfg.Description) + } + + fmt.Println() + } + + fmt.Printf("Score: %f (%f%%)\n", earned, (earned / total) * 100) +} |