Add file system persistence tests:
authorBen Pfaff <blp@cs.stanford.edu>
Sat, 27 May 2006 00:06:54 +0000 (00:06 +0000)
committerBen Pfaff <blp@cs.stanford.edu>
Sat, 27 May 2006 00:06:54 +0000 (00:06 +0000)
commitb51bfd75c7f55f008d67ec13d895694fbfa22430
treee9f41b162d664fa4296e83eff54a6a99e9a115cf
parent73389b59f54bfed8eb0cb370a5ffec1223686a9e
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