This is an automated email from the ASF dual-hosted git repository.

lburgazzoli pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit f217ed0d857ac9ea0d911b4a6eb179719606f8df
Author: Andrea Tarocchi <[email protected]>
AuthorDate: Wed Dec 18 10:15:08 2019 +0100

    Fixed a reference to command options not being propagated correctly.
---
 pkg/cmd/root.go      | 44 +++++++++++++++++++++-----------------------
 pkg/cmd/root_test.go | 24 +++++++++++++-----------
 pkg/cmd/run_test.go  |  6 +++---
 3 files changed, 37 insertions(+), 37 deletions(-)

diff --git a/pkg/cmd/root.go b/pkg/cmd/root.go
index c1ed396..8f1450c 100644
--- a/pkg/cmd/root.go
+++ b/pkg/cmd/root.go
@@ -48,14 +48,14 @@ func NewKamelCommand(ctx context.Context) (*cobra.Command, 
error) {
        }
 
        var err error
-       cmd := kamelPreAddCommandInit(options)
-       cmd = addKamelSubcommands(*cmd, options)
-       cmd, err = kamelPostAddCommandInit(*cmd)
+       cmd := kamelPreAddCommandInit(&options)
+       addKamelSubcommands(cmd, &options)
+       err = kamelPostAddCommandInit(cmd)
 
        return cmd, err
 }
 
-func kamelPreAddCommandInit(options RootCmdOptions) *cobra.Command {
+func kamelPreAddCommandInit(options *RootCmdOptions) *cobra.Command {
 
        var cmd = cobra.Command{
                BashCompletionFunction: bashCompletionFunction,
@@ -71,9 +71,9 @@ func kamelPreAddCommandInit(options RootCmdOptions) 
*cobra.Command {
        return &cmd
 }
 
-func kamelPostAddCommandInit(cmd cobra.Command) (*cobra.Command, error) {
-       if err := bindPFlagsHierarchy(&cmd); err != nil {
-               return nil, err
+func kamelPostAddCommandInit(cmd *cobra.Command) error {
+       if err := bindPFlagsHierarchy(cmd); err != nil {
+               return err
        }
 
        configName := os.Getenv("KAMEL_CONFIG_NAME")
@@ -92,29 +92,27 @@ func kamelPostAddCommandInit(cmd cobra.Command) 
(*cobra.Command, error) {
 
        if err := viper.ReadInConfig(); err != nil {
                if _, ok := err.(viper.ConfigFileNotFoundError); !ok {
-                       return nil, err
+                       return err
                }
        }
 
-       return &cmd, nil
+       return nil
 }
 
-func addKamelSubcommands(cmd cobra.Command, options RootCmdOptions) 
*cobra.Command {
-       cmd.AddCommand(newCmdCompletion(&cmd))
+func addKamelSubcommands(cmd *cobra.Command, options *RootCmdOptions) {
+       cmd.AddCommand(newCmdCompletion(cmd))
        cmd.AddCommand(newCmdVersion())
-       cmd.AddCommand(cmdOnly(newCmdRun(&options)))
-       cmd.AddCommand(cmdOnly(newCmdGet(&options)))
-       cmd.AddCommand(cmdOnly(newCmdDelete(&options)))
-       cmd.AddCommand(cmdOnly(newCmdInstall(&options)))
-       cmd.AddCommand(cmdOnly(newCmdLog(&options)))
-       cmd.AddCommand(newCmdKit(&options))
-       cmd.AddCommand(cmdOnly(newCmdReset(&options)))
-       cmd.AddCommand(newCmdDescribe(&options))
-       cmd.AddCommand(cmdOnly(newCmdRebuild(&options)))
+       cmd.AddCommand(cmdOnly(newCmdRun(options)))
+       cmd.AddCommand(cmdOnly(newCmdGet(options)))
+       cmd.AddCommand(cmdOnly(newCmdDelete(options)))
+       cmd.AddCommand(cmdOnly(newCmdInstall(options)))
+       cmd.AddCommand(cmdOnly(newCmdLog(options)))
+       cmd.AddCommand(newCmdKit(options))
+       cmd.AddCommand(cmdOnly(newCmdReset(options)))
+       cmd.AddCommand(newCmdDescribe(options))
+       cmd.AddCommand(cmdOnly(newCmdRebuild(options)))
        cmd.AddCommand(newCmdOperator())
-       cmd.AddCommand(cmdOnly(newCmdBuilder(&options)))
-
-       return &cmd
+       cmd.AddCommand(cmdOnly(newCmdBuilder(options)))
 }
 
 func (command *RootCmdOptions) preRun(cmd *cobra.Command, _ []string) error {
diff --git a/pkg/cmd/root_test.go b/pkg/cmd/root_test.go
index 1bf886b..a050a5f 100644
--- a/pkg/cmd/root_test.go
+++ b/pkg/cmd/root_test.go
@@ -28,20 +28,22 @@ import (
        "github.com/spf13/viper"
 )
 
-func kamelTestPostAddCommandInit(rootCmd *cobra.Command) *cobra.Command {
-       rootCmd, _ = kamelPostAddCommandInit(*rootCmd)
-       return rootCmd
+func kamelTestPostAddCommandInit(t *testing.T, rootCmd *cobra.Command) {
+       err := kamelPostAddCommandInit(rootCmd)
+       if err != nil {
+               t.Fatalf("Unexpected error: %v", err)
+       }
 }
 
-func kamelTestPreAddCommandInit() (RootCmdOptions, *cobra.Command) {
+func kamelTestPreAddCommandInit() (*RootCmdOptions, *cobra.Command) {
        fakeClient, _ := test.NewFakeClient()
        options := RootCmdOptions{
                Context: context.Background(),
                _client: fakeClient,
        }
-       rootCmd := kamelPreAddCommandInit(options)
+       rootCmd := kamelPreAddCommandInit(&options)
        rootCmd.Run = test.EmptyRun
-       return options, rootCmd
+       return &options, rootCmd
 }
 
 func TestLoadFromCommandLine(t *testing.T) {
@@ -49,7 +51,7 @@ func TestLoadFromCommandLine(t *testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        const VAR2 = "VAR2=value2"
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java", "--env", 
"VAR1=value,othervalue", "--env", VAR2)
@@ -73,7 +75,7 @@ func TestLoadFromEnvVar(t *testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java")
        if err != nil {
@@ -97,7 +99,7 @@ func TestLoadFromFile(t *testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java")
        if err != nil {
@@ -121,7 +123,7 @@ func TestPrecedenceEnvVarOverFile(t *testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java")
        if err != nil {
@@ -145,7 +147,7 @@ func TestPrecedenceCommandLineOverEverythingElse(t 
*testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java", "--env", 
"VAR3=commandLine")
        if err != nil {
diff --git a/pkg/cmd/run_test.go b/pkg/cmd/run_test.go
index f33fbee..1fcc673 100644
--- a/pkg/cmd/run_test.go
+++ b/pkg/cmd/run_test.go
@@ -24,9 +24,9 @@ import (
        "github.com/spf13/cobra"
 )
 
-func addTestRunCmd(options RootCmdOptions, rootCmd *cobra.Command) 
*runCmdOptions {
+func addTestRunCmd(options *RootCmdOptions, rootCmd *cobra.Command) 
*runCmdOptions {
        //add a testing version of run Command
-       runCmd, runCmdOptions := newCmdRun(&options)
+       runCmd, runCmdOptions := newCmdRun(options)
        runCmd.RunE = func(c *cobra.Command, args []string) error {
                return nil
        }
@@ -40,7 +40,7 @@ func TestRunPropertyFlag(t *testing.T) {
 
        runCmdOptions := addTestRunCmd(options, rootCmd)
 
-       rootCmd = kamelTestPostAddCommandInit(rootCmd)
+       kamelTestPostAddCommandInit(t, rootCmd)
 
        _, err := test.ExecuteCommand(rootCmd, "run", "route.java", 
"--property", "key1=value,othervalue", "--property", "key2=value2")
        if err != nil {

Reply via email to