CORRECTNESS [[total]] --------------------- Small files (< 63 kB) sm-create: create small file, verify initialization to zeros sm-full: write small file in single system call, reread to verify sm-seq-block: write small file one block at a time, reread to verify sm-seq-random: write small file a random amount at a time, reread to verify sm-random: write small file randomly, reread randomly to verify Score: /5 Large files (>= 63 kB) lg-create: create large file, verify initialization to zeros lg-full: write large file in single system call, reread to verify lg-seq-block: write large file one block at a time, reread to verify lg-seq-random: write large file a random amount at a time, reread to verify lg-random: write large file randomly, reread randomly to verify Score: / File growth grow-create: create empty file, verify grow-seq-sm: extend empty file sequentially to small size, verify grow-seq-lg: extend empty file sequentially to large size, verify grow-file-size: filesize must return proper value as file grows grow-tell: tell must return proper value as file grows grow-sparse: create empty file, seek to 128 kB, write byte, verify zeroing grow-root-sm: create 20 small files in root directory grow-root-lg: create 50 small files in root directory grow-dir-lg: create subdirectory, create 50 small files in it grow-two-files: growing two files alternately must work Score: / Subdirectories and file management dir-mkdir: create directory and chdir into it dir-rmdir: create directory, remove directory, chdir into it must now fail dir-mk-vine: create deep chain of directories dir-rm-vine: create and remove deep chain of directories dir-mk-tree: create wide, deep directory tree dir-rm-tree: create and remove wide, deep directory tree dir-rel-mkdir: mkdir /a, chdir /a, mkdir b, chdir b, create /a/b/c, open c dir-rel-open: mkdir /a, mkdir /a/b, create /a/b/c, chdir /a, open b/c dir-rel-rmdir: mkdir a, mkdir /a/b, chdir a, rmdir b dir-rel-remove: mkdir a, create /a/b, chdir a, remove b dir-abs-mkdir: mkdir /a, chdir /a, mkdir /b, create /b/c, chdir /b, open c dir-lsdir: lsdir must work dir-rm-cwd: removing current directory must not crash dir-rm-cwd-cd: if current directory removed then cd'ing to it must fail dir-rm-parent: removing current directory and then its parent must not crash dir-open: if directories can be opened as file, then writing them must fail Score: / Synchronization syn-remove: read and write deleted file syn-read: one process writes file then many read it syn-write: many processes write different parts of file, then verify syn-rw: one process extends file sequentially as many read it sequentially Score: /