diff --git a/fs_test.go b/fs_test.go
index 0097335..79cda90 100644
--- a/fs_test.go
+++ b/fs_test.go
@@ -143,6 +143,22 @@
 		if err != nil {
 			t.Fatalf("rename %q, %q failed: %v", to, from, err)
 		}
+		names, err := readDirNames(testDir, fs)
+		if err != nil {
+			t.Fatalf("readDirNames error: %v", err)
+		}
+		found := false
+		for _, e := range names {
+			if e == "renamefrom" {
+				t.Error("File is still called renamefrom")
+			}
+			if e == "renameto" {
+				found = true
+			}
+		}
+		if !found {
+			t.Error("File was not renamed to renameto")
+		}
 		defer fs.Remove(to)
 		_, err = fs.Stat(to)
 		if err != nil {
@@ -512,9 +528,6 @@
 }
 
 func findNames(t *testing.T, root, sub []string, fs Fs) {
-	t.Logf("Names root: %v", root)
-	t.Logf("Names sub: %v", sub)
-
 	var foundRoot bool
 	for _, e := range root {
 		_, err := fs.Open(path.Join(testDir, e))
@@ -526,6 +539,8 @@
 		}
 	}
 	if !foundRoot {
+		t.Logf("Names root: %v", root)
+		t.Logf("Names sub: %v", sub)
 		t.Error("Didn't find subdirectory we")
 	}
 
@@ -544,9 +559,13 @@
 	}
 
 	if !found1 {
+		t.Logf("Names root: %v", root)
+		t.Logf("Names sub: %v", sub)
 		t.Error("Didn't find testfile1")
 	}
 	if !found2 {
+		t.Logf("Names root: %v", root)
+		t.Logf("Names sub: %v", sub)
 		t.Error("Didn't find testfile2")
 	}
 }
