From: David Crawshaw Date: Tue, 8 Jul 2014 17:44:06 +0000 (-0400) Subject: os: adjust tests for android file system X-Git-Tag: go1.4beta1~1152 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=cb2355bbb36adb18348368d3e2b9481ca5ecd2aa;p=gostls13.git os: adjust tests for android file system LGTM=bradfitz R=golang-codereviews, bradfitz CC=golang-codereviews https://golang.org/cl/108460043 --- diff --git a/src/pkg/os/os_test.go b/src/pkg/os/os_test.go index 0b43766dd9..d6f369c8bf 100644 --- a/src/pkg/os/os_test.go +++ b/src/pkg/os/os_test.go @@ -42,6 +42,14 @@ type sysDir struct { var sysdir = func() (sd *sysDir) { switch runtime.GOOS { + case "android": + sd = &sysDir{ + "/system/etc", + []string{ + "audio_policy.conf", + "system_fonts.xml", + }, + } case "windows": sd = &sysDir{ Getenv("SystemRoot") + "\\system32\\drivers\\etc", @@ -108,7 +116,7 @@ func newFile(testName string, t *testing.T) (f *File) { // On Unix, override $TMPDIR in case the user // has it set to an NFS-mounted directory. dir := "" - if runtime.GOOS != "windows" { + if runtime.GOOS != "android" && runtime.GOOS != "windows" { dir = "/tmp" } f, err := ioutil.TempFile(dir, "_Go_"+testName) @@ -284,10 +292,12 @@ func TestReaddirnamesOneAtATime(t *testing.T) { // big directory that doesn't change often. dir := "/usr/bin" switch runtime.GOOS { - case "windows": - dir = Getenv("SystemRoot") + "\\system32" + case "android": + dir = "/system/bin" case "plan9": dir = "/bin" + case "windows": + dir = Getenv("SystemRoot") + "\\system32" } file, err := Open(dir) if err != nil { @@ -498,7 +508,7 @@ func TestHardLink(t *testing.T) { func TestSymlink(t *testing.T) { switch runtime.GOOS { - case "windows", "plan9", "nacl": + case "android", "nacl", "plan9", "windows": t.Skipf("skipping on %s", runtime.GOOS) } from, to := "symlinktestfrom", "symlinktestto" @@ -630,8 +640,9 @@ func exec(t *testing.T, dir, cmd string, args []string, expect string) { } func TestStartProcess(t *testing.T) { - if runtime.GOOS == "nacl" { - t.Skip("skipping on nacl") + switch runtime.GOOS { + case "android", "nacl": + t.Skipf("skipping on %s", runtime.GOOS) } var dir, cmd string @@ -792,8 +803,11 @@ func TestChdirAndGetwd(t *testing.T) { // These are chosen carefully not to be symlinks on a Mac // (unlike, say, /var, /etc, and /tmp). dirs := []string{"/", "/usr/bin"} - // /usr/bin does not usually exist on Plan 9. - if runtime.GOOS == "plan9" { + // /usr/bin does not usually exist on Plan 9 or Android. + switch runtime.GOOS { + case "android": + dirs = []string{"/", "/system/bin"} + case "plan9": dirs = []string{"/", "/usr"} } for mode := 0; mode < 2; mode++ { @@ -972,9 +986,9 @@ func run(t *testing.T, cmd []string) string { func TestHostname(t *testing.T) { // There is no other way to fetch hostname on windows, but via winapi. - // On Plan 9 it is can be taken from #c/sysname as Hostname() does. + // On Plan 9 it can be taken from #c/sysname as Hostname() does. switch runtime.GOOS { - case "windows", "plan9", "nacl": + case "android", "nacl", "plan9", "windows": t.Skipf("skipping on %s", runtime.GOOS) } @@ -1234,8 +1248,9 @@ func TestReadAtEOF(t *testing.T) { } func testKillProcess(t *testing.T, processKiller func(p *Process)) { - if runtime.GOOS == "nacl" { - t.Skip("skipping on nacl") + switch runtime.GOOS { + case "android", "nacl": + t.Skipf("skipping on %s", runtime.GOOS) } dir, err := ioutil.TempDir("", "go-build") diff --git a/src/pkg/os/path_test.go b/src/pkg/os/path_test.go index 3af21cde9a..62cfc084c8 100644 --- a/src/pkg/os/path_test.go +++ b/src/pkg/os/path_test.go @@ -198,8 +198,9 @@ func TestMkdirAllWithSymlink(t *testing.T) { } func TestMkdirAllAtSlash(t *testing.T) { - if runtime.GOOS == "windows" || runtime.GOOS == "plan9" { - return + switch runtime.GOOS { + case "android", "plan9", "windows": + t.Skipf("skipping on %s", runtime.GOOS) } RemoveAll("/_go_os_test") err := MkdirAll("/_go_os_test/dir", 0777)