From 1297fe2a39bab569239d19a9ee3d09496b8138c1 Mon Sep 17 00:00:00 2001 From: Pierre-Olivier Mercier Date: Sun, 21 Aug 2022 21:31:25 +0200 Subject: [PATCH] repochecker-epita: Special case for number flag --- repochecker/epita/flags.go | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/repochecker/epita/flags.go b/repochecker/epita/flags.go index 070d7b7d..b0d2c956 100644 --- a/repochecker/epita/flags.go +++ b/repochecker/epita/flags.go @@ -27,6 +27,17 @@ func EPITACheckKeyFlag(flag *fic.FlagKey, raw string) (errs []error) { errs = append(errs, fmt.Errorf("no placeholder defined")) } + if strings.HasPrefix(flag.Type, "number") { + min, max, step, err := fic.AnalyzeNumberFlag(flag.Type) + if err != nil { + errs = append(errs, err) + } else if min == nil || max == nil || step == nil { + errs = append(errs, fmt.Errorf("please define min, max and step for your number flag")) + } else if (*max-*min)**step <= 10 { + errs = append(errs, fmt.Errorf("to avoid bruteforce, define more than 10 possibilities")) + } + } + return }