tests: syscallcompat: allow failure for symlinks > 1000

MacOS and old XFS versions do not support very long symlinks,
but let's not make the tests fail because of that.

https://github.com/rfjakob/gocryptfs/issues/267
This commit is contained in:
Jakob Unterwurzacher 2018-10-11 19:45:47 +02:00
parent 4f2feb1be7
commit 57a5a8791f

View File

@ -2,8 +2,6 @@ package syscallcompat
import ( import (
"bytes" "bytes"
"os"
"runtime"
"syscall" "syscall"
"testing" "testing"
) )
@ -11,14 +9,15 @@ import (
func TestReadlinkat(t *testing.T) { func TestReadlinkat(t *testing.T) {
for _, targetLen := range []int{100, 500, 4000} { for _, targetLen := range []int{100, 500, 4000} {
target := string(bytes.Repeat([]byte("x"), targetLen)) target := string(bytes.Repeat([]byte("x"), targetLen))
err := os.Symlink(target, tmpDir+"/readlinkat") err := syscall.Symlink(target, tmpDir+"/readlinkat")
if err != nil { if err != nil {
if targetLen > 1000 && runtime.GOOS == "darwin" { if targetLen > 1000 {
// Symlinks longer than 1024 (?) bytes are not supported on // Symlinks longer than 1024 (?) bytes are not supported on
// MacOS // MacOS and XFS
t.Logf("skipping targetLen=%d: %v", targetLen, err)
continue continue
} }
t.Fatal(err) t.Fatalf("targetLen=%d: %v", targetLen, err)
} }
target2, err := Readlinkat(tmpDirFd, "readlinkat") target2, err := Readlinkat(tmpDirFd, "readlinkat")
if err != nil { if err != nil {