Commit Graph

271 Commits (9ed0e374218969558008d63ef37fc03aeef0b5cf)

Author SHA1 Message Date
Aaron Jacobs a7d2944d2e Support changing mtime. 2015-03-06 06:04:51 +11:00
Aaron Jacobs 76ac5cc264 MemFSTest.Chtimes 2015-03-06 06:02:43 +11:00
Aaron Jacobs 13335f6e9b Support changing mode. 2015-03-06 06:00:55 +11:00
Aaron Jacobs c4de915491 MemFSTest.Chmod 2015-03-06 05:59:06 +11:00
Aaron Jacobs 1e38634464 MemFSTest.Truncate_Larger 2015-03-06 05:56:40 +11:00
Aaron Jacobs 910d3b2f9f Oops, preserve the size invariant. 2015-03-06 05:56:12 +11:00
Aaron Jacobs 9dc1d04623 MemFSTest.Truncate_Smaller 2015-03-06 05:54:20 +11:00
Aaron Jacobs 7173c5e9fb Added some test names. 2015-03-06 05:52:08 +11:00
Aaron Jacobs 826e9def70 Implemented memFS.SetInodeAttributes. 2015-03-06 05:51:49 +11:00
Aaron Jacobs 08afae57de Added inode.SetAttributes. 2015-03-06 05:50:58 +11:00
Aaron Jacobs 632b1e6120 Added FileSystem.SetInodeAttributes. 2015-03-06 05:45:17 +11:00
Aaron Jacobs 1828931cce Don't attempt to track ctime. 2015-03-06 05:35:44 +11:00
Aaron Jacobs 650467fedb Update mtime for mkdir and rmdir. 2015-03-06 05:35:44 +11:00
Aaron Jacobs ea53ba8488 Don't attempt to track atime. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 087f48cc72 Update mtime on write. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 77fee50b80 Tightened up time tests. 2015-03-06 05:35:43 +11:00
Aaron Jacobs ab18be2378 Refactored inode time tracking. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 62bda89ca9 MemFSTest.ModifyExistingFile_InRoot 2015-03-06 05:35:43 +11:00
Aaron Jacobs 3a2b0a6de4 MemFSTest.AppendMode 2015-03-06 05:35:43 +11:00
Aaron Jacobs b814416bb2 PosixTest.AppendMode 2015-03-06 05:35:43 +11:00
Aaron Jacobs b8ea62986f Dumped in posix tests. 2015-03-06 05:35:43 +11:00
Aaron Jacobs 0377d675dd MemFSTest.CreateNewFile_InSubDir 2015-03-06 05:35:42 +11:00
Aaron Jacobs 96c65235b8 Implemented memFS.ReadFile. 2015-03-06 05:35:42 +11:00
Aaron Jacobs 4e169a0602 Implemented memFS.OpenFile. 2015-03-05 19:37:36 +11:00
Aaron Jacobs 26d91ad9d7 Fixed a broken invariant. 2015-03-05 19:36:09 +11:00
Aaron Jacobs 7bb6fe37d2 Added an invariant for inode size. 2015-03-05 19:35:32 +11:00
Aaron Jacobs 163b303731 Implemented memFS.WriteFile. 2015-03-05 19:33:10 +11:00
Aaron Jacobs fcf3be2896 PosixTest.ReadsPastEndOfFile 2015-03-05 19:26:24 +11:00
Aaron Jacobs 95a89e5302 PosixTest.WriteAtDoesntChangeOffset_AppendMode 2015-03-05 19:22:32 +11:00
Aaron Jacobs 49bead83fa PosixTest.WriteAtDoesntChangeOffset_NotAppendMode 2015-03-05 19:21:20 +11:00
Aaron Jacobs 0c5ea8464f PosixTest.WriteStartsPastEndOfFile 2015-03-05 19:18:34 +11:00
Aaron Jacobs 526ec9a968 PosixTest.WriteStartsAtEndOfFile 2015-03-05 19:18:18 +11:00
Aaron Jacobs 5dab658073 PosixTest.WriteOverlapsEndOfFile 2015-03-05 19:17:57 +11:00
Aaron Jacobs 541980129d Added some test names. 2015-03-05 19:10:25 +11:00
Aaron Jacobs e435f6916c Added test setup and tear-down code. 2015-03-05 19:08:48 +11:00
Aaron Jacobs 9fd18f53f4 Began on a test to help confirm posix file behavior. 2015-03-05 19:06:43 +11:00
Aaron Jacobs 87f8ec9ead MemFSTest.CreateNewFile_InRoot 2015-03-04 15:10:26 +11:00
Aaron Jacobs 9c585268b0 Performed a TODO. 2015-03-04 15:06:40 +11:00
Aaron Jacobs c9298a943a Implemented memFS.CreateFile. 2015-03-04 15:05:58 +11:00
Aaron Jacobs 1a975d9824 Declared some test names. 2015-03-04 15:03:44 +11:00
Aaron Jacobs 8fc315cf58 MemFSTest.CaseSensitive 2015-03-04 14:21:56 +11:00
Aaron Jacobs b2a8322aaa Fixed copyright notices. 2015-03-04 08:27:42 +11:00
Aaron Jacobs a956166291 Deleted MemFSTest.Rmdir_ReusesInodeID.
At least on OS X, the kernel doesn't relaibly send a Forget request
right after RmDir, even if the directory is not open. (This is contrary
to what the fuse low-level ops documentation says.) So there's no way to
reliably test this.
2015-03-03 16:14:37 +11:00
Aaron Jacobs eec88dd31a Disabled a test that cannot pass. 2015-03-03 15:15:58 +11:00
Aaron Jacobs 147be0630d Added tests for the Nlink field. 2015-03-03 15:04:49 +11:00
Aaron Jacobs 651984dc1a Only mark as unlinked in rmdir. 2015-03-03 14:56:55 +11:00
Aaron Jacobs 140bd18863 Fixed a silly test bug. 2015-03-03 14:54:22 +11:00
Aaron Jacobs 8d9962ee62 MemFSTest.Rmdir_OpenedForReading 2015-03-03 14:52:03 +11:00
Aaron Jacobs d8905b0d05 Deallocate removed directories. 2015-03-03 14:48:21 +11:00
Aaron Jacobs 3076da562e Fixed an inode invariants bug. 2015-03-03 14:45:39 +11:00
Aaron Jacobs 2773133448 MemFSTest.Rmdir_ReusesInodeID 2015-03-03 14:43:06 +11:00
Aaron Jacobs 01371975df Check for empty in rmdir. 2015-03-03 14:39:29 +11:00
Aaron Jacobs 98f868c319 MemFSTest.Rmdir_NonEmpty 2015-03-03 14:34:28 +11:00
Aaron Jacobs ea5370d6f1 MemFSTest.Rmdir_NonExistent 2015-03-03 14:33:20 +11:00
Aaron Jacobs 4d18942456 Re-use dirent gaps. 2015-03-03 14:31:15 +11:00
Aaron Jacobs 622d7a176b Preserve the offset invariant. 2015-03-03 14:30:14 +11:00
Aaron Jacobs 400d74dbdd Implemented inode.RemoveChild. 2015-03-03 14:29:49 +11:00
Aaron Jacobs 621df57d80 Refactored inode.LookUpChild. 2015-03-03 14:23:46 +11:00
Aaron Jacobs 57cb4ccda3 Outlined memFS.RmDir. 2015-03-03 11:28:41 +11:00
Aaron Jacobs 9f984e1aa6 Declared a test. 2015-03-03 11:12:50 +11:00
Aaron Jacobs baffc23ee6 MemFSTest.Rmdir_Empty 2015-03-03 11:09:36 +11:00
Aaron Jacobs 832e800f3b MemFSTest.Mkdir_PermissionDenied 2015-03-03 11:08:23 +11:00
Aaron Jacobs e46341ae00 MemFSTest.Mkdir_TwoLevels 2015-03-03 11:07:24 +11:00
Aaron Jacobs a87e1b33cf Fixed permissions in MkDir. 2015-03-03 11:04:17 +11:00
Aaron Jacobs c81ae6d4b3 Fixed permissions for the root. 2015-03-03 11:03:03 +11:00
Aaron Jacobs 420fcddfac Fixed time-related metadata. 2015-03-03 10:48:26 +11:00
Aaron Jacobs f9e2e55ac8 Fixed some test bugs. 2015-03-03 10:41:30 +11:00
Aaron Jacobs 01878af39a Implemented timespecToTime. 2015-03-03 10:40:52 +11:00
Aaron Jacobs fa4c2fb864 Implemented two missing functions. 2015-03-03 10:40:04 +11:00
Aaron Jacobs 6b81f4ce58 Declared a two-level mkdir test. 2015-03-03 10:37:29 +11:00
Aaron Jacobs 605a52de92 Added better tests for statting new dirs. 2015-03-03 10:37:09 +11:00
Aaron Jacobs 17799d45a4 MemFSTest.Mkdir_IntermediateIsFile 2015-03-03 09:52:11 +11:00
Aaron Jacobs 5d63d207bb MemFSTest.Mkdir_IntermediateIsNonExistent 2015-03-03 09:50:31 +11:00
Aaron Jacobs 819d3ff73b MemFSTest.Mkdir_AlreadyExists 2015-03-03 09:49:41 +11:00
Aaron Jacobs fcbc1f761e Fixed mtime in mkdir. 2015-03-03 09:48:12 +11:00
Aaron Jacobs 5cf0f2b6bf Refactored newInode. 2015-03-03 09:47:36 +11:00
Aaron Jacobs bb1539e613 Fixed a test bug. 2015-03-03 09:42:36 +11:00
Aaron Jacobs fc7440e588 Fixed two bugs where ChildInodeEntry.Child was not filled in. 2015-03-03 09:41:45 +11:00
Aaron Jacobs 75a65d4a03 Fixed a locking bug. 2015-03-03 09:39:45 +11:00
Aaron Jacobs b6e50a1953 Implemented fs.allocateInode. 2015-03-03 09:39:01 +11:00
Aaron Jacobs d81d961c04 Implemented inode.AddChild. 2015-03-03 09:35:16 +11:00
Aaron Jacobs 2cf18ad9a5 Fixed some build errors. 2015-03-03 09:33:33 +11:00
Aaron Jacobs ea2038ef5e Wrote the skeleton for memFS.MkDir. 2015-03-03 09:30:25 +11:00
Aaron Jacobs 1f5f17b07e Began on memFS.MkDir. 2015-03-03 09:22:51 +11:00
Aaron Jacobs d88873bcd4 Refactored LookUpInodeResponse to share with MkDirResponse. 2015-03-02 16:16:20 +11:00
Aaron Jacobs c3298a7a6b Added an inode invariant. 2015-03-02 16:12:54 +11:00
Aaron Jacobs 902c5800e1 Fixed a permissions bug. 2015-03-02 16:05:14 +11:00
Aaron Jacobs b7eebb8070 Fixed a locking bug. 2015-03-02 16:04:21 +11:00
Aaron Jacobs aebfed4d03 Fixed a bug in newInode. 2015-03-02 16:03:44 +11:00
Aaron Jacobs 26ac02968d Implemented inode.checkInvariants. 2015-03-02 16:01:01 +11:00
Aaron Jacobs 0cbe7573fa Fixed a redundant check. 2015-03-02 15:55:32 +11:00
Aaron Jacobs 8d03662cde Finished inode.LookUpChild. 2015-03-02 15:55:26 +11:00
Aaron Jacobs 44b62ac9c3 Filled in some inode implementation. 2015-03-02 15:54:56 +11:00
Aaron Jacobs 830f272aab Refactored fs.go. 2015-03-02 15:50:34 +11:00
Aaron Jacobs e9d3dd9d5c Deleted memDir and memFile. 2015-03-02 15:36:29 +11:00
Aaron Jacobs 6d1146c42d Fixed a build error. 2015-03-02 15:36:13 +11:00
Aaron Jacobs 8c9b8c09e6 Redeclared the inode struct. 2015-03-02 15:35:44 +11:00
Aaron Jacobs 7922d064fa Implemented memFS.GetInodeAttributes. 2015-03-02 15:23:17 +11:00
Aaron Jacobs c44dffc34e Added a stub for inode.Attributes. 2015-03-02 15:20:29 +11:00
Aaron Jacobs 93ed47299e Implemented memDir.LookUpInode. 2015-03-02 15:19:20 +11:00
Aaron Jacobs a2c55f32d0 Implemented much of memFS.LookUpInode. 2015-03-02 15:18:23 +11:00
Aaron Jacobs d8355cb155 MemFSTest.Mkdir 2015-03-02 15:07:34 +11:00
Aaron Jacobs 79aa1c32d2 Added a bunch of test names. 2015-03-02 15:01:07 +11:00
Aaron Jacobs 5bedddbd7d Implemented memFS.ReadDir. 2015-03-02 14:52:29 +11:00
Aaron Jacobs 25a95e5074 Fixed a crash. 2015-03-02 14:45:14 +11:00
Aaron Jacobs a6223c2344 Implemented missing memDir methods. 2015-03-02 14:44:16 +11:00
Aaron Jacobs c38463a122 Fixed broken invariants at construction. 2015-03-02 14:40:28 +11:00
Aaron Jacobs 1b65aaf887 Refactored invariant checking. 2015-03-02 14:37:01 +11:00
Aaron Jacobs f26fdfc80c Implemented some of memFS.checkInvariants. 2015-03-02 14:27:40 +11:00
Aaron Jacobs 9d4fcebedf Implemented memFS.OpenDir. 2015-03-02 14:22:59 +11:00
Aaron Jacobs 2f98fdd29d Added a TODO. 2015-03-02 14:17:52 +11:00
Aaron Jacobs 0d7c207f85 Added a TODO. 2015-03-02 14:16:17 +11:00
Aaron Jacobs 2790095b6b Implemented Init. 2015-03-02 14:14:49 +11:00
Aaron Jacobs 6f93f4eba9 Implemented NewMemFS. 2015-03-02 14:14:02 +11:00
Aaron Jacobs 0c265d4161 MemFSTest.ContentsOfEmptyFileSystem 2015-03-02 14:12:02 +11:00
Aaron Jacobs 9fb1bc6bff Began on a memfs test. 2015-03-02 14:11:09 +11:00
Aaron Jacobs 3379842d1e Switched to an array of inodes for memfs, like a real file system. 2015-03-02 14:08:51 +11:00
Aaron Jacobs 23b398bc83 Added function stubs. 2015-03-02 14:00:48 +11:00
Aaron Jacobs 0b7e54ef6b Moved the factory function. 2015-02-27 16:33:18 +11:00
Aaron Jacobs 3739cb6c3a Split up mem_fs.go. 2015-02-27 16:32:49 +11:00
Aaron Jacobs 9c6965487b Split up the samples package. 2015-02-27 16:31:04 +11:00