diff --git a/pkg/agent/run.go b/pkg/agent/run.go index 5d3ad52d..fc66da68 100644 --- a/pkg/agent/run.go +++ b/pkg/agent/run.go @@ -50,7 +50,7 @@ var Flags AgentCmdFlags const schemaVersion string = "v2.0.0" // Run starts the agent process -func Run(cmd *cobra.Command, args []string) error { +func Run(cmd *cobra.Command, args []string) (returnErr error) { logs.Log.Printf("Preflight agent version: %s (%s)", version.PreflightVersion, version.Commit) ctx, cancel := context.WithCancel( klog.NewContext( @@ -85,8 +85,8 @@ func Run(cmd *cobra.Command, args []string) error { defer func() { cancel() if groupErr := group.Wait(); groupErr != nil { - err = multierror.Append( - err, + returnErr = multierror.Append( + returnErr, fmt.Errorf("failed to wait for controller-runtime component to stop: %v", groupErr), ) } diff --git a/pkg/agent/run_test.go b/pkg/agent/run_test.go index 69025950..3bd54773 100644 --- a/pkg/agent/run_test.go +++ b/pkg/agent/run_test.go @@ -44,8 +44,11 @@ func TestRunOneShot(t *testing.T) { require.NoError(t, err) logs.Initialize() - Run(c, nil) - klog.Flush() + defer klog.Flush() + + runErr := Run(c, nil) + require.NoError(t, runErr, "Run returned an unexpected error") + return } t.Log("Running child process")