Merge pull request #88 from vbatts/xattr_bsd

xattr: tests for non-linux
This commit is contained in:
Vincent Batts 2016-11-17 23:18:44 -05:00 committed by GitHub
commit 71b81f3ced
2 changed files with 46 additions and 0 deletions

View file

@ -1,3 +1,5 @@
// +build linux
package xattr package xattr
import ( import (

View file

@ -0,0 +1,44 @@
// +build !linux
package xattr
import (
"bytes"
"io/ioutil"
"os"
"testing"
)
func TestXattrUnsupported(t *testing.T) {
fh, err := ioutil.TempFile(".", "xattr.")
if err != nil {
t.Fatal(err)
}
defer os.Remove(fh.Name())
if err := fh.Close(); err != nil {
t.Fatal(err)
}
// because xattrs are "not supported" on this platform, they're like a black
// box.
write := []byte("1234")
expected := []byte("")
if err := Set(fh.Name(), "user.testing", write); err != nil {
t.Fatal(fh.Name(), err)
}
l, err := List(fh.Name())
if err != nil {
t.Error(fh.Name(), err)
}
if len(l) > 0 {
t.Errorf("%q: expected a list of at least 0; got %d", fh.Name(), len(l))
}
got, err := Get(fh.Name(), "user.testing")
if err != nil {
t.Fatal(fh.Name(), err)
}
if !bytes.Equal(got, expected) {
t.Errorf("%q: expected %q; got %q", fh.Name(), expected, got)
}
}