Add file system persistence tests:
commit1c94785f1e6d63a12c9a0956cd334ebc67eee3ce
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 27 May 2006 00:06:54 +0000 (27 00:06 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 27 May 2006 00:06:54 +0000 (27 00:06 +0000)
treee9f41b162d664fa4296e83eff54a6a99e9a115cf
parentcf6d233c15a206e55e738d6e185c231eb7d5f433
Add file system persistence tests:

Change Make.tests to invoke pintos a second time for the extended
filesys tests, and in that run to tar up the file system contents and
copy it out.
Update grading scripts to check the generated tarballs.

Update documentation.

Update documented requirements for remove() of a directory to give
basically the options offered by POSIX, and update the tests to check
for these behaviors.

Remove dir-lsdir test, which no longer made sense given that readdir
is used so heavily in other tests.

Merge dir-mk-vine and dir-rm-vine tests into a single dir-vine test,
which is now much more stringent.

Merge dir-rm-cwd-cd and dir-rm-cwd into a single dir-rm-cwd test,
which is now much more stringent.

Check that a non-empty directory cannot be removed.

Update scoring rubrics.
170 files changed:
doc/filesys.texi
src/tests/Make.tests
src/tests/filesys/base/lg-create.ck
src/tests/filesys/base/lg-full.ck
src/tests/filesys/base/lg-random.ck
src/tests/filesys/base/lg-seq-block.ck
src/tests/filesys/base/lg-seq-random.ck
src/tests/filesys/base/sm-create.ck
src/tests/filesys/base/sm-full.ck
src/tests/filesys/base/sm-random.ck
src/tests/filesys/base/sm-seq-block.ck
src/tests/filesys/base/sm-seq-random.ck
src/tests/filesys/base/syn-read.ck
src/tests/filesys/base/syn-remove.ck
src/tests/filesys/base/syn-write.ck
src/tests/filesys/extended/Make.tests
src/tests/filesys/extended/Rubric.functionality
src/tests/filesys/extended/Rubric.robustness
src/tests/filesys/extended/dir-empty-name.ck
src/tests/filesys/extended/dir-lsdir.c [deleted file]
src/tests/filesys/extended/dir-lsdir.ck [deleted file]
src/tests/filesys/extended/dir-mk-tree.ck
src/tests/filesys/extended/dir-mk-vine.c [deleted file]
src/tests/filesys/extended/dir-mk-vine.ck [deleted file]
src/tests/filesys/extended/dir-mkdir.ck
src/tests/filesys/extended/dir-open.ck
src/tests/filesys/extended/dir-over-file.ck
src/tests/filesys/extended/dir-rm-cwd-cd.c [deleted file]
src/tests/filesys/extended/dir-rm-cwd-cd.ck [deleted file]
src/tests/filesys/extended/dir-rm-cwd.c
src/tests/filesys/extended/dir-rm-cwd.ck
src/tests/filesys/extended/dir-rm-parent.c
src/tests/filesys/extended/dir-rm-parent.ck
src/tests/filesys/extended/dir-rm-root.c
src/tests/filesys/extended/dir-rm-root.ck
src/tests/filesys/extended/dir-rm-tree.ck
src/tests/filesys/extended/dir-rm-vine.c [deleted file]
src/tests/filesys/extended/dir-rm-vine.ck [deleted file]
src/tests/filesys/extended/dir-rmdir.ck
src/tests/filesys/extended/dir-under-file.ck
src/tests/filesys/extended/dir-vine.c [new file with mode: 0644]
src/tests/filesys/extended/dir-vine.ck [new file with mode: 0644]
src/tests/filesys/extended/grow-create.ck
src/tests/filesys/extended/grow-dir-lg.ck
src/tests/filesys/extended/grow-file-size.ck
src/tests/filesys/extended/grow-root-lg.ck
src/tests/filesys/extended/grow-root-sm.ck
src/tests/filesys/extended/grow-seq-lg.ck
src/tests/filesys/extended/grow-seq-sm.ck
src/tests/filesys/extended/grow-sparse.ck
src/tests/filesys/extended/grow-tell.ck
src/tests/filesys/extended/grow-too-big.c [deleted file]
src/tests/filesys/extended/grow-too-big.ck [deleted file]
src/tests/filesys/extended/grow-two-files.ck
src/tests/filesys/extended/syn-rw.ck
src/tests/filesys/extended/tar.c [new file with mode: 0644]
src/tests/tests.pm
src/tests/threads/alarm-negative.ck
src/tests/threads/alarm-priority.ck
src/tests/threads/alarm-simultaneous.ck
src/tests/threads/alarm-zero.ck
src/tests/threads/alarm.pm
src/tests/threads/mlfqs-block.ck
src/tests/threads/mlfqs-load-1.ck
src/tests/threads/mlfqs-load-60.ck
src/tests/threads/mlfqs-load-avg.ck
src/tests/threads/mlfqs-recent-1.ck
src/tests/threads/mlfqs.pm
src/tests/threads/priority-change.ck
src/tests/threads/priority-condvar.ck
src/tests/threads/priority-donate-lower.ck
src/tests/threads/priority-donate-multiple.ck
src/tests/threads/priority-donate-multiple2.ck
src/tests/threads/priority-donate-nest.ck
src/tests/threads/priority-donate-one.ck
src/tests/threads/priority-donate-sema.ck
src/tests/threads/priority-fifo.ck
src/tests/threads/priority-preempt.ck
src/tests/threads/priority-sema.ck
src/tests/userprog/Make.tests
src/tests/userprog/args-dbl-space.ck
src/tests/userprog/args-many.ck
src/tests/userprog/args-multiple.ck
src/tests/userprog/args-none.ck
src/tests/userprog/args-single.ck
src/tests/userprog/close-bad-fd.ck
src/tests/userprog/close-normal.ck
src/tests/userprog/close-stdin.ck
src/tests/userprog/close-stdout.ck
src/tests/userprog/close-twice.ck
src/tests/userprog/create-bad-ptr.ck
src/tests/userprog/create-bound.ck
src/tests/userprog/create-empty.ck
src/tests/userprog/create-exists.ck
src/tests/userprog/create-long.ck
src/tests/userprog/create-normal.ck
src/tests/userprog/create-null.ck
src/tests/userprog/exec-arg.ck
src/tests/userprog/exec-bad-ptr.ck
src/tests/userprog/exec-missing.ck
src/tests/userprog/exec-multiple.ck
src/tests/userprog/exec-once.ck
src/tests/userprog/exit.ck
src/tests/userprog/halt.ck
src/tests/userprog/multi-child-fd.ck
src/tests/userprog/multi-recurse.ck
src/tests/userprog/no-vm/multi-oom.ck
src/tests/userprog/null.ck
src/tests/userprog/open-bad-ptr.ck
src/tests/userprog/open-boundary.ck
src/tests/userprog/open-empty.ck
src/tests/userprog/open-missing.ck
src/tests/userprog/open-normal.ck
src/tests/userprog/open-null.ck
src/tests/userprog/open-twice.ck
src/tests/userprog/read-bad-fd.ck
src/tests/userprog/read-bad-ptr.ck
src/tests/userprog/read-boundary.ck
src/tests/userprog/read-normal.ck
src/tests/userprog/read-stdout.ck
src/tests/userprog/read-zero.ck
src/tests/userprog/rox-child.ck
src/tests/userprog/rox-multichild.ck
src/tests/userprog/rox-simple.ck
src/tests/userprog/sc-bad-arg.ck
src/tests/userprog/sc-bad-sp.ck
src/tests/userprog/sc-boundary-2.ck
src/tests/userprog/sc-boundary.ck
src/tests/userprog/wait-bad-pid.ck
src/tests/userprog/wait-killed.ck
src/tests/userprog/wait-simple.ck
src/tests/userprog/wait-twice.ck
src/tests/userprog/write-bad-fd.ck
src/tests/userprog/write-bad-ptr.ck
src/tests/userprog/write-boundary.ck
src/tests/userprog/write-normal.ck
src/tests/userprog/write-stdin.ck
src/tests/userprog/write-zero.ck
src/tests/vm/Make.tests
src/tests/vm/mmap-bad-fd.ck
src/tests/vm/mmap-clean.ck
src/tests/vm/mmap-close.ck
src/tests/vm/mmap-exit.ck
src/tests/vm/mmap-inherit.ck
src/tests/vm/mmap-misalign.ck
src/tests/vm/mmap-null.ck
src/tests/vm/mmap-over-code.ck
src/tests/vm/mmap-over-data.ck
src/tests/vm/mmap-over-stk.ck
src/tests/vm/mmap-overlap.ck
src/tests/vm/mmap-read.ck
src/tests/vm/mmap-remove.ck
src/tests/vm/mmap-shuffle.ck
src/tests/vm/mmap-twice.ck
src/tests/vm/mmap-write.ck
src/tests/vm/mmap-zero.ck
src/tests/vm/page-linear.ck
src/tests/vm/page-merge-par.ck
src/tests/vm/page-merge-seq.ck
src/tests/vm/page-parallel.ck
src/tests/vm/page-shuffle.ck
src/tests/vm/process_death.pm
src/tests/vm/pt-bad-read.ck
src/tests/vm/pt-big-stk-obj.ck
src/tests/vm/pt-grow-bad.ck
src/tests/vm/pt-grow-pusha.ck
src/tests/vm/pt-grow-stack.ck
src/tests/vm/pt-grow-stk-sc.ck
src/tests/vm/pt-write-code2.ck
tests/Makefile