0646c22afc
executable ksh scripts. These are currently not copied into the test directory the way that compiled executables are, so the tests which make use of them cannot work. This changes the test Makefile to copy the scripts into the test directory.
395 lines
16 KiB
Makefile
395 lines
16 KiB
Makefile
# $FreeBSD$
|
|
|
|
TESTSRCDIR= ${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/dtrace/test
|
|
CFLAGS+= -w
|
|
DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl -n
|
|
|
|
IGNORE= \
|
|
${TESTSRCDIR}/tst/common/aggs/tst.subr.d \
|
|
${TESTSRCDIR}/tst/common/buffering/tst.cputime.ksh \
|
|
${TESTSRCDIR}/tst/common/buffering/tst.ring3.d \
|
|
${TESTSRCDIR}/tst/common/cpc/err.D_PDESC_ZERO.lowfrequency.d \
|
|
${TESTSRCDIR}/tst/common/cpc/err.D_PDESC_ZERO.malformedoverflow.d\
|
|
${TESTSRCDIR}/tst/common/cpc/err.D_PDESC_ZERO.nonexistentevent.d\
|
|
${TESTSRCDIR}/tst/common/cpc/err.cpcvscpustatpart1.ksh \
|
|
${TESTSRCDIR}/tst/common/cpc/err.cpcvscpustatpart2.ksh \
|
|
${TESTSRCDIR}/tst/common/cpc/err.cputrackfailtostart.ksh \
|
|
${TESTSRCDIR}/tst/common/cpc/err.cputrackterminates.ksh \
|
|
${TESTSRCDIR}/tst/common/cpc/err.toomanyenablings.d \
|
|
${TESTSRCDIR}/tst/common/cpc/tst.allcpus.ksh \
|
|
${TESTSRCDIR}/tst/common/cpc/tst.genericevent.d \
|
|
${TESTSRCDIR}/tst/common/cpc/tst.platformevent.ksh \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.ListProbesWithFunctions \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.ListProbesWithModules \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.ListProbesWithNames \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.ListProbesWithProviders \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.TraceFunctions \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.TraceModule \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.TraceNames \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/man.TraceProvider \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.InvalidModule3.d.ksh \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.InvalidProvider3.d.ksh \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.InvalidTraceFunc7.d.ksh \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.InvalidTraceModule6.d.ksh\
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.InvalidTraceProvider4.d.ksh\
|
|
${TESTSRCDIR}/tst/common/funcs/tst.bcopy.d \
|
|
${TESTSRCDIR}/tst/common/funcs/tst.copyin.d \
|
|
${TESTSRCDIR}/tst/common/funcs/tst.copyinto.d \
|
|
${TESTSRCDIR}/tst/common/funcs/tst.ddi_pathname.d \
|
|
${TESTSRCDIR}/tst/common/funcs/tst.index.d \
|
|
${TESTSRCDIR}/tst/common/inline/err.D_OP_INCOMPAT.badxlate.d \
|
|
${TESTSRCDIR}/tst/common/inline/tst.InlineTypedef.d \
|
|
${TESTSRCDIR}/tst/common/io/tst.fds.c \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.FunctionLookup.c \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.ProbeData.c \
|
|
${TESTSRCDIR}/common/misc/tst.include.ksh \
|
|
${TESTSRCDIR}/tst/common/misc/tst.roch.d \
|
|
${TESTSRCDIR}/tst/common/nfs/tst.call.c \
|
|
${TESTSRCDIR}/tst/common/nfs/tst.call.d \
|
|
${TESTSRCDIR}/tst/common/nfs/tst.call3.c \
|
|
${TESTSRCDIR}/tst/common/nfs/tst.call3.d \
|
|
${TESTSRCDIR}/tst/common/offsetof/err.D_OFFSETOF_BITFIELD.bitfield.d\
|
|
${TESTSRCDIR}/tst/common/pointers/err.D_OP_LVAL.AddressChange.d \
|
|
${TESTSRCDIR}/tst/common/pointers/tst.GlobalVar.d \
|
|
${TESTSRCDIR}/tst/common/pointers/tst.basic1.d \
|
|
${TESTSRCDIR}/tst/common/pointers/tst.basic2.d \
|
|
${TESTSRCDIR}/tst/common/predicates/tst.argsnotcached.d \
|
|
${TESTSRCDIR}/tst/common/privs/tst.func_access.ksh \
|
|
${TESTSRCDIR}/tst/common/privs/tst.op_access.ksh \
|
|
${TESTSRCDIR}/tst/common/proc/tst.discard.ksh \
|
|
${TESTSRCDIR}/tst/common/proc/tst.signal.ksh \
|
|
${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh \
|
|
${TESTSRCDIR}/tst/common/scalars/tst.misc.d \
|
|
${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \
|
|
${TESTSRCDIR}/tst/common/sysevent/tst.post.c \
|
|
${TESTSRCDIR}/tst/common/sysevent/tst.post.d \
|
|
${TESTSRCDIR}/tst/common/sysevent/tst.post_chan.c \
|
|
${TESTSRCDIR}/tst/common/sysevent/tst.post_chan.d \
|
|
${TESTSRCDIR}/tst/common/trace/tst.misc.d \
|
|
${TESTSRCDIR}/tst/common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d \
|
|
${TESTSRCDIR}/tst/common/tracemem/tst.rootvp.d \
|
|
${TESTSRCDIR}/tst/common/translators/tst.ProcModelTrans.d \
|
|
${TESTSRCDIR}/tst/common/types/err.D_XLATE_REDECL.ResultDynType.d\
|
|
${TESTSRCDIR}/tst/common/types/tst.ptrops.d \
|
|
${TESTSRCDIR}/tst/common/types/tst.struct.d \
|
|
${TESTSRCDIR}/tst/common/types/tst.typedef.d \
|
|
${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \
|
|
${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.argmap.c \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.args.c \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.forker.c \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4localtcp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4localudp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4remotetcp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4remoteudp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.localtcpstate.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.remotetcpstate.ksh \
|
|
${TESTSRCDIR}/tst/common/scripting/tst.projid.ksh \
|
|
${TESTSRCDIR}/tst/common/scripting/tst.taskid.ksh
|
|
|
|
|
|
|
|
NOTWORK+= \
|
|
${TESTSRCDIR}/tst/common/io/tst.fds.d \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.Abort.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.Bean.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.Close.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.Drop.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.Enable.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.FunctionLookup.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.GetAggregate.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.MaxConsumers.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.MultiAggPrinta.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.ProbeData.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.ProbeDescription.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.StateMachine.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.StopLock.ksh \
|
|
${TESTSRCDIR}/tst/common/java_api/tst.printa.d \
|
|
${TESTSRCDIR}/tst/common/lexer/err.D_CHR_NL.char.d \
|
|
${TESTSRCDIR}/tst/common/lexer/err.D_STR_NL.string.d \
|
|
${TESTSRCDIR}/tst/common/mdb/tst.dtracedcmd.ksh \
|
|
${TESTSRCDIR}/tst/common/mib/tst.icmp.ksh \
|
|
${TESTSRCDIR}/tst/common/mib/tst.tcp.ksh \
|
|
${TESTSRCDIR}/tst/common/mib/tst.udp.ksh \
|
|
${TESTSRCDIR}/tst/common/profile-n/tst.func.ksh \
|
|
${TESTSRCDIR}/tst/common/profile-n/tst.mod.ksh \
|
|
${TESTSRCDIR}/tst/common/profile-n/tst.sym.ksh \
|
|
${TESTSRCDIR}/tst/common/safety/tst.basename.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.caller.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.cleanpath.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.copyin.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.copyin2.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.ddi_pathname.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.dirname.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.errno.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.execname.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.gid.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.hton.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.index.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.msgdsize.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.msgsize.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.null.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.pid.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.ppid.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.progenyof.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.random.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.rw.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.shortstr.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.stack.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.stackdepth.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.stddev.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.strchr.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.strjoin.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.strstr.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.strtok.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.substr.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.ucaller.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.uid.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.unalign.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.ustack.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.ustackdepth.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.vahole.d \
|
|
${TESTSRCDIR}/tst/common/safety/tst.violentdeath.ksh \
|
|
${TESTSRCDIR}/tst/common/safety/tst.zonename.d \
|
|
${TESTSRCDIR}/tst/common/sched/tst.enqueue.d \
|
|
${TESTSRCDIR}/tst/common/sched/tst.oncpu.d \
|
|
${TESTSRCDIR}/tst/common/sched/tst.stackdepth.d \
|
|
${TESTSRCDIR}/tst/common/usdt/argmap.d \
|
|
${TESTSRCDIR}/tst/common/usdt/args.d \
|
|
${TESTSRCDIR}/tst/common/usdt/forker.d \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.andpid.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.argmap.d \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.args.d \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.badguess.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.dlclose1.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.dlclose2.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.dlclose3.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.eliminate.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.enabled.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.entryreturn.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.fork.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.forker.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.guess32.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.guess64.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.header.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.include.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.linkpriv.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.linkunpriv.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.multiple.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.nodtrace.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.onlyenabled.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.reeval.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.static.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.static2.ksh \
|
|
${TESTSRCDIR}/tst/common/usdt/tst.user.ksh \
|
|
${TESTSRCDIR}/tst/common/misc/tst.schrock.ksh
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Tests that just don't complete (even to fail) at the moment...
|
|
|
|
NOTWORK+= \
|
|
${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroModuleProbes.d.ksh \
|
|
${TESTSRCDIR}/tst/common/printa/tst.many.d \
|
|
${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupgtype.d \
|
|
${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupltype.d \
|
|
${TESTSRCDIR}/tst/common/scalars/err.D_OP_INCOMPAT.dupttype.d \
|
|
${TESTSRCDIR}/tst/common/vars/tst.gid.d \
|
|
${TESTSRCDIR}/tst/common/vars/tst.uid.d \
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Tests that currently hang the system:
|
|
|
|
NOTWORK+= \
|
|
${TESTSRCDIR}/tst/common/fbtprovider/tst.basic.d \
|
|
${TESTSRCDIR}/tst/common/fbtprovider/tst.return.d \
|
|
${TESTSRCDIR}/tst/common/grammar/tst.stmts.d \
|
|
${TESTSRCDIR}/tst/common/misc/tst.enablerace.ksh \
|
|
${TESTSRCDIR}/tst/common/predicates/tst.predcache.ksh \
|
|
${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh \
|
|
|
|
.if ${MACHINE_ARCH} == "i386"
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel64.d.ksh
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel64.d.ksh
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# This test causes i386 to go kaboom in a big way. There is a problem in the
|
|
# fbt exception code which needs to be fixed.
|
|
|
|
NOTWORK+= \
|
|
${TESTSRCDIR}/tst/common/fbtprovider/tst.tailcall.d
|
|
|
|
# Some tests that don't complete on i386.... :-/
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/funcs/tst.chill.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.create.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exec.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.execfail.ENOENT.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.execfail.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitcore.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitexit.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.exitkilled.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.signal.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.sigwait.c
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.sigwait.d
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/proc/tst.startexit.ksh
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/struct/tst.StructDataTypes.d
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/union/tst.UnionDataTypes.d
|
|
|
|
.endif
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Interrupt priority isn't relevant on FreeBSD.
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/builtinvar/tst.ipl.d \
|
|
${TESTSRCDIR}/tst/common/builtinvar/tst.ipl1.d
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# These tests relies on the Solaris ping behaviour of exiting after a number of
|
|
# pings. On FreeBSD ping doesn't do that.
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/funcs/tst.system.d \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv6remoteicmp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv6localicmp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4localicmp.ksh \
|
|
${TESTSRCDIR}/tst/common/ip/tst.ipv4remoteicmp.ksh
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# This test checks for a leading tab on a line before #define. That is illegal
|
|
# on Solaris, but the gcc pre-processor on FreeBSD is happy with code like that.
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# This test is coded to use Solaris syscall names. FreeBSD has none with 'lwp"
|
|
# in them, so the test fails because of that.
|
|
|
|
NOTWORK+= ${TESTSRCDIR}/tst/common/probes/tst.probestar.d
|
|
|
|
NOTYET= ${IGNORE} ${NOTWORK}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Only prepare the test lists if we need to:
|
|
|
|
.if !make(obj) && !make(clean) && !make(cleandir) && !make(listerrors)
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Get a list of tests, named according to the directory they are in:
|
|
|
|
_COMMONDIRS!= cd ${TESTSRCDIR}/tst/common; find . -depth 1 -type d
|
|
COMMONDIRS= ${_COMMONDIRS:S/.\///}
|
|
|
|
listtests :
|
|
@echo ${COMMONDIRS}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Create a test target for each directory:
|
|
|
|
ALL_TESTFILES=
|
|
|
|
# Process each common test directory:
|
|
.for _d in ${COMMONDIRS}
|
|
|
|
# Get a list of test files in the test directory:
|
|
${_d}_ERR!= find ${TESTSRCDIR}/tst/common/${_d} -name "err.*.d"
|
|
${_d}_TSTD!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.d"
|
|
${_d}_TSTC!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.c"
|
|
${_d}_SHERR!= find ${TESTSRCDIR}/tst/common/${_d} -name "err.*.ksh"
|
|
${_d}_SHTST!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.ksh"
|
|
${_d}_EXE!= find ${TESTSRCDIR}/tst/common/${_d} -name "tst.*.exe" -o \
|
|
-name "err.*.exe"
|
|
${_d}_TF= ${${_d}_ERR} ${${_d}_TSTD} ${${_d}_SHERR} ${${_d}_SHTST}
|
|
|
|
# Go through the list of test files and prepare another list that contains
|
|
# none of the test files listed in the NOTYET list:
|
|
.for _f in ${${_d}_TF}
|
|
.if (${NOTYET:M${_f}} == "")
|
|
${_d}_TFS+= ${_f}
|
|
.endif
|
|
.endfor
|
|
|
|
# Add the list of tests to the overall test list:
|
|
ALL_TESTFILES+= ${${_d}_TFS}
|
|
|
|
.for _f in ${${_d}_TSTC}
|
|
.if (${NOTYET:M${_f}} == "")
|
|
${_d}_TFCS+= ${_f}
|
|
.endif
|
|
.endfor
|
|
|
|
ALL_TESTCFILES+= ${${_d}_TFCS}
|
|
ALL_TESTEXEFILES+= ${${_d}_EXE}
|
|
|
|
${_d} : ${${_d}_TFCS:T:S/c$/exe/} ${${_d}_EXE:T}
|
|
@${DTEST} ${${_d}_TFS}
|
|
.endfor
|
|
|
|
# --------------------------------------------------------------------------------
|
|
#
|
|
|
|
PRGS= ${ALL_TESTCFILES:T:S/c$/exe/} ${ALL_TESTEXEFILES:T}
|
|
|
|
listprgs :
|
|
@echo ${PRGS}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
#
|
|
|
|
.for _f in ${ALL_TESTCFILES}
|
|
${_f:T:S/c$/exe/} : ${_f}
|
|
gcc -o ${.TARGET} ${_f} -lrt
|
|
.endfor
|
|
|
|
.for _f in ${ALL_TESTEXEFILES}
|
|
${_f:T} : ${_f}
|
|
cp -f ${_f} ${.TARGET}
|
|
chmod a+x ${.TARGET}
|
|
.endfor
|
|
|
|
listcfiles :
|
|
@echo ${ALL_TESTCFILES}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# A target to build all tests:
|
|
|
|
all : ${PRGS}
|
|
@sync; sync; sync; sync; sync
|
|
@${DTEST} ${ALL_TESTFILES}
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# A target to build the tests flagged as not working yet:
|
|
|
|
ignore :
|
|
@${DTEST} ${IGNORE}
|
|
|
|
.endif
|
|
|
|
listerrors :
|
|
@find ${.OBJDIR} -name "*.err" -exec cat {} \; -print
|
|
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Test failures are written to failure.N directories in the object tree.
|
|
# Get a list of directories in the object tree for 'make clean'.
|
|
|
|
.if ${.OBJDIR} != ${.CURDIR} && !empty(${.OBJDIR})
|
|
CLEANDIRS!= cd ${.OBJDIR} && ls -d *
|
|
.endif
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Insist on using an object directory. Things get messy otherwsie.
|
|
|
|
.if ${.OBJDIR} == ${.CURDIR} && !make(obj) && !make(clean) && !make(cleandir)
|
|
.error ERROR: You must run 'make obj' first!
|
|
.endif
|
|
|
|
# --------------------------------------------------------------------------------
|
|
# Load the DTrace module set if necessary.
|
|
|
|
.BEGIN :
|
|
@if ! kldstat -q -m dtrace_test; then kldload dtrace_test; fi
|
|
|
|
.include <bsd.obj.mk>
|
|
|