72539a5e8ddfaad2f841486de0108afce8e1e84c
[pintos-anon] / src / tests / filesys / extended / Make.tests
1 # -*- makefile -*-
2
3 tests/filesys/extended_TESTS = $(addprefix                              \
4 tests/filesys/extended/,dir-empty-name dir-mk-tree dir-mkdir dir-open   \
5 dir-over-file dir-rm-cwd dir-rm-parent dir-rm-root dir-rm-tree          \
6 dir-rmdir dir-under-file dir-vine grow-create grow-dir-lg               \
7 grow-file-size grow-root-lg grow-root-sm grow-seq-lg grow-seq-sm        \
8 grow-sparse grow-tell grow-two-files syn-rw)
9
10 tests/filesys/extended_PROGS = $(tests/filesys/extended_TESTS)  \
11 tests/filesys/extended/child-syn-rw tests/filesys/extended/tar
12
13 $(foreach prog,$(tests/filesys/extended_PROGS),                 \
14         $(eval $(prog)_SRC += $(prog).c tests/lib.c tests/filesys/seq-test.c))
15 $(foreach prog,$(tests/filesys/extended_TESTS),         \
16         $(eval $(prog)_SRC += tests/main.c))
17 $(foreach prog,$(tests/filesys/extended_TESTS),         \
18         $(eval $(prog)_PUTFILES += tests/filesys/extended/tar))
19 # The version of GNU make 3.80 on vine barfs if this is split at
20 # the last comma.
21 $(foreach test,$(tests/filesys/extended_TESTS),$(eval $(test).output: FSDISK = tmp.dsk))
22
23 tests/filesys/extended/dir-mk-tree_SRC += tests/filesys/extended/mk-tree.c
24 tests/filesys/extended/dir-rm-tree_SRC += tests/filesys/extended/mk-tree.c
25
26 tests/filesys/extended/syn-rw_PUTFILES += tests/filesys/extended/child-syn-rw
27
28
29 GETTIMEOUT = 60
30
31 GETCMD = pintos -v -k -T $(GETTIMEOUT)
32 GETCMD += $(PINTOSOPTS)
33 GETCMD += $(SIMULATOR)
34 GETCMD += --fs-disk=$(FSDISK)
35 GETCMD += -g fs.tar -a $(TEST).tar
36 ifeq ($(filter vm, $(KERNEL_SUBDIRS)), vm)
37 GETCMD += --swap-disk=4
38 endif
39 GETCMD += -- -q
40 GETCMD += $(KERNELFLAGS)
41 GETCMD += run 'tar fs.tar /'
42 GETCMD += < /dev/null
43 GETCMD += 2> $(TEST).get-errors $(if $(VERBOSE),|tee,>) $(TEST).get-output
44
45 tests/filesys/extended/%.output: os.dsk
46         rm -f tmp.dsk
47         pintos-mkdisk tmp.dsk 2
48         $(TESTCMD)
49         $(GETCMD)
50         rm -f tmp.dsk
51
52 TARS = $(addsuffix .tar,$(tests/filesys/extended_TESTS))
53 GET_OUTPUTS = $(addsuffix .get-output,$(tests/filesys/extended_TESTS))
54 GET_ERRORS = $(addsuffix .get-errors,$(tests/filesys/extended_TESTS))
55
56 clean::
57         rm -f $(TARS) $(GET_OUTPUTS) $(GET_ERRORS)