diff --git a/samples/errorfs/error_fs.go b/samples/errorfs/error_fs.go index 7c1a315..db9e76f 100644 --- a/samples/errorfs/error_fs.go +++ b/samples/errorfs/error_fs.go @@ -138,3 +138,19 @@ func (fs *errorFS) LookUpInode( return } + +// LOCKS_EXCLUDED(fs.mu) +func (fs *errorFS) OpenFile( + ctx context.Context, + op *fuseops.OpenFileOp) (err error) { + if fs.transformError(op, &err) { + return + } + + if op.Inode != fooInodeID { + err = fmt.Errorf("Unsupported inode ID: %d", op.Inode) + return + } + + return +} diff --git a/samples/errorfs/error_fs_test.go b/samples/errorfs/error_fs_test.go index 726ffa1..85fb500 100644 --- a/samples/errorfs/error_fs_test.go +++ b/samples/errorfs/error_fs_test.go @@ -66,7 +66,7 @@ func (t *ErrorFSTest) OpenFile() { t.fs.SetError(reflect.TypeOf(&fuseops.OpenFileOp{}), syscall.EOWNERDEAD) _, err := os.Open(path.Join(t.Dir, "foo")) - ExpectThat(err, Error(HasSubstr("TODO"))) + ExpectThat(err, Error(MatchesRegexp("open.*: .*owner died"))) } func (t *ErrorFSTest) ReadFile() {