]> Cypherpunks repositories - gostls13.git/commitdiff
os: adjust tests for android file system
authorDavid Crawshaw <david.crawshaw@zentus.com>
Tue, 8 Jul 2014 17:44:06 +0000 (13:44 -0400)
committerDavid Crawshaw <david.crawshaw@zentus.com>
Tue, 8 Jul 2014 17:44:06 +0000 (13:44 -0400)
LGTM=bradfitz
R=golang-codereviews, bradfitz
CC=golang-codereviews
https://golang.org/cl/108460043

src/pkg/os/os_test.go
src/pkg/os/path_test.go

index 0b43766dd969029b33e9a43b2a0a63ff3dc030ee..d6f369c8bfb418752d17856510a2316e7cd502ab 100644 (file)
@@ -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")
index 3af21cde9afbf15a2813a8c3d25a20201c592fbf..62cfc084c8bb3900c658c953515414fc893ed0c2 100644 (file)
@@ -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)