# -*- makefile -*-
-tests/filesys/extended_TESTS = $(addprefix \
-tests/filesys/extended/,dir-empty-name dir-mk-tree dir-mkdir dir-open \
+raw_tests = 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)
+grow-sparse grow-tell grow-two-files syn-rw
-tests/filesys/extended_PROGS = $(tests/filesys/extended_TESTS) \
+tests/filesys/extended_TESTS = $(patsubst %,tests/filesys/extended/%,$(raw_tests))
+tests/filesys/extended_EXTRA_GRADES = $(patsubst %,tests/filesys/extended/%-persistence,$(raw_tests))
+
+tests/filesys/extended_PROGS = $(tests/filesys/extended_TESTS) \
tests/filesys/extended/child-syn-rw tests/filesys/extended/tar
$(foreach prog,$(tests/filesys/extended_PROGS), \
tests/filesys/extended/syn-rw_PUTFILES += tests/filesys/extended/child-syn-rw
-
GETTIMEOUT = 60
GETCMD = pintos -v -k -T $(GETTIMEOUT)
GETCMD += $(KERNELFLAGS)
GETCMD += run 'tar fs.tar /'
GETCMD += < /dev/null
-GETCMD += 2> $(TEST).get-errors $(if $(VERBOSE),|tee,>) $(TEST).get-output
+GETCMD += 2> $(TEST)-persistence.errors $(if $(VERBOSE),|tee,>) $(TEST)-persistence.output
tests/filesys/extended/%.output: os.dsk
rm -f tmp.dsk
$(TESTCMD)
$(GETCMD)
rm -f tmp.dsk
+$(foreach raw_test,$(raw_tests),$(eval tests/filesys/extended/$(raw_test)-persistence.output: tests/filesys/extended/$(raw_test).output; ))
+$(foreach raw_test,$(raw_tests),$(eval tests/filesys/extended/$(raw_test)-persistence.result: tests/filesys/extended/$(raw_test).result))
TARS = $(addsuffix .tar,$(tests/filesys/extended_TESTS))
-GET_OUTPUTS = $(addsuffix .get-output,$(tests/filesys/extended_TESTS))
-GET_ERRORS = $(addsuffix .get-errors,$(tests/filesys/extended_TESTS))
clean::
- rm -f $(TARS) $(GET_OUTPUTS) $(GET_ERRORS)
+ rm -f $(TARS)
+ rm -f tests/filesys/extended/can-rmdir-cwd