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:
parent
4f2feb1be7
commit
57a5a8791f
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user