From 29a83af5ef4e4792b6fcfeafc30ddeca63d821f8 Mon Sep 17 00:00:00 2001 From: Alex Brainman Date: Thu, 26 Feb 2015 14:19:19 +1100 Subject: [PATCH] os: add windows test for Hostname Change-Id: I9b38b3a384722cf000eab18b62f73f90bcb56c5c Reviewed-on: https://go-review.googlesource.com/6070 Reviewed-by: Brad Fitzpatrick --- src/os/os_test.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/os/os_test.go b/src/os/os_test.go index 09177496e2..380e2b8ffe 100644 --- a/src/os/os_test.go +++ b/src/os/os_test.go @@ -1139,16 +1139,35 @@ func run(t *testing.T, cmd []string) string { return output } +func testWindowsHostname(t *testing.T) { + hostname, err := Hostname() + if err != nil { + t.Fatal(err) + } + cmd := osexec.Command("hostname") + out, err := cmd.CombinedOutput() + if err != nil { + t.Fatalf("Failed to execute hostname command: %v %s", err, out) + } + want := strings.Trim(string(out), "\r\n") + if hostname != want { + t.Fatalf("Hostname() = %q, want %q", hostname, want) + } +} + func TestHostname(t *testing.T) { // There is no other way to fetch hostname on windows, but via winapi. // On Plan 9 it can be taken from #c/sysname as Hostname() does. switch runtime.GOOS { - case "android", "nacl", "plan9", "windows": + case "android", "nacl", "plan9": t.Skipf("skipping on %s", runtime.GOOS) case "darwin": if runtime.GOARCH == "arm" { t.Skipf("skipping on %s/%s", runtime.GOOS, runtime.GOARCH) } + case "windows": + testWindowsHostname(t) + return } // Check internal Hostname() against the output of /bin/hostname. -- 2.48.1