From 4f6854fa9cbbafe78ea3fe0373f63db93297a39b Mon Sep 17 00:00:00 2001 From: Flu0r1ne Date: Wed, 11 Aug 2021 23:00:24 -0500 Subject: Prepare for dh-golang --- cmd/planr/sub/build.go | 19 +++++++++++++++++ cmd/planr/sub/evaluate.go | 52 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 cmd/planr/sub/build.go create mode 100644 cmd/planr/sub/evaluate.go (limited to 'cmd/planr/sub') diff --git a/cmd/planr/sub/build.go b/cmd/planr/sub/build.go new file mode 100644 index 0000000..58c3a38 --- /dev/null +++ b/cmd/planr/sub/build.go @@ -0,0 +1,19 @@ +package sub + +import ( + "golang.flu0r1ne.net/planr" + "golang.flu0r1ne.net/planr/adapters/gtest" +) + +func Runner() planr.Runner { + r := planr.Runner {} + r.RegisterAdapter(>est.GtestAdapter{}) + return r +} + +func Build(params []string) { + + rd := planr.RubricDir() + + Runner().Build(rd) +} 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) +} -- cgit v1.2.3