X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=grading%2Ffilesys%2Ftests.txt;h=5818cac7891db4ece606e2aa6a3a7ced14d831bf;hb=5780c9f434cca090f88463b7f0199d49b4ded288;hp=a4ece30e140ca5109e917c9de4f95ded1e5b201c;hpb=6aec1d08acdb068c1ce58a7d2fc927e3f3717ce8;p=pintos-anon diff --git a/grading/filesys/tests.txt b/grading/filesys/tests.txt index a4ece30..5818cac 100644 --- a/grading/filesys/tests.txt +++ b/grading/filesys/tests.txt @@ -1,45 +1,57 @@ 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 +Small files (<= 63 kB) + -1 sm-create: create small file, verify initialization to zeros + -1 sm-full: write small file in single system call, reread to verify + -1 sm-seq-block: write small file one block at a time, reread to verify + -1 sm-seq-random: write small file a random amount at a time, reread & verify + -1 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: / +Large files (> 63 kB) + -1 lg-create: create large file, verify initialization to zeros + -1 lg-full: write large file in single system call, reread to verify + -1 lg-seq-block: write large file one block at a time, reread to verify + -1 lg-seq-random: write large file a random amount at a time, reread & verify + -1 lg-random: write large file randomly, reread randomly to verify +Score: /5 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-sparse: create empty file, seek to 128 kB, write byte, verify zeroing - grow-dir-sm: create 20 small files in a directory, - grow-dir-lg: create 200 small files in a directory -Score: / + -1 grow-create: create empty file, verify + -1 grow-seq-sm: extend empty file sequentially to small size, verify + -1 grow-seq-lg: extend empty file sequentially to large size, verify + -1 grow-file-size: filesize must return proper value as file grows + -1 grow-tell: tell must return proper value as file grows + -1 grow-sparse: create empty file, seek past 64 kB, write byte, verify zeros + -1 grow-too-big: create empty file, seek past 2 GB, write byte, can't crash + -1 grow-root-sm: create 20 small files in root directory + -1 grow-root-lg: create 50 small files in root directory + -1 grow-dir-lg: create subdirectory, create 50 small files in it + -1 grow-two-files: growing two files alternately must work +Score: /11 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-hier: create deep hierarchy of directories - 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 do something reasonable -Score: / + -1 dir-mkdir: mkdir a, create a/b, chdir a, open b + -1 dir-rmdir: create directory, remove directory, chdir into it must now fail + -1 dir-mk-vine: create deep chain of directories, create & check files inside + -1 dir-rm-vine: create and remove deep chain of directories + -1 dir-mk-tree: create wide, deep directory tree, create & check files in it + -1 dir-rm-tree: create and remove wide, deep directory tree + -1 dir-lsdir: lsdir must work + -1 dir-rm-cwd: removing current directory must not crash + -1 dir-rm-cwd-cd: if current directory removable, then cd'ing to it must fail + -1 dir-rm-parent: removing current directory and then its parent can't crash + -1 dir-rm-root: must not be able to remove root directory + -1 dir-over-file: creating a directory named after an existing file must fail + -1 dir-under-file: creating file named after existing directory must fail + -1 dir-empty-name: creating file named after the empty string must fail + -1 dir-open: if directories openable as files, writing them must fail +Score: /15 Synchronization - syn-remove: read and write deleted file - syn-mult-read: one process writes file, many read from it - syn-mult-write: many processes write different parts of file, then verify -Score: / + -1 syn-remove: read and write deleted file + -1 syn-read: one process writes file then many read it + -1 syn-write: many processes write different parts of file, then verify + -1 syn-rw: one process extends file sequentially as many read it sequentially +Score: /4