From a1918efd2c8544e4c1031ab40241afd6c0c9307e Mon Sep 17 00:00:00 2001 From: puneeth_aditya_5656 Date: Sun, 3 May 2026 16:41:56 +0530 Subject: [PATCH] fix: exit with clear error when --waitFor value is not a valid number Signed-off-by: puneeth_aditya_5656 --- cmd/test.go | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) diff --git a/cmd/test.go b/cmd/test.go index ca14a83..1d29a3f 100644 --- a/cmd/test.go +++ b/cmd/test.go @@ -76,7 +76,8 @@ func NewTestCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command { // Validate presence and values of flags. if !strings.HasSuffix(waitFor, "milli") && !strings.HasSuffix(waitFor, "sec") && !strings.HasSuffix(waitFor, "min") { - fmt.Println("--waitFor format is wrong. Applying default 5sec") + fmt.Println("--waitFor format is wrong. Accepted units are: milli, sec, min (e.g. 500milli, 30sec, 5min)") + os.Exit(1) } // Collect optional HTTPS transport flags. @@ -85,15 +86,28 @@ func NewTestCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command { config.Verbose = globalClientOpts.Verbose // Compute time to wait in milliseconds. - var waitForMilliseconds int64 = 5000 + var waitForMilliseconds int64 if strings.HasSuffix(waitFor, "milli") { - waitForMilliseconds, _ = strconv.ParseInt(waitFor[:len(waitFor)-5], 0, 64) + n, err := strconv.ParseInt(waitFor[:len(waitFor)-5], 0, 64) + if err != nil { + fmt.Printf("--waitFor value %q is not a valid number\n", waitFor) + os.Exit(1) + } + waitForMilliseconds = n } else if strings.HasSuffix(waitFor, "sec") { - waitForMilliseconds, _ = strconv.ParseInt(waitFor[:len(waitFor)-3], 0, 64) - waitForMilliseconds = waitForMilliseconds * 1000 + n, err := strconv.ParseInt(waitFor[:len(waitFor)-3], 0, 64) + if err != nil { + fmt.Printf("--waitFor value %q is not a valid number\n", waitFor) + os.Exit(1) + } + waitForMilliseconds = n * 1000 } else if strings.HasSuffix(waitFor, "min") { - waitForMilliseconds, _ = strconv.ParseInt(waitFor[:len(waitFor)-3], 0, 64) - waitForMilliseconds = waitForMilliseconds * 60 * 1000 + n, err := strconv.ParseInt(waitFor[:len(waitFor)-3], 0, 64) + if err != nil { + fmt.Printf("--waitFor value %q is not a valid number\n", waitFor) + os.Exit(1) + } + waitForMilliseconds = n * 60 * 1000 } var mc connectors.MicrocksClient