Remove .exe suffix if any

Signed-off-by: Leo Liu <silver886@users.noreply.github.com>

Add comment

In shell completion, there is `.exe` suffix on Windows and this does not provide same experience across platforms, #16499

Signed-off-by: Leo Liu <silver886@users.noreply.github.com>

Create unit test for `.exe` suffix removal

Signed-off-by: Leo Liu <11664880+silver886@users.noreply.github.com>

Update comments

Signed-off-by: Leo Liu <11664880+silver886@users.noreply.github.com>
This commit is contained in:
Leo Liu
2025-01-07 22:24:32 -08:00
committed by Leo Liu
parent 6abf83fc42
commit a91aa36367
3 changed files with 38 additions and 1 deletions

View File

@ -62,7 +62,10 @@ Options:
var (
rootCmd = &cobra.Command{
Use: filepath.Base(os.Args[0]) + " [options]",
// In shell completion, there is `.exe` suffix on Windows.
// This does not provide the same experience across platforms
// and was mentioned in [#16499](https://github.com/containers/podman/issues/16499).
Use: strings.TrimSuffix(filepath.Base(os.Args[0]), ".exe") + " [options]",
Long: "Manage pods, containers and images",
SilenceUsage: true,
SilenceErrors: true,

View File

@ -0,0 +1,11 @@
package e2e_test
type helpMachine struct {
cmd []string
}
func (i *helpMachine) buildCmd(m *machineTestBuilder) []string {
cmd := []string{"help"}
i.cmd = cmd
return cmd
}

View File

@ -0,0 +1,23 @@
package e2e_test
import (
"regexp"
"slices"
. "github.com/onsi/ginkgo/v2"
. "github.com/onsi/gomega"
. "github.com/onsi/gomega/gexec"
)
var _ = Describe("podman help", func() {
It("podman usage base command is podman or podman-remote, without extension ", func() {
helpSession, err := mb.setCmd(new(helpMachine)).run()
Expect(err).NotTo(HaveOccurred())
Expect(helpSession).Should(Exit(0))
// Verify `.exe` suffix doesn't present in the usage command string
helpMessages := helpSession.outputToStringSlice()
usageCmdIndex := slices.IndexFunc(helpMessages, func(helpMessage string) bool { return helpMessage == "Usage:" }) + 1
Expect(regexp.MustCompile(`\w\.exe\b`).MatchString(helpMessages[usageCmdIndex])).Should(BeFalse())
})
})