diff options
| -rw-r--r-- | file.go | 8 | ||||
| -rw-r--r-- | fs_test.go | 5 |
2 files changed, 10 insertions, 3 deletions
@@ -31,6 +31,14 @@ func (f *File) Close() error { return nil } +func (f *File) CloseWriterWithError(err error) error { + if f.w == nil { + return ErrUnsupported + } + pw := f.w.(*io.PipeWriter) + return pw.CloseWithError(err) +} + // implements io.Reader func (f *File) Read(b []byte) (int, error) { if f.r == nil { @@ -90,10 +90,9 @@ func TestFsWriteError(t *testing.T) { f, err := afs.Fs.Create("dir/file") is.NoErr(err) - w := f.(*File).w.(*io.PipeWriter) - _, err = w.Write(testdata) + _, err = f.Write(testdata) is.NoErr(err) - err = w.CloseWithError(errors.New("disk died")) + err = f.(*File).CloseWriterWithError(errors.New("disk died")) is.NoErr(err) _, err = afs.Stat("dir/file") is.Equal(err, os.ErrNotExist) |
