Convert ExitStatus to use fn to get details

Instead of requiring callers to read the struct fields to check for an
error, provide the exit results via a function instead which is more
natural.

Signed-off-by: Brian Goff <cpuguy83@gmail.com>
This commit is contained in:
Brian Goff
2017-08-21 21:28:37 -04:00
parent 026896ac4c
commit 6ab99edb71
10 changed files with 85 additions and 61 deletions

View File

@@ -60,11 +60,12 @@ var taskAttachCommand = cli.Command{
}
ec := <-statusC
if ec.Err != nil {
code, _, err := ec.Result()
if err != nil {
return err
}
if ec.Code != 0 {
return cli.NewExitError("", int(ec.Code))
if code != 0 {
return cli.NewExitError("", int(code))
}
return nil
},

View File

@@ -95,11 +95,12 @@ var taskExecCommand = cli.Command{
defer stopCatch(sigc)
}
status := <-statusC
if status.Err != nil {
return status.Err
code, _, err := status.Result()
if err != nil {
return err
}
if status.Code != 0 {
return cli.NewExitError("", int(status.Code))
if code != 0 {
return cli.NewExitError("", int(code))
}
return nil
},

View File

@@ -155,15 +155,16 @@ var runCommand = cli.Command{
}
status := <-statusC
if status.Err != nil {
return status.Err
code, _, err := status.Result()
if err != nil {
return err
}
if _, err := task.Delete(ctx); err != nil {
return err
}
if status.Code != 0 {
return cli.NewExitError("", int(status.Code))
if code != 0 {
return cli.NewExitError("", int(code))
}
return nil
},

View File

@@ -73,14 +73,15 @@ var taskStartCommand = cli.Command{
}
status := <-statusC
if status.Err != nil {
code, _, err := status.Result()
if err != nil {
return err
}
if _, err := task.Delete(ctx); err != nil {
return err
}
if status.Code != 0 {
return cli.NewExitError("", int(status.Code))
if code != 0 {
return cli.NewExitError("", int(code))
}
return nil
},