diff options
Diffstat (limited to 'harness/Makefile')
-rw-r--r-- | harness/Makefile | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/harness/Makefile b/harness/Makefile index d2483fd..0bb8e3d 100644 --- a/harness/Makefile +++ b/harness/Makefile @@ -1,37 +1,56 @@ # foo. TEST_SRCS:=$(shell find cases/ -name \*.t | sort -n -t/ -k2) -PROGS:=$(patsubst %.t,%.p,$(TEST_SRCS)) +EXTRAPROGS:=cases/8.p cases/10.p +PARTPROGS:=$(filter-out $(EXTRAPROGS), $(patsubst %.t,%.p,$(TEST_SRCS))) +PROGS:=$(PARTPROGS) $(EXTRAPROGS) HARNESS_SRCS:=main.c # io_queue.c -CFLAGS=-Wall -Werror -g -O -laio +CFLAGS=-Wall -Werror -I../src -g -O #-lpthread -lrt all: $(PROGS) $(PROGS): %.p: %.t $(HARNESS_SRCS) - $(CC) $(CFLAGS) -DTEST_NAME=\"$<\" -o $@ main.c + $(CC) $(CFLAGS) -DTEST_NAME=\"$<\" -o $@ main.c ../src/libaio.a clean: rm -f $(PROGS) *.o runtests.out rofile wofile rwfile .PHONY: -testdir/rofile: .PHONY +testdir/rofile: testdir .PHONY rm -f $@ echo "test" >$@ chmod 400 $@ -testdir/wofile: .PHONY +testdir/wofile: testdir .PHONY rm -f $@ echo "test" >$@ chmod 200 $@ -testdir/rwfile: .PHONY +testdir/rwfile: testdir .PHONY rm -f $@ echo "test" >$@ chmod 600 $@ -check: $(PROGS) testdir/rofile testdir/rwfile testdir/wofile - ./runtests.sh $(PROGS) +testdir testdir.enospc testdir.ext2: + mkdir $@ +root: .PHONY + @if [ `id -u` -ne 0 ]; then echo Need root for check, try partcheck >&2; exit 1; fi + +partcheck: $(PARTPROGS) testdir/rofile testdir/rwfile testdir/wofile + ./runtests.sh $(PARTPROGS) + +ext2.img: + dd if=/dev/zero bs=1M count=10 of=$@ + mke2fs -F -b 4096 $@ + +extracheck: $(EXTRAPROGS) root testdir.ext2 testdir.enospc ext2.img + mount -o loop -t ext2 ext2-enospc.img testdir.enospc + ./runtests.sh cases/10.p; ret=$$?; umount testdir.enospc; exit $$ret + mount -o loop -t ext2 ext2.img testdir.ext2 + ./runtests.sh cases/8.p; ret=$$?; umount testdir.ext2; exit $$ret + +check: partcheck extracheck |