mirror of
https://github.com/tailscale/tailscale.git
synced 2025-02-27 10:47:35 +00:00
version: fix CmdName on the tailscale-ipn.exe binary
Don't return "wg64", "wg32", etc. Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
This commit is contained in:
parent
93c2882a2f
commit
2db877caa3
@ -26,13 +26,16 @@ func CmdName() string {
|
|||||||
if err != nil {
|
if err != nil {
|
||||||
return "cmd"
|
return "cmd"
|
||||||
}
|
}
|
||||||
|
return cmdName(e)
|
||||||
|
}
|
||||||
|
|
||||||
|
func cmdName(exe string) string {
|
||||||
// fallbackName, the lowercase basename of the executable, is what we return if
|
// fallbackName, the lowercase basename of the executable, is what we return if
|
||||||
// we can't find the Go module metadata embedded in the file.
|
// we can't find the Go module metadata embedded in the file.
|
||||||
fallbackName := filepath.Base(strings.TrimSuffix(strings.ToLower(e), ".exe"))
|
fallbackName := filepath.Base(strings.TrimSuffix(strings.ToLower(exe), ".exe"))
|
||||||
|
|
||||||
var ret string
|
var ret string
|
||||||
info, err := findModuleInfo(e)
|
info, err := findModuleInfo(exe)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return fallbackName
|
return fallbackName
|
||||||
}
|
}
|
||||||
@ -45,6 +48,12 @@ func CmdName() string {
|
|||||||
break
|
break
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if strings.HasPrefix(ret, "wg") && fallbackName == "tailscale-ipn" {
|
||||||
|
// The tailscale-ipn.exe binary for internal build system packaging reasons
|
||||||
|
// has a path of "tailscale.io/win/wg64", "tailscale.io/win/wg32", etc.
|
||||||
|
// Ignore that name and use "tailscale-ipn" instead.
|
||||||
|
return fallbackName
|
||||||
|
}
|
||||||
if ret == "" {
|
if ret == "" {
|
||||||
return fallbackName
|
return fallbackName
|
||||||
}
|
}
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
package version
|
package version
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"flag"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"runtime"
|
"runtime"
|
||||||
@ -36,3 +37,18 @@ func exe() string {
|
|||||||
}
|
}
|
||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var findModuleInfoName = flag.String("module-info-file", "", "if non-empty, test findModuleInfo against this filename")
|
||||||
|
|
||||||
|
func TestFindModuleInfoManual(t *testing.T) {
|
||||||
|
exe := *findModuleInfoName
|
||||||
|
if exe == "" {
|
||||||
|
t.Skip("skipping without --module-info-file filename")
|
||||||
|
}
|
||||||
|
cmd := cmdName(exe)
|
||||||
|
mod, err := findModuleInfo(exe)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
t.Logf("Got %q from: %s", cmd, mod)
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user