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) }