Merge pull request #498 from stevenh/host-freebsd

Eliminate call to uname on FreeBSD
pull/501/head
shirou 7 years ago committed by GitHub
commit dd850b1aa1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -8,7 +8,6 @@ import (
"encoding/binary" "encoding/binary"
"io/ioutil" "io/ioutil"
"os" "os"
"os/exec"
"runtime" "runtime"
"strings" "strings"
"sync/atomic" "sync/atomic"
@ -168,25 +167,17 @@ func PlatformInformation() (string, string, string, error) {
} }
func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) { func PlatformInformationWithContext(ctx context.Context) (string, string, string, error) {
platform := "" platform, err := unix.Sysctl("kern.ostype")
family := ""
version := ""
uname, err := exec.LookPath("uname")
if err != nil { if err != nil {
return "", "", "", err return "", "", "", err
} }
out, err := invoke.Command(uname, "-s") version, err := unix.Sysctl("kern.osrelease")
if err == nil { if err != nil {
platform = strings.ToLower(strings.TrimSpace(string(out))) return "", "", "", err
}
out, err = invoke.Command(uname, "-r")
if err == nil {
version = strings.ToLower(strings.TrimSpace(string(out)))
} }
return platform, family, version, nil return strings.ToLower(platform), "", strings.ToLower(version), nil
} }
func Virtualization() (string, string, error) { func Virtualization() (string, string, error) {

@ -148,3 +148,15 @@ func TestKernelVersion(t *testing.T) {
t.Logf("KernelVersion(): %s", version) t.Logf("KernelVersion(): %s", version)
} }
func TestPlatformInformation(t *testing.T) {
platform, family, version, err := PlatformInformation()
if err != nil {
t.Errorf("PlatformInformation() failed, %v", err)
}
if platform == "" {
t.Errorf("PlatformInformation() retuns empty: %v", platform)
}
t.Logf("PlatformInformation(): %v, %v, %v", platform, family, version)
}

Loading…
Cancel
Save