From a69cbc2139d5099d1db9d77f3c596465dca2844d Mon Sep 17 00:00:00 2001 From: Aaron Jacobs Date: Thu, 25 Jun 2015 21:47:31 +1000 Subject: [PATCH] MemFSTest.RenameOutOfFileSystem --- samples/memfs/memfs_test.go | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/samples/memfs/memfs_test.go b/samples/memfs/memfs_test.go index 83438b6..3996c45 100644 --- a/samples/memfs/memfs_test.go +++ b/samples/memfs/memfs_test.go @@ -1518,12 +1518,22 @@ func (t *MemFSTest) RenameAcrossDirs_Directory() { ExpectEq(os.FileMode(0700)|os.ModeDir, fi.Mode()) } -func (t *MemFSTest) RenameOutOfFileSystem_File() { - AssertTrue(false, "TODO") -} +func (t *MemFSTest) RenameOutOfFileSystem() { + var err error -func (t *MemFSTest) RenameOutOfFileSystem_Directory() { - AssertTrue(false, "TODO") + // Create a file. + oldPath := path.Join(t.Dir, "foo") + + err = ioutil.WriteFile(oldPath, []byte("taco"), 0400) + AssertEq(nil, err) + + // Attempt to move it out of the file system. + tempDir, err := ioutil.TempDir("", "memfs_test") + AssertEq(nil, err) + defer os.RemoveAll(tempDir) + + err = os.Rename(oldPath, path.Join(tempDir, "bar")) + ExpectThat(err, Error(HasSubstr("cross-device"))) } func (t *MemFSTest) RenameIntoFileSystem_File() {