Action error shadowing avoided on After

main
Dario Castañé 10 years ago
parent 44efc2952d
commit 3c4b583fee

@ -120,7 +120,11 @@ func (a *App) Run(arguments []string) (err error) {
if a.After != nil {
defer func() {
err = a.After(context)
aferr := a.After(context)
// check Action error to avoid shadowing
if err == nil {
err = aferr
}
}()
}
@ -208,7 +212,11 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) {
if a.After != nil {
defer func() {
err = a.After(context)
aferr := a.After(context)
// check Action error to avoid shadowing
if err == nil {
err = aferr
}
}()
}

@ -396,7 +396,6 @@ func TestApp_AfterFunc(t *testing.T) {
}
}
func TestAppHelpPrinter(t *testing.T) {
oldPrinter := cli.HelpPrinter
defer func() {

Loading…
Cancel
Save