From 76b8e80fab89e11c61e86a49ec65589b3cd06c91 Mon Sep 17 00:00:00 2001 From: Mauri de Souza Meneguzzo Date: Wed, 2 Aug 2023 13:47:16 +0000 Subject: [PATCH] cmd/go: missing name in failed command error Fixed the error reporting for an unknown command to preserve the name when displaying the error message. Fixes #61604 Change-Id: I13defb84e61265ab48ab514e9d4f1626a4a3f758 GitHub-Last-Rev: 5d2889c60ceb3f43bb63b6641ecbcca08b7cd365 GitHub-Pull-Request: golang/go#61607 Reviewed-on: https://go-review.googlesource.com/c/go/+/513555 Run-TryBot: Russ Cox Reviewed-by: David Chase Auto-Submit: Russ Cox TryBot-Result: Gopher Robot Reviewed-by: Russ Cox --- src/cmd/go/main.go | 6 +++++- src/cmd/go/testdata/script/go_badcmd.txt | 2 ++ 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 src/cmd/go/testdata/script/go_badcmd.txt diff --git a/src/cmd/go/main.go b/src/cmd/go/main.go index 2898c68049..7b73642b5a 100644 --- a/src/cmd/go/main.go +++ b/src/cmd/go/main.go @@ -175,7 +175,11 @@ func main() { if used > 0 { helpArg += " " + strings.Join(args[:used], " ") } - fmt.Fprintf(os.Stderr, "go %s: unknown command\nRun 'go help%s' for usage.\n", cfg.CmdName, helpArg) + cmdName := cfg.CmdName + if cmdName == "" { + cmdName = args[0] + } + fmt.Fprintf(os.Stderr, "go %s: unknown command\nRun 'go help%s' for usage.\n", cmdName, helpArg) base.SetExitStatus(2) base.Exit() } diff --git a/src/cmd/go/testdata/script/go_badcmd.txt b/src/cmd/go/testdata/script/go_badcmd.txt new file mode 100644 index 0000000000..661375adc6 --- /dev/null +++ b/src/cmd/go/testdata/script/go_badcmd.txt @@ -0,0 +1,2 @@ +! go asdf +stderr '^go asdf: unknown command' -- 2.50.0