summaryrefslogtreecommitdiff
path: root/cmd/sub
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/sub')
-rw-r--r--cmd/sub/build.go12
-rw-r--r--cmd/sub/evaluate.go38
2 files changed, 44 insertions, 6 deletions
diff --git a/cmd/sub/build.go b/cmd/sub/build.go
index 8108768..58c3a38 100644
--- a/cmd/sub/build.go
+++ b/cmd/sub/build.go
@@ -5,13 +5,15 @@ import (
"golang.flu0r1ne.net/planr/adapters/gtest"
)
-func Build(params []string) {
- gtestAdapter := gtest.GtestAdapter {}
+func Runner() planr.Runner {
+ r := planr.Runner {}
+ r.RegisterAdapter(&gtest.GtestAdapter{})
+ return r
+}
- r := planr.Runner{}
- r.RegisterAdapter(&gtestAdapter)
+func Build(params []string) {
rd := planr.RubricDir()
- r.Run(rd)
+ Runner().Build(rd)
}
diff --git a/cmd/sub/evaluate.go b/cmd/sub/evaluate.go
index 35dd48d..a0f858b 100644
--- a/cmd/sub/evaluate.go
+++ b/cmd/sub/evaluate.go
@@ -2,8 +2,44 @@ package sub
import (
"fmt"
+ "golang.flu0r1ne.net/planr"
)
func Evaluate(params []string) {
- fmt.Print(params)
+ rd := planr.RubricDir()
+
+ tcs := Runner().Evaluate(rd)
+
+ fmt.Printf("\n\nREPORT:\n=======\n\n")
+
+ for _, tc := range tcs {
+ cfg := tc.Config
+
+ name := tc.Cname
+ if cfg.Title != nil {
+ name = *cfg.Title
+ }
+
+ status := "NOT RUN"
+ if tc.Result != nil {
+ if tc.Result.Pass {
+ status = "PASS"
+ } else {
+ status = "FAIL"
+ }
+ }
+
+ var points float32 = 0.0
+ if cfg.Points != nil {
+ points = *cfg.Points
+ }
+
+ fmt.Printf("[%s] %s (%f)\n", status, name, points)
+
+ if cfg.Description != nil {
+ fmt.Printf("> %s\n", *cfg.Description)
+ }
+
+ fmt.Println()
+ }
}