File tree 1 file changed +8
-8
lines changed 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -3,6 +3,7 @@ package plugin
3
3
import (
4
4
"context"
5
5
"encoding/json"
6
+ "errors"
6
7
"fmt"
7
8
"os"
8
9
"sync"
@@ -92,18 +93,17 @@ func Run(makeCmd func(command.Cli) *cobra.Command, meta manager.Metadata) {
92
93
plugin := makeCmd (dockerCli )
93
94
94
95
if err := RunPlugin (dockerCli , plugin , meta ); err != nil {
95
- if sterr , ok := err .(cli.StatusError ); ok {
96
- if sterr .Status != "" {
97
- fmt .Fprintln (dockerCli .Err (), sterr .Status )
98
- }
96
+ var stErr cli.StatusError
97
+ if errors .As (err , & stErr ) {
99
98
// StatusError should only be used for errors, and all errors should
100
99
// have a non-zero exit status, so never exit with 0
101
- if sterr .StatusCode == 0 {
102
- os . Exit ( 1 )
100
+ if stErr .StatusCode == 0 { // FIXME(thaJeztah): this should never be used with a zero status-code. Check if we do this anywhere.
101
+ stErr . StatusCode = 1
103
102
}
104
- os .Exit (sterr .StatusCode )
103
+ _ , _ = fmt .Fprintln (dockerCli .Err (), stErr )
104
+ os .Exit (stErr .StatusCode )
105
105
}
106
- fmt .Fprintln (dockerCli .Err (), err )
106
+ _ , _ = fmt .Fprintln (dockerCli .Err (), err )
107
107
os .Exit (1 )
108
108
}
109
109
}
You can’t perform that action at this time.
0 commit comments