mirror of
https://github.com/containers/podman.git
synced 2025-06-17 15:08:08 +08:00
podmanv2 exit code
add ability to set and get exit code. Signed-off-by: Brent Baude <bbaude@redhat.com>
This commit is contained in:
@ -1,6 +1,7 @@
|
||||
package registry
|
||||
|
||||
import (
|
||||
"github.com/containers/libpod/libpod/define"
|
||||
"github.com/containers/libpod/pkg/domain/entities"
|
||||
"github.com/containers/libpod/pkg/domain/infra"
|
||||
"github.com/pkg/errors"
|
||||
@ -21,8 +22,18 @@ var (
|
||||
|
||||
EngineOpts entities.EngineOptions
|
||||
GlobalFlags entities.EngineFlags
|
||||
|
||||
ExitCode = define.ExecErrorCodeGeneric
|
||||
)
|
||||
|
||||
func SetExitCode(code int) {
|
||||
ExitCode = code
|
||||
}
|
||||
|
||||
func GetExitCode() int {
|
||||
return ExitCode
|
||||
}
|
||||
|
||||
// HelpTemplate returns the help template for podman commands
|
||||
// This uses the short and long options.
|
||||
// command should not use this.
|
||||
|
@ -6,6 +6,7 @@ import (
|
||||
"path"
|
||||
|
||||
"github.com/containers/libpod/cmd/podmanV2/registry"
|
||||
"github.com/containers/libpod/libpod/define"
|
||||
"github.com/containers/libpod/version"
|
||||
"github.com/spf13/cobra"
|
||||
)
|
||||
@ -31,7 +32,14 @@ func init() {
|
||||
|
||||
func Execute() {
|
||||
if err := rootCmd.Execute(); err != nil {
|
||||
fmt.Println(err)
|
||||
os.Exit(1)
|
||||
fmt.Fprintln(os.Stderr, "Error:", err.Error())
|
||||
} else if registry.GetExitCode() == define.ExecErrorCodeGeneric {
|
||||
// The exitCode modified from define.ExecErrorCodeGeneric,
|
||||
// indicates an application
|
||||
// running inside of a container failed, as opposed to the
|
||||
// podman command failed. Must exit with that exit code
|
||||
// otherwise command exited correctly.
|
||||
registry.SetExitCode(0)
|
||||
}
|
||||
os.Exit(registry.GetExitCode())
|
||||
}
|
||||
|
Reference in New Issue
Block a user