From 243ca7c280f0158b46e0d3068f5bab8b507cea8d Mon Sep 17 00:00:00 2001 From: Valentin Rothberg Date: Tue, 4 Apr 2023 10:04:46 +0200 Subject: [PATCH] add `quadlet -version` flag I recently wanted to check which version of Quadlet I was using and found a `-version` flag to be missing. Since Quadlet and Podman are bundled together, it seems reasonable to me for them to share the same version. Signed-off-by: Valentin Rothberg --- cmd/quadlet/main.go | 10 +++++++++- test/e2e/quadlet_test.go | 10 ++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/cmd/quadlet/main.go b/cmd/quadlet/main.go index 7a8e6792d1..9a956ad625 100644 --- a/cmd/quadlet/main.go +++ b/cmd/quadlet/main.go @@ -12,6 +12,7 @@ import ( "github.com/containers/podman/v4/pkg/systemd/parser" "github.com/containers/podman/v4/pkg/systemd/quadlet" + "github.com/containers/podman/v4/version/rawversion" ) // This commandline app is the systemd generator (system and user, @@ -27,6 +28,7 @@ var ( noKmsgFlag bool isUserFlag bool // True if run as quadlet-user-generator executable dryRunFlag bool // True if -dryrun is used + versionFlag bool // True if -version is used ) var ( @@ -298,6 +300,11 @@ func main() { flag.Parse() + if versionFlag { + fmt.Printf("%s\n", rawversion.RawVersion) + return + } + if verboseFlag || dryRunFlag { enableDebug() } @@ -389,5 +396,6 @@ func init() { flag.BoolVar(&verboseFlag, "v", false, "Print debug information") flag.BoolVar(&noKmsgFlag, "no-kmsg-log", false, "Don't log to kmsg") flag.BoolVar(&isUserFlag, "user", false, "Run as systemd user") - flag.BoolVar(&dryRunFlag, "dryrun", false, "run in dryrun mode printing debug information") + flag.BoolVar(&dryRunFlag, "dryrun", false, "Run in dryrun mode printing debug information") + flag.BoolVar(&versionFlag, "version", false, "Print version information and exit") } diff --git a/test/e2e/quadlet_test.go b/test/e2e/quadlet_test.go index 2e4c67fa81..e38a4e7e74 100644 --- a/test/e2e/quadlet_test.go +++ b/test/e2e/quadlet_test.go @@ -9,6 +9,7 @@ import ( "strings" "github.com/containers/podman/v4/pkg/systemd/parser" + "github.com/containers/podman/v4/version" "github.com/mattn/go-shellwords" . "github.com/containers/podman/v4/test/utils" @@ -426,6 +427,15 @@ var _ = Describe("quadlet system generator", func() { }) + Describe("quadlet -version", func() { + It("Should print correct version", func() { + session := podmanTest.Quadlet([]string{"-version"}, "/something") + session.WaitWithDefaultTimeout() + Expect(session).Should(Exit(0)) + Expect(session.OutputToString()).To(Equal(version.Version.String())) + }) + }) + Describe("Running quadlet dryrun tests", func() { It("Should exit with an error because of no files are found to parse", func() { fileName := "basic.kube"