1# $FreeBSD$
2
3# This file lists DTrace tests which are known to fail or hang/crash the
4# system. They were pulled from the legacy DTrace test infrastructure in
5# tools/tests/dtrace and may be out of date.
6#
7# Tests are listed here generally because one or more of the following is true:
8#
9# 1) The test is broken (usually because it assumes it's running on Solaris and
10#    the test encodes some sort of Solarisism).
11# 2) The functionality being tested is buggy (often but not always the result
12#    of a FreeBSD-specific bug).
13# 3) The test relies on DTrace functionality that's not yet available in FreeBSD
14#    (e.g. tests for a specific SDT provider that we don't have).
15#
16# An end goal is to remove this file, concentrating first on instances of
17# 1) and 2).
18#
19# The SKIP variable contains tests that should not be executed at all. The
20# EXFAIL variable contains tests that are expected to fail when run. The
21# SKIPCI variable contains tests that are flakey and should not be executed in
22# the CI environment. Please avoid adding tests to SKIP unless it really is
23# necessary; with EXFAIL, tests that begin passing as the result of a change
24# are visible in the test summary.
25
26exclude()
27{
28    case $2 in
29    # Handle globbing later
30    *"*"*) ;;
31    # No globbing needed
32    *)
33        eval $1=\"\$$1\\n$2\"
34        return
35        ;;
36    esac
37    for file in ${TESTBASE}/${2}; do
38        case ${file} in
39            # Invalid glob
40            "${TESTBASE}/${2}") echo "Invalid exclude for $2" >&2; exit 1; ;;
41        esac
42        exclude "$1" "${file##${TESTBASE}/}"
43    done
44}
45
46exclude EXFAIL common/aggs/tst.subr.d
47exclude EXFAIL common/dtraceUtil/tst.ELFGenerationOut.d.ksh
48exclude EXFAIL common/dtraceUtil/tst.ELFGenerationWithO.d.ksh
49exclude EXFAIL common/funcs/tst.copyin.d
50exclude EXFAIL common/funcs/tst.copyinto.d
51exclude EXFAIL common/funcs/tst.ddi_pathname.d
52exclude EXFAIL common/io/tst.fds.d
53exclude EXFAIL common/mdb/tst.dtracedcmd.ksh
54exclude EXFAIL common/misc/tst.dofmax.ksh
55exclude EXFAIL common/misc/tst.include.ksh
56exclude EXFAIL common/safety/tst.copyin2.d
57exclude EXFAIL common/safety/tst.msgdsize.d
58exclude EXFAIL common/safety/tst.msgsize.d
59exclude EXFAIL common/scalars/tst.misc.d
60exclude EXFAIL common/scalars/tst.selfarray2.d
61exclude EXFAIL common/sched/tst.enqueue.d
62exclude EXFAIL common/speculation/tst.SpecSizeVariations3.d
63exclude EXFAIL common/tracemem/err.D_TRACEMEM_ADDR.badaddr.d
64exclude EXFAIL common/translators/tst.TestTransStability2.ksh
65exclude EXFAIL common/types/tst.struct.d
66exclude EXFAIL common/types/tst.typedef.d
67
68# We don't have a cpc provider.
69exclude SKIP common/cpc/err.D_PDESC_ZERO.lowfrequency.d
70exclude SKIP common/cpc/err.D_PDESC_ZERO.malformedoverflow.d
71exclude SKIP common/cpc/err.D_PDESC_ZERO.nonexistentevent.d
72exclude SKIP common/cpc/err.cpcvscpustatpart1.ksh
73exclude SKIP common/cpc/err.cpcvscpustatpart2.ksh
74exclude SKIP common/cpc/err.cputrackfailtostart.ksh
75exclude SKIP common/cpc/err.cputrackterminates.ksh
76exclude SKIP common/cpc/err.toomanyenablings.d
77exclude SKIP common/cpc/tst.allcpus.ksh
78exclude SKIP common/cpc/tst.genericevent.d
79exclude SKIP common/cpc/tst.platformevent.ksh
80
81# We don't have a mib provider.
82exclude EXFAIL common/mib/tst.icmp.ksh
83exclude EXFAIL common/mib/tst.tcp.ksh
84exclude EXFAIL common/mib/tst.udp.ksh
85
86# At the moment dtrace(1) always needs to run as root.
87exclude SKIP common/privs/tst.fds.ksh
88exclude SKIP common/privs/tst.func_access.ksh
89exclude SKIP common/privs/tst.getf.ksh
90exclude SKIP common/privs/tst.kpriv.ksh
91exclude SKIP common/privs/tst.op_access.ksh
92exclude SKIP common/privs/tst.procpriv.ksh
93exclude SKIP common/privs/tst.providers.ksh
94exclude SKIP common/privs/tst.unpriv_funcs.ksh
95
96# These tests hang for reasons unknown.
97exclude SKIP common/buffering/tst.ring3.d
98exclude SKIP common/funcs/tst.chill.ksh
99exclude SKIP common/funcs/tst.index.d
100
101# No Java support at the moment.
102exclude EXFAIL common/java_api/tst.Abort.ksh
103exclude EXFAIL common/java_api/tst.Bean.ksh
104exclude EXFAIL common/java_api/tst.Close.ksh
105exclude EXFAIL common/java_api/tst.Drop.ksh
106exclude EXFAIL common/java_api/tst.Enable.ksh
107exclude EXFAIL common/java_api/tst.FunctionLookup.ksh
108exclude EXFAIL common/java_api/tst.GetAggregate.ksh
109exclude EXFAIL common/java_api/tst.MaxConsumers.ksh
110exclude EXFAIL common/java_api/tst.MultiAggPrinta.ksh
111exclude EXFAIL common/java_api/tst.ProbeData.ksh
112exclude EXFAIL common/java_api/tst.ProbeDescription.ksh
113exclude EXFAIL common/java_api/tst.StateMachine.ksh
114exclude EXFAIL common/java_api/tst.StopLock.ksh
115
116# Expects specific formatting from banner(6).
117exclude EXFAIL common/aggs/tst.aggpackbanner.ksh
118
119# Test assumes we're running on a Solaris kernel.
120exclude EXFAIL common/misc/tst.roch.d
121exclude EXFAIL common/predicates/tst.argsnotcached.d
122exclude EXFAIL common/safety/tst.vahole.d
123
124# Tests that depend on the plockstat provider.
125exclude EXFAIL common/plockstat/tst.available.d
126exclude EXFAIL common/plockstat/tst.libmap.d
127exclude EXFAIL common/usdt/tst.andpid.ksh
128
129# Depends on java.
130exclude SKIP common/drops/drp.DTRACEDROP_STKSTROVERFLOW.d
131
132# Interrupt priority isn't relevant on FreeBSD.
133exclude SKIP common/builtinvar/tst.ipl.d
134exclude SKIP common/builtinvar/tst.ipl1.d
135
136# These tests rely on being able to find a host via broadcast pings.
137exclude EXFAIL common/ip/tst.ipv4remotesctp.ksh
138exclude EXFAIL common/ip/tst.ipv4remotetcp.ksh
139exclude EXFAIL common/ip/tst.ipv4remoteudp.ksh
140exclude EXFAIL common/ip/tst.ipv4remoteudplite.ksh
141exclude EXFAIL common/ip/tst.ipv6remoteicmp.ksh
142exclude EXFAIL common/ip/tst.ipv4remoteicmp.ksh
143exclude EXFAIL common/ip/tst.remotesctpstate.ksh
144exclude EXFAIL common/ip/tst.remotetcpstate.ksh
145
146# Tries to enable pid$target:libc::entry, though there's no "libc" module.
147# Currently unsure as to whether this might be a libproc bug.
148exclude EXFAIL common/pid/tst.probemod.ksh
149
150# Assumes date(1) has a pid$target::main:return probe.
151exclude EXFAIL common/pid/tst.newprobes.ksh
152
153# libproc+librtld_db don't handle dlopen(2) yet.
154exclude EXFAIL common/pid/tst.provregex2.ksh
155exclude EXFAIL common/pid/tst.provregex4.ksh
156
157# This test appears to be invalid. dtrace is supposed to press on if a
158# depends_on pragma cannot be satisfied, per the comment above
159# dt_load_libs_dir() in libdtrace.
160exclude EXFAIL common/pragma/err.invalidlibdep.ksh
161
162# This test checks for a leading tab on a line before #define. That is illegal
163# on Solaris, but the clang pre-processor on FreeBSD is happy with code like
164# that.
165exclude EXFAIL common/preprocessor/err.D_PRAGCTL_INVAL.tabdefine.d
166
167# This test uses proc:::signal-handle, which we don't appear to have.
168exclude EXFAIL common/proc/tst.signal.ksh
169
170# This test uses proc:::lwp-start, which we don't appear to have.
171exclude EXFAIL common/proc/tst.startexit.ksh
172
173# This test causes a panic at the moment because fbt instruments the lock class'
174# lc_owned method.
175exclude SKIP common/safety/tst.rw.d
176
177# Depends on some implementation details of the runtime linker.
178exclude EXFAIL common/vars/tst.ucaller.ksh
179
180# These rely on process attributes that FreeBSD doesn't carry.
181exclude EXFAIL common/scripting/tst.projid.ksh
182exclude EXFAIL common/scripting/tst.taskid.ksh
183
184# Depends on tst.chasestrings.exe being ELF32. See r326181 and r326285.
185exclude EXFAIL common/uctf/err.user64mode.ksh
186
187# This test expects its test program to be installed without CTF data, but
188# the rest of the programs for this feature need CTF data. Not yet sure how
189# to build that.
190exclude EXFAIL common/uctf/tst.libtype.ksh
191
192# libproc doesn't have linkmap support yet.
193exclude EXFAIL common/uctf/tst.linkmap.ksh
194
195# Uses Sun-specific compiler options.
196exclude EXFAIL common/usdt/tst.badguess.ksh
197exclude EXFAIL common/usdt/tst.guess32.ksh
198exclude EXFAIL common/usdt/tst.guess64.ksh
199
200# Depends on non-standard static linker behaviour.
201exclude EXFAIL common/usdt/tst.eliminate.ksh
202
203# Generated headers include <sys/sdt.h>, so _DTRACE_VERSION is always defined.
204exclude EXFAIL common/usdt/tst.nodtrace.ksh
205
206# Uses the Solaris-specific ppriv(1).
207exclude EXFAIL common/usdt/tst.user.ksh
208
209# Triggers a lock assertion by using the raise() action from a profile probe.
210exclude SKIP common/ustack/tst.spin.ksh
211
212# https://bugs.freebsd.org/237641
213exclude SKIPCI common/misc/tst.dynopt.d
214