1# List of test files to ignore/skip for deparse tests.
2#
3# This is used by t/TEST.
4#
5# Those under DEPARSE_FAILURES are ones that we need to fix or
6# we expect to fail. These tests will still be run and checked to
7# see if they fail as expected.
8#
9# Those under DEPARSE_SKIPS we don't want to even attempt running
10# because they might do bad things to our system (memory exhaustion,
11# etc), so they will be completely skipped from the test run.
12#
13# Paths are relative from t/
14#
15# Paths that end with '/' are directories to skip entirely
16#
17# Format:
18#   __DEPARSE_FAILURES__
19#   ../path/to/test1
20#   ../path/to/test2
21#   ../dir/to/skip/
22#
23#   __DEPARSE_SKIPS__
24#   ../path/to/test3
25#   ../path/to/test4
26#
27#   # This is a comment
28#   ../path/to/test5 # More comments at end of line
29#
30#   # Blank lines okay
31
32__DEPARSE_FAILURES__
33
34base/lex.t                # checks regexp stringification
35# class/*.t generally failing because OP_METHSTART not recognised
36class/accessor.t
37class/class.t
38class/construct.t
39class/destruct.t
40class/field.t
41class/inherit.t
42class/method.t
43class/phasers.t
44class/threads.t
45class/utf8.t
46
47#
48comp/final_line_num.t     # tests syntax error after BEGIN block
49comp/fold.t               # mutability of folded constants
50comp/parser.t             # crazy #line directives ==> shell syntax errors
51mro/basic_01_c3_utf8.t
52mro/basic_01_dfs_utf8.t
53mro/complex_c3_utf8.t
54mro/isarev.t
55mro/isarev_utf8.t
56op/attrhand.t             # Custom attrs ignored; also AH provides none
57op/goto.t
58op/gv.t                   # glob copy constants
59op/index.t
60op/join.t                 # mutability of folded constants
61op/length.t               # utf8ness of deparsed strings
62op/lexsub.t
63op/local.t
64op/lvref.t
65op/overload_integer.t
66op/override.t
67op/pack.t
68op/postfixderef.t
69op/range.t
70op/readline.t
71op/srand.t
72op/sub_lval.t
73op/sub.t
74op/switch.t
75op/symbolcache.t
76op/taint.t
77op/undef.t                # keys%{($h=undef)||{}} becomes keys%{{} unless .. }
78op/vec.t
79op/warn.t
80op/write.t
81perf/opcount.t            # keys%{($h=undef)||{}} becomes keys%{{} unless .. }
82porting/globvar.t
83re/overload.t             # [perl #123385] %^H output
84re/pat_advanced.t         # [perl #123417]
85re/pat_rt_report.t        # malformed utf8 constant; also /\c@/ -> /\c\@/
86re/pat.t                  # [perl #90590]
87re/pat_re_eval.t          # the new /(*{...})/ forms don't deparse
88re/regex_sets.t
89re/reg_fold.t             # [perl #123385] %^H output
90re/rxcode.t               # checks regexp stringification
91re/subst.t
92run/switchd-78586.t       # -I on #! line is not deparsed
93run/switchI.t             # -I on #! line is not deparsed
94uni/attrs.t
95uni/bless.t
96uni/gv.t
97uni/labels.t
98uni/lex_utf8.t
99uni/method.t
100uni/package.t
101uni/parser.t
102uni/readline.t
103uni/select.t
104uni/stash.t
105uni/tie.t
106uni/universal.t
107uni/variables.t
108../cpan/Archive-Tar/t/03_file.t         # constant sub ref: FOO->()
109
110# Most autodie tests currently fail under Deparse because
111# the %^H initialisation values are stringifed refs rather
112# than real refs.
113../cpan/autodie/t/autodie.t
114../cpan/autodie/t/basic_exceptions.t
115../cpan/autodie/t/binmode.t
116../cpan/autodie/t/blog_hints.t
117../cpan/autodie/t/caller.t
118../cpan/autodie/t/chmod.t
119../cpan/autodie/t/chown.t
120../cpan/autodie/t/context_lexical.t
121../cpan/autodie/t/context.t
122../cpan/autodie/t/crickey.t
123../cpan/autodie/t/dbmopen.t
124../cpan/autodie/t/eval_error.t
125../cpan/autodie/t/exception_class.t
126../cpan/autodie/t/exception_nonref.t
127../cpan/autodie/t/exceptions-smartmatch.t
128../cpan/autodie/t/exec.t
129../cpan/autodie/t/filehandles.t
130../cpan/autodie/t/fileno.t
131../cpan/autodie/t/hints_insist.t
132../cpan/autodie/t/hints_pod_examples.t
133../cpan/autodie/t/hints_provider_does.t
134../cpan/autodie/t/hints_provider_easy_does_it.t
135../cpan/autodie/t/hints_provider_isa.t
136../cpan/autodie/t/hints.t
137../cpan/autodie/t/internal.t
138../cpan/autodie/t/kill.t
139../cpan/autodie/t/lethal.t
140../cpan/autodie/t/mkdir.t
141../cpan/autodie/t/no-default.t
142../cpan/autodie/t/open.t
143../cpan/autodie/t/read.t
144../cpan/autodie/t/recv.t
145../cpan/autodie/t/repeat.t
146../cpan/autodie/t/scope_leak.t
147../cpan/autodie/t/sysopen.t
148../cpan/autodie/t/truncate.t
149../cpan/autodie/t/unlink.t
150../cpan/autodie/t/user-context.t
151../cpan/autodie/t/usersub.t
152../cpan/autodie/t/utf8_open.t
153../cpan/autodie/t/utime.t
154../cpan/autodie/t/version_tag.t
155
156../cpan/AutoLoader/t/01AutoLoader.t
157
158
159# -------------
160#
161# The big*/Big* modules generally fail because the code references in
162# user-defined hints get stringified when deparsed, e.g.
163#
164#    BEGIN {
165#        $^H{'binary'} = 'CODE(0x21158a0)';
166#        $^H{'float'} = 'CODE(0x1a6ab18)';
167#        $^H{'integer'} = 'CODE(0x1a6abc0)';
168#    }
169
170../cpan/bignum/t/bigexp.t
171../cpan/bignum/t/bigfloat.t
172../cpan/bignum/t/bigint.t
173../cpan/bignum/t/bignum.t
174../cpan/bignum/t/bigrat.t
175../cpan/bignum/t/const-bigfloat.t
176../cpan/bignum/t/const-bigint.t
177../cpan/bignum/t/const-bignum.t
178../cpan/bignum/t/const-bigrat.t
179../cpan/bignum/t/down-mbi-up-mbf.t
180../cpan/bignum/t/down-mbi-up-mbr.t
181../cpan/bignum/t/down-mbi-up-undef.t
182../cpan/bignum/t/down-undef-up-mbf.t
183../cpan/bignum/t/e_pi-bigfloat.t
184../cpan/bignum/t/e_pi-bigint.t
185../cpan/bignum/t/e_pi-bignum.t
186../cpan/bignum/t/e_pi-bigrat.t
187../cpan/bignum/t/import-bigfloat.t
188../cpan/bignum/t/import-bigint.t
189../cpan/bignum/t/import-bignum.t
190../cpan/bignum/t/import-bigrat.t
191../cpan/bignum/t/in_effect.t
192../cpan/bignum/t/infnan-bigfloat.t
193../cpan/bignum/t/infnan-bigint.t
194../cpan/bignum/t/infnan-bignum-mbf.t
195../cpan/bignum/t/infnan-bignum-mbr.t
196../cpan/bignum/t/infnan-bigrat.t
197../cpan/bignum/t/option_a-bignum.t
198../cpan/bignum/t/option_a.t
199../cpan/bignum/t/option_l-bigfloat.t
200../cpan/bignum/t/option_l-bigint.t
201../cpan/bignum/t/option_l-bignum.t
202../cpan/bignum/t/option_l-bigrat.t
203../cpan/bignum/t/option_p-bignum.t
204../cpan/bignum/t/option_p.t
205../cpan/bignum/t/overrides.t
206../cpan/bignum/t/ratopt_a.t
207../cpan/bignum/t/scope-bigfloat.t
208../cpan/bignum/t/scope-bigint.t
209../cpan/bignum/t/scope-bignum.t
210../cpan/bignum/t/scope-bigrat.t
211
212# -------------
213
214
215# This one does a plan('skip_all') in a BEGIN block, which stops the rest
216# of the test file from being compiled
217../cpan/ExtUtils-MakeMaker/t/MM_VMS.t
218
219../cpan/Scalar-List-Utils/t/uniq.t
220../cpan/Term-Cap/test.pl
221../cpan/Test-Simple/t/Legacy/Builder/carp.t
222../cpan/Test-Simple/t/Legacy/fail-more.t
223../cpan/Test-Simple/t/Legacy/is_deeply_fail.t
224../cpan/Test-Simple/t/Legacy/no_plan.t         # hard-coded line numbers
225../cpan/Test-Simple/t/Legacy/plan_bad.t
226../cpan/Test-Simple/t/Legacy/plan.t
227../cpan/Test-Simple/t/Legacy/subtest/line_numbers.t
228../cpan/Test-Simple/t/Legacy/subtest/predicate.t
229../cpan/Test-Simple/t/regression/684-nested_todo_diag.t
230../cpan/Test-Simple/t/Test2/behavior/run_subtest_inherit.t
231
232# These three are very sensitive to line numbers, and in particular
233# to wrong line numbers being output for the closing braces of a function,
234# e.g.
235#
236#    sub foo { .... } # all on line 30
237#
238# becomes
239#
240#    #line 30 ....
241#    sub foo {
242#        ...
243#    #line 10 ....
244#    }
245#
246../cpan/Test2-Suite/t/behavior/filtering.t
247../cpan/Test2-Suite/t/modules/Tools/Compare.t
248../cpan/Test2-Suite/t/modules/Tools/Subtest.t
249
250../dist/Attribute-Handlers/t/constants.t
251../dist/Attribute-Handlers/t/data_convert.t
252../dist/Attribute-Handlers/t/linerep.t
253../dist/Attribute-Handlers/t/multi.t
254../dist/Carp/t/Carp.t
255../dist/constant/t/constant.t
256../dist/Data-Dumper/t/dumper.t
257../dist/Data-Dumper/t/trailing_comma.t
258../dist/Exporter/t/Exporter.t
259../dist/Filter-Simple/t/data.t
260../dist/Storable/t/croak.t
261../dist/threads/t/blocks.t
262../ext/B/t/b.t
263../ext/B/t/optree_constants.t
264# for (...) {} currently gets deparsed as for (...) { (); }
265# which has a slightly different optree
266../ext/B/t/optree_for.t
267../ext/B/t/optree_samples.t
268../ext/Devel-Peek/t/Peek.t
269../ext/IPC-Open3/t/IPC-Open2.t
270../ext/IPC-Open3/t/IPC-Open3.t
271../ext/XS-APItest/t/autoload.t
272../ext/XS-APItest/t/blockhooks.t
273../ext/XS-APItest/t/call_checker.t
274../ext/XS-APItest/t/cleanup.t
275../ext/XS-APItest/t/fetch_pad_names.t
276../ext/XS-APItest/t/synthetic_scope.t
277../lib/Config.t                         # Config_heavy.pl fns getting output
278../lib/charnames.t
279../lib/dumpvar.t
280../lib/English.t
281
282../lib/overload.t
283
284
285__DEPARSE_SKIPS__
286
287op/smartkve.t                        # Gobbles up all memory...
288comp/redef.t                         # Redefinition happens at compile time
289../lib/locale.t                      # Memory...
290