]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: skip TestSyscallNoError on mips{,le}
authorTobias Klauser <tklauser@distanz.ch>
Fri, 8 Nov 2019 08:25:51 +0000 (09:25 +0100)
committerBrad Fitzpatrick <bradfitz@golang.org>
Sat, 9 Nov 2019 19:25:46 +0000 (19:25 +0000)
On MIPS, Linux returns whether the syscall had an error in a separate
register (R7), not using a negative return value as on other
architectures. Thus, skip TestSyscallNoError as there is no error case
for syscall.RawSyscall which it could test against.

Also reformat the error output so the expected and gotten values are
aligned so they're easier to compare.

Fixes #35422

Change-Id: Ibc88f7c5382bb7ee8faf15ad4589ca1f9f017a06
Reviewed-on: https://go-review.googlesource.com/c/go/+/205898
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/syscall/syscall_linux_test.go

index 8a578639bd8d86b9cc335404bfb2f20cb87018b9..e30a10b8703e4862e577c0987a73753bf2591aec 100644 (file)
@@ -299,6 +299,14 @@ func TestSyscallNoError(t *testing.T) {
                t.Skip("skipping on non-32bit architecture")
        }
 
+       // See https://golang.org/issue/35422
+       // On MIPS, Linux returns whether the syscall had an error in a separate
+       // register (R7), not using a negative return value as on other
+       // architectures.
+       if runtime.GOARCH == "mips" || runtime.GOARCH == "mipsle" {
+               t.Skipf("skipping on %s", runtime.GOARCH)
+       }
+
        if os.Getuid() != 0 {
                t.Skip("skipping root only test")
        }
@@ -363,7 +371,8 @@ func TestSyscallNoError(t *testing.T) {
                if filesystemIsNoSUID(tmpBinary) {
                        t.Skip("skipping test when temp dir is mounted nosuid")
                }
-               t.Errorf("expected %s, got %s", want, got)
+               // formatted so the values are aligned for easier comparison
+               t.Errorf("expected %s,\ngot      %s", want, got)
        }
 }