summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorjb <jb@FreeBSD.org>2008-05-17 02:09:48 +0000
committerjb <jb@FreeBSD.org>2008-05-17 02:09:48 +0000
commit5d0f190f8ab068a56fbf1e5f41085e7e74ccb2cf (patch)
tree32624c3a27a6f1e4eca8daf826550f6b5d65a07b /tools
parent6b800eb94c3bd18d01e684d5dcd776b3ff70a710 (diff)
downloadFreeBSD-src-5d0f190f8ab068a56fbf1e5f41085e7e74ccb2cf.zip
FreeBSD-src-5d0f190f8ab068a56fbf1e5f41085e7e74ccb2cf.tar.gz
Add the DTrace test makefile for the test suite distributed in OpenSolaris.
Diffstat (limited to 'tools')
-rw-r--r--tools/test/README1
-rw-r--r--tools/test/dtrace/Makefile455
2 files changed, 456 insertions, 0 deletions
diff --git a/tools/test/README b/tools/test/README
index aacc781..f16e215 100644
--- a/tools/test/README
+++ b/tools/test/README
@@ -8,5 +8,6 @@ and try to break it and/or measuring performance on it.
Please make a subdir per program, and add a brief description to this file.
devrandom Programs to test /dev/*random.
+dtrace DTrace test suite
malloc A program to test and benchmark malloc().
posixshm A program to test POSIX shared memory.
diff --git a/tools/test/dtrace/Makefile b/tools/test/dtrace/Makefile
new file mode 100644
index 0000000..8ad8e62
--- /dev/null
+++ b/tools/test/dtrace/Makefile
@@ -0,0 +1,455 @@
+# $FreeBSD$
+
+TESTSRCDIR= ${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/dtrace/test
+DTEST= ${TESTSRCDIR}/cmd/scripts/dtest.pl -n
+
+IGNORE= \
+ ${TESTSRCDIR}/tst/common/arrays/err.D_IDENT_UNDEF.badureg.d \
+ ${TESTSRCDIR}/tst/common/printa/err.D_PRINTF_ARG_TYPE.jstack.d \
+ ${TESTSRCDIR}/tst/common/printa/err.D_PRINTF_ARG_TYPE.ustack.d \
+ ${TESTSRCDIR}/tst/common/printa/tst.stack.d \
+ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_FRAMES.bad.d \
+ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_PROTO.bad.d \
+ ${TESTSRCDIR}/tst/common/stack/err.D_USTACK_STRSIZE.bad.d \
+ ${TESTSRCDIR}/tst/common/stop/tst.stop1.d \
+ ${TESTSRCDIR}/tst/common/aggs/tst.subr.d \
+ ${TESTSRCDIR}/tst/common/aggs/tst.signature.d \
+ ${TESTSRCDIR}/tst/common/arrays/tst.uregsarray.d \
+ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupgtype.d \
+ ${TESTSRCDIR}/tst/common/assocs/err.D_OP_INCOMPAT.dupttype.d \
+ ${TESTSRCDIR}/tst/common/assocs/tst.orthogonality.d \
+ ${TESTSRCDIR}/tst/common/buffering/tst.cputime.ksh \
+ ${TESTSRCDIR}/tst/common/buffering/tst.ring3.d \
+ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo.d \
+ ${TESTSRCDIR}/tst/common/builtinvar/tst.psinfo1.d \
+ ${TESTSRCDIR}/tst/common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/err.D_PDESC_ZERO.InvalidDescription1.d \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DataModel32.d.ksh \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithFunction.d.ksh \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.DestructWithModule.d.ksh \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.PreprocessorStatement.d.ksh \
+ ${TESTSRCDIR}/tst/common/dtraceUtil/tst.ZeroFunctionProbes.d.ksh \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_ARG.mobadarg.d \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoofew.d \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.motoomany.d \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtabadarg.d \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoofew.d \
+ ${TESTSRCDIR}/tst/common/funcs/err.D_PROTO_LEN.mtatoomany.d \
+ ${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/inline/err.D_OP_INCOMPAT.badxlate.d \
+ ${TESTSRCDIR}/tst/common/inline/tst.InlineDataAssign.d \
+ ${TESTSRCDIR}/tst/common/inline/tst.InlineExpression.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}/tst/common/misc/tst.dynopt.d \
+ ${TESTSRCDIR}/tst/common/misc/tst.include.ksh \
+ ${TESTSRCDIR}/tst/common/misc/tst.roch.d \
+ ${TESTSRCDIR}/tst/common/misc/tst.schrock.ksh \
+ ${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/pid/err.D_PDESC_ZERO.badlib.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PDESC_ZERO.badproc1.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_BADPID.badproc2.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_CREATEFAIL.many.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_FUNC.badfunc.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_LIB.libdash.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_NAME.alldash.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_NAME.badname.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_NAME.globdash.d \
+ ${TESTSRCDIR}/tst/common/pid/err.D_PROC_OFF.toobig.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.addprobes.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.args1.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.args1.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.coverage.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.emptystack.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.float.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.float.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.fork.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.fork.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.gcc.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.gcc.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.main.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.manypids.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.probemod.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.provregex1.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.provregex2.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.provregex3.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.provregex4.ksh \
+ ${TESTSRCDIR}/tst/common/pid/tst.ret1.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.ret1.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.ret2.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.ret2.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.vfork.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.vfork.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.weak1.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.weak1.d \
+ ${TESTSRCDIR}/tst/common/pid/tst.weak2.c \
+ ${TESTSRCDIR}/tst/common/pid/tst.weak2.d \
+ ${TESTSRCDIR}/tst/common/plockstat/tst.available.d \
+ ${TESTSRCDIR}/tst/common/plockstat/tst.libmap.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/printa/tst.walltimestamp.ksh \
+ ${TESTSRCDIR}/tst/common/printf/tst.basics.d \
+ ${TESTSRCDIR}/tst/common/printf/tst.printT.ksh \
+ ${TESTSRCDIR}/tst/common/printf/tst.printY.ksh \
+ ${TESTSRCDIR}/tst/common/printf/tst.str.d \
+ ${TESTSRCDIR}/tst/common/printf/tst.sym.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/profile-n/tst.ufuncsort.c \
+ ${TESTSRCDIR}/tst/common/scalars/tst.misc.d \
+ ${TESTSRCDIR}/tst/common/scalars/tst.selfarray2.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_MACRO_UNDEF.invalidargs.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_OP_LVAL.rdonly.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_OP_WRITE.usepidmacro.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.concat.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.desc.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.inval.d \
+ ${TESTSRCDIR}/tst/common/scripting/err.D_SYNTAX.pid.d \
+ ${TESTSRCDIR}/tst/common/scripting/tst.arguments.ksh \
+ ${TESTSRCDIR}/tst/common/scripting/tst.egid.ksh \
+ ${TESTSRCDIR}/tst/common/scripting/tst.gid.ksh \
+ ${TESTSRCDIR}/tst/common/scripting/tst.projid.ksh \
+ ${TESTSRCDIR}/tst/common/scripting/tst.taskid.ksh \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithBreakPoint.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithChill.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOut.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithCopyOutStr.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithPanic.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithRaise.d \
+ ${TESTSRCDIR}/tst/common/speculation/err.D_ACT_SPEC.SpeculateWithStop.d \
+ ${TESTSRCDIR}/tst/common/syscall/tst.args.c \
+ ${TESTSRCDIR}/tst/common/syscall/tst.args.d \
+ ${TESTSRCDIR}/tst/common/syscall/tst.openret.ksh \
+ ${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/usdt/tst.argmap.c \
+ ${TESTSRCDIR}/tst/common/usdt/tst.args.c \
+ ${TESTSRCDIR}/tst/common/usdt/tst.forker.c \
+ ${TESTSRCDIR}/tst/common/ustack/tst.bigstack.c \
+ ${TESTSRCDIR}/tst/common/ustack/tst.spin.c \
+ ${TESTSRCDIR}/tst/common/vars/tst.ppid.d \
+ ${TESTSRCDIR}/tst/common/vars/tst.ucaller.ksh \
+ ${TESTSRCDIR}/tst/common/vars/tst.walltimestamp.d \
+
+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.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/profile-n/tst.ufunc.ksh \
+ ${TESTSRCDIR}/tst/common/profile-n/tst.ufuncsort.ksh \
+ ${TESTSRCDIR}/tst/common/profile-n/tst.umod.ksh \
+ ${TESTSRCDIR}/tst/common/profile-n/tst.usym.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.uregs.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/ustack/tst.bigstack.d \
+ ${TESTSRCDIR}/tst/common/ustack/tst.depth.ksh \
+ ${TESTSRCDIR}/tst/common/ustack/tst.spin.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
+
+# --------------------------------------------------------------------------------
+# This test 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
+
+# --------------------------------------------------------------------------------
+# 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}_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}
+
+${_d} : ${${_d}_TFCS:T:S/c$/exe/}
+ @${DTEST} ${${_d}_TFS}
+.endfor
+
+# --------------------------------------------------------------------------------
+#
+
+PRGS= ${ALL_TESTCFILES:T:S/c$/exe/}
+
+listprgs :
+ @echo ${PRGS}
+
+# --------------------------------------------------------------------------------
+#
+
+.for _f in ${ALL_TESTCFILES}
+${_f:T:S/c$/exe/} : ${_f}
+ gcc -o ${.TARGET} ${_f} -lrt
+.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>
+
OpenPOWER on IntegriCloud