Add file system persistence tests:
[pintos-anon] / src / tests / filesys / extended / Make.tests
index 9f03c6e3a6820fd5941af0900c2efa388cecb2e9..1aeb8dd1acb68ba0071d6580b1b38f3d88662fd1 100644 (file)
@@ -1,21 +1,49 @@
 # -*- makefile -*-
 
 tests/filesys/extended_TESTS = $(addprefix                             \
-tests/filesys/extended/,dir-empty-name dir-lsdir dir-mk-tree           \
-dir-mk-vine dir-mkdir dir-open dir-over-file dir-rm-cwd-cd dir-rm-cwd  \
-dir-rm-parent dir-rm-root dir-rm-tree dir-rm-vine dir-rmdir            \
-dir-under-file grow-create grow-dir-lg grow-file-size grow-root-lg     \
-grow-root-sm grow-seq-lg grow-seq-sm grow-sparse grow-tell             \
-grow-too-big grow-two-files syn-rw)
+tests/filesys/extended/,dir-empty-name dir-mk-tree dir-mkdir dir-open  \
+dir-over-file dir-rm-cwd dir-rm-parent dir-rm-root dir-rm-tree         \
+dir-rmdir dir-under-file dir-vine grow-create grow-dir-lg              \
+grow-file-size grow-root-lg grow-root-sm grow-seq-lg grow-seq-sm       \
+grow-sparse grow-tell grow-two-files syn-rw)
 
 tests/filesys/extended_PROGS = $(tests/filesys/extended_TESTS) \
-tests/filesys/extended/child-syn-rw
+tests/filesys/extended/child-syn-rw tests/filesys/extended/tar
 
 $(foreach prog,$(tests/filesys/extended_PROGS),                        \
        $(eval $(prog)_SRC += $(prog).c tests/lib.c tests/filesys/seq-test.c))
 $(foreach prog,$(tests/filesys/extended_TESTS),                \
        $(eval $(prog)_SRC += tests/main.c))
+$(foreach prog,$(tests/filesys/extended_TESTS),                \
+       $(eval $(prog)_PUTFILES += tests/filesys/extended/tar))
+$(foreach test,$(tests/filesys/extended_TESTS),        \
+       $(eval $(test).output: FSDISK = tmp.dsk))
+
 tests/filesys/extended/dir-mk-tree_SRC += tests/filesys/extended/mk-tree.c
 tests/filesys/extended/dir-rm-tree_SRC += tests/filesys/extended/mk-tree.c
 
-tests/filesys/extended/syn-rw_PUTFILES = tests/filesys/extended/child-syn-rw
+tests/filesys/extended/syn-rw_PUTFILES += tests/filesys/extended/child-syn-rw
+
+
+GETTIMEOUT = 60
+
+GETCMD = pintos -v -T $(GETTIMEOUT)
+GETCMD += $(PINTOSOPTS)
+GETCMD += $(SIMULATOR)
+GETCMD += --fs-disk=$(FSDISK)
+GETCMD += -g fs.tar -a $(TEST).tar
+ifeq ($(filter vm, $(KERNEL_SUBDIRS)), vm)
+GETCMD += --swap-disk=4
+endif
+GETCMD += -- -q
+GETCMD += $(KERNELFLAGS)
+GETCMD += run 'tar fs.tar /'
+GETCMD += 2>> $(TEST).get-errors
+GETCMD += $(if $(VERBOSE),|tee -a,>>) $(TEST).get-output
+
+tests/filesys/extended/%.output: os.dsk
+       rm -f tmp.dsk
+       pintos-mkdisk tmp.dsk 2
+       $(TESTCMD)
+       $(GETCMD)
+       rm -f tmp.dsk