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)
commitef3fb564a37566ab3eca293e279ce441a78e85e5
tree363e3aec3228ecdfa66611d7990e7a4fe392b2aa
parent735ac4b8d255f4d1cf8cebaeb3a6a724ea3df008
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.
171 files changed:
TODO
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