From a696dc675926b98761bbab651cbaa28ce1fb83e5 Mon Sep 17 00:00:00 2001 From: Priyanshubhartistm Date: Tue, 12 May 2026 00:16:58 +0530 Subject: [PATCH] fix: replace silent return with os.Exit(1) on auth/config failures MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Commands cmd/test.go, cmd/import.go, cmd/importDir.go, and cmd/importURL.go used plain return statements inside error branches (config read failure, nil localConfig, NewClient failure). Because Cobra treats a normal Run return as success, the process exited with status 0, causing CI/CD pipelines to report false-positive success. Replace every such return with os.Exit(1) so that: - missing/corrupt config file → exit 1 - missing login session (localConfig == nil) → exit 1 - client initialisation failure (NewClient) → exit 1 - ValidationError from ImportDirectory → exit 1 No user-visible messages were changed. Fixes #361 Signed-off-by: Priyanshubhartistm --- cmd/import.go | 6 +++--- cmd/importDir.go | 8 ++++---- cmd/importURL.go | 6 +++--- cmd/test.go | 6 +++--- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/cmd/import.go b/cmd/import.go index c1a74c4..2a8f873 100644 --- a/cmd/import.go +++ b/cmd/import.go @@ -55,7 +55,7 @@ func NewImportCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command localConfig, err := config.ReadLocalConfig(globalClientOpts.ConfigPath) if err != nil { fmt.Println(err) - return + os.Exit(1) } // Prepare Microcks client. @@ -101,7 +101,7 @@ func NewImportCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command // Create client from config file and using the current or provided context. if localConfig == nil { fmt.Println("Please login to perform operation...") - return + os.Exit(1) } if globalClientOpts.Context == "" { @@ -111,7 +111,7 @@ func NewImportCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command mc, err = connectors.NewClient(*globalClientOpts) if err != nil { fmt.Printf("error %v", err) - return + os.Exit(1) } } diff --git a/cmd/importDir.go b/cmd/importDir.go index 16a9157..081f492 100644 --- a/cmd/importDir.go +++ b/cmd/importDir.go @@ -131,12 +131,12 @@ func NewImportDirCommand(globalClientOpts *connectors.ClientOptions) *cobra.Comm localConfig, err := config.ReadLocalConfig(globalClientOpts.ConfigPath) if err != nil { fmt.Println(err) - return + os.Exit(1) } if localConfig == nil { fmt.Println("Please login to perform operation...") - return + os.Exit(1) } if globalClientOpts.Context == "" { @@ -147,7 +147,7 @@ func NewImportDirCommand(globalClientOpts *connectors.ClientOptions) *cobra.Comm mc, err := connectors.NewClient(*globalClientOpts) if err != nil { fmt.Printf("error %v", err) - return + os.Exit(1) } // Set up business logic dependencies @@ -163,7 +163,7 @@ func NewImportDirCommand(globalClientOpts *connectors.ClientOptions) *cobra.Comm if err != nil { if validationErr, ok := err.(*ValidationError); ok { fmt.Println(validationErr.Message) - return + os.Exit(1) } fmt.Printf("Error: %v\n", err) os.Exit(1) diff --git a/cmd/importURL.go b/cmd/importURL.go index 69c32e8..cb1640f 100644 --- a/cmd/importURL.go +++ b/cmd/importURL.go @@ -77,12 +77,12 @@ func NewImportURLCommand(globalClientOpts *connectors.ClientOptions) *cobra.Comm localConfig, err := config.ReadLocalConfig(globalClientOpts.ConfigPath) if err != nil { fmt.Println(err) - return + os.Exit(1) } if localConfig == nil { fmt.Println("Please login to perform operation...") - return + os.Exit(1) } if globalClientOpts.Context == "" { @@ -92,7 +92,7 @@ func NewImportURLCommand(globalClientOpts *connectors.ClientOptions) *cobra.Comm mc, err = connectors.NewClient(*globalClientOpts) if err != nil { fmt.Printf("error %v", err) - return + os.Exit(1) } } sepSpecificationFiles := strings.Split(specificationFiles, ",") diff --git a/cmd/test.go b/cmd/test.go index 70ecb4f..5eda463 100644 --- a/cmd/test.go +++ b/cmd/test.go @@ -145,12 +145,12 @@ func NewTestCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command { localConfig, err := config.ReadLocalConfig(globalClientOpts.ConfigPath) if err != nil { fmt.Println(err) - return + os.Exit(1) } if localConfig == nil { fmt.Println("Please login to perform operation...") - return + os.Exit(1) } if globalClientOpts.Context == "" { @@ -160,7 +160,7 @@ func NewTestCommand(globalClientOpts *connectors.ClientOptions) *cobra.Command { mc, err = connectors.NewClient(*globalClientOpts) if err != nil { fmt.Printf("error %v", err) - return + os.Exit(1) } ctx, err := localConfig.ResolveContext(globalClientOpts.Context)