minix/test/Makefile
Ben Gras d3e3c78051 testmfs, testisofs: MFS format, ISO functionality
testmfs: catch MFS format changes

This test tests mkfs.mfs will generate the same FS image given the same
input files. mkproto creates a proto file (normalizing directory entry
order). The assumption is that a change in the output flags a tacit
change in FS format, and that a FS format change will cause the image
to change.

        . Changes to mkfs.mfs that innocently change the format can
          change the sha1 output in the script along with it.
        . The assumption is that corresponding versions of mkfs.mfs and
          MFS will always work together; otherwise a lot breaks (ramdisk etc.)
        . Therefore, as long as a generated FS image stays the same with the
          same input now, incompatible MFS changes will still be flagged,
          even if they work together with the current mkfs.mfs.

testisofs: test ISO filesystem

        . to test isofs: prepare an ISO FS image using writeisofs, copy it
          to a RAM device, mount it using the iso9660fs server, compare the
          SHA1 contents of the files on the ISO with the inputs.
        . use su to run certain commands in the script as root

run script: run shell script tests

	. they are installed without .sh so should be
	  searched for as such
	. add diagnostic when tests are skipped

Change-Id: I30daff58e1e43903dacf3c99996a4a0e7d819b6b
2013-11-21 10:17:43 +00:00

118 lines
2.8 KiB
Makefile

BINDIR?= /usr/tests/minix-posix
FILESDIR?= /usr/tests/minix-posix
WARNS?= 1
# Tests have no manpages
MKMAN= no
# They are all bin-owned; by default normal executable mode
BINOWN= bin
# Needed by testsh1.sh
FILES= test1.c
CFLAGS+= -fno-builtin
LDADD+= -lm -lcompat_minix
.include <bsd.own.mk>
# Some have special flags compiling
.if ${MACHINE_ARCH} == "i386"
# LSC FIXME: Compilation error for now on ARM with that!
COPTS.test51.c= -mhard-float
COPTS.test52.c= -mhard-float
.endif
WARNS=
COPTS.test9.c= -O0
COPTS.test37.c= -O0
COPTS.test53.c= -O0
COPTS.test68.c= -O0
# Some have special libraries
LDADD.test59= -lmthread
# Some have an extra file
OBJS.test57= test57loop.o
# Cache testing programs
OBJS.test71+= testcache.o
OBJS.test72+= testcache.o
OBJS.test74+= testcache.o
LDADD.test72+= -lminixfs
PROGS += testvm
OBJS.testvm+= testcache.o
LDSTATIC.testvm= -static
LDADD.testvm+= -lsys -ltimers -lminlib
FILES += testvm.conf
# Tests to compile, For every architecture
MINIX_TESTS= \
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 \
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 \
41 42 43 44 45 46 48 49 50 52 53 54 55 56 58 59 60 \
61 64 65 66 67 68 69 70 71 72 73 74 75
.if ${MACHINE_ARCH} == "i386"
MINIX_TESTS+= \
47 51 57 \
62
.endif # ${MACHINE_ARCH} == "i386"
.if ${MACHINE_ARCH} == "earm"
# LSC Not yet supported on ARM
MKPIC:= no
LDSTATIC:= -static
.endif
.for t in ${MINIX_TESTS}
PROGS+= test${t}
.endfor
PROGS+= t10a t11a t11b t40a t40b t40c t40d t40e t40f t60a t60b \
t67a t67b t68a t68b
SCRIPTS+= run testinterp.sh testsh1.sh testsh2.sh testmfs.sh testisofs.sh
.if ${MKPIC} == "yes"
# Build them as dynamic executables by default if shared libraries
# are available; so that the building and executing of dynamic
# executables is tested
LDSTATIC= -dynamic
# use the shared linkerscript for mod when using the gold linker
GOLDLINKERSCRIPT.mod?= ${${HAVE_GOLD:Uno} != "no":? ${LDS_SHARED_LIB} :}
LDFLAGS.mod+= -shared # make shared object
# LSC FIXME: THe bitcode rules need to take into account LDFLAGS
LDADD.mod+= ${${USE_BITCODE:Uno} != "no":? -shared:}
# Files which have to be compiled with -fPIC
mod.o: mod.c
${COMPILE.c} -fPIC ${.IMPSRC}
common.o: common.c
${COMPILE.c} -fPIC ${.IMPSRC}
# test57loop.S is not linked into the .bcl file.
# This way, we can link it in when linking the final binary
LDADD.test57+= ${${USE_BITCODE:Uno} != "no":? test57loop.o -Wl,-allow-multiple-definition:}
# Add test that must be linked dynamically, and its dynamically loaded
# module
PROGS+= test63 mod
.endif # ${MKPIC} == "yes"
.for o in $(PROGS)
OBJS.${o} += common.o
.endfor
# LSC Make sure there is not leftover after a failed testrun
clean: .PHONY .MAKE
$(MAKE) -C select clean
rm -rf DIR*
.include <bsd.prog.mk>