Initial file system tests.
[pintos-anon] / grading / filesys / tests.txt
1 CORRECTNESS [[total]]
2 ---------------------
3
4 Small files (< 63 kB)
5   sm-create: create small file, verify initialization to zeros
6   sm-full: write small file in single system call, reread to verify
7   sm-seq-block: write small file one block at a time, reread to verify
8   sm-seq-random: write small file a random amount at a time, reread to verify
9   sm-random: write small file randomly, reread randomly to verify
10 Score: /5
11
12 Large files (>= 63 kB)
13   lg-create: create large file, verify initialization to zeros
14   lg-full: write large file in single system call, reread to verify
15   lg-seq-block: write large file one block at a time, reread to verify
16   lg-seq-random: write large file a random amount at a time, reread to verify
17   lg-random: write large file randomly, reread randomly to verify
18 Score: /
19
20 File growth
21   grow-create: create empty file, verify
22   grow-seq-sm: extend empty file sequentially to small size, verify
23   grow-seq-lg: extend empty file sequentially to large size, verify
24   grow-file-size: filesize must return proper value as file grows
25   grow-tell: tell must return proper value as file grows
26   grow-sparse: create empty file, seek past 64 kB, write byte, verify zeroing
27   grow-root-sm: create 20 small files in root directory
28   grow-root-lg: create 50 small files in root directory
29   grow-dir-lg: create subdirectory, create 50 small files in it
30   grow-two-files: growing two files alternately must work
31 Score: /
32
33 Subdirectories and file management
34   dir-mkdir: create directory and chdir into it
35   dir-rmdir: create directory, remove directory, chdir into it must now fail
36   dir-mk-vine: create deep chain of directories
37   dir-rm-vine: create and remove deep chain of directories
38   dir-mk-tree: create wide, deep directory tree
39   dir-rm-tree: create and remove wide, deep directory tree
40   dir-rel-mkdir: mkdir /a, chdir /a, mkdir b, chdir b, create /a/b/c, open c
41   dir-rel-open: mkdir /a, mkdir /a/b, create /a/b/c, chdir /a, open b/c
42   dir-rel-rmdir: mkdir a, mkdir /a/b, chdir a, rmdir b
43   dir-rel-remove: mkdir a, create /a/b, chdir a, remove b
44   dir-abs-mkdir: mkdir /a, chdir /a, mkdir /b, create /b/c, chdir /b, open c
45   dir-lsdir: lsdir must work
46   dir-rm-cwd: removing current directory must not crash
47   dir-rm-cwd-cd: if current directory removed then cd'ing to it must fail
48   dir-rm-parent: removing current directory and then its parent must not crash
49   dir-open: if directories can be opened as file, then writing them must fail
50 Score: /
51
52 Synchronization
53   syn-remove: read and write deleted file
54   syn-read: one process writes file then many read it
55   syn-write: many processes write different parts of file, then verify
56   syn-rw: one process extends file sequentially as many read it sequentially
57 Score: /