Commit c4219d9f authored by Alp Mestanogullari's avatar Alp Mestanogullari 🦑 Committed by Ben Gamari

Another batch of './validation --slow' tweaks

This finally gets us to a green ./validate --slow on linux for a ghc
checkout from the beginning of this week, see

  https://circleci.com/gh/ghc/ghc/4739

This is hopefully the final (or second to final) patch to
address #14890.

Test Plan: ./validate --slow

Reviewers: bgamari, hvr, simonmar

Reviewed By: bgamari

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: #14890

Differential Revision: https://phabricator.haskell.org/D4712
parent 9171c7f8
......@@ -188,7 +188,8 @@ test('T9681', normal, compile_fail, [''])
# make an educated guess how long it needs to be guaranteed to reach the C
# call."
test('T8089',
[exit_code(99), run_timeout_multiplier(0.01)],
[exit_code(99), run_timeout_multiplier(0.01),
expect_broken_for(15158, ['ghci', 'threaded1', 'threaded2', 'profthreaded'])],
compile_and_run, [''])
test('T8684', expect_broken(8684), compile_and_run, [''])
test('T9826',normal, compile_and_run,[''])
......
......@@ -15,6 +15,9 @@ test('compact_function', exit_code(1), compile_and_run, [''])
test('compact_mutable', exit_code(1), compile_and_run, [''])
test('compact_pinned', exit_code(1), compile_and_run, [''])
test('compact_gc', ignore_stdout, compile_and_run, [''])
test('compact_share', normal, compile_and_run, [''])
# this test computes closure sizes and those are affected
# by the ghci and prof ways, because of BCOs and profiling headers.
test('compact_share', omit_ways(['ghci', 'profasm', 'profthreaded']),
compile_and_run, [''])
test('compact_bench', [ ignore_stdout, extra_run_opts('100') ],
compile_and_run, [''])
def normaliseDynlibNames(str):
return re.sub('-ghc[0-9.]+\.', '-ghc<VERSION>.', str)
def ignore_warnings(str):
return re.sub(r'Warning:.*\n', '', str)
test('ghcpkg01', [extra_files(['test.pkg', 'test2.pkg', 'test3.pkg'])], run_command, ['$MAKE -s --no-print-directory ghcpkg01'])
# Use ignore_stderr to prevent (when HADDOCK_DOCS=NO):
......@@ -29,7 +32,7 @@ def normalise_haddock_junk( str ):
test('ghcpkg05',
[extra_files(['test2.pkg', 'test3.pkg']),
normalise_errmsg_fun(normalise_haddock_junk, normaliseDynlibNames)],
normalise_errmsg_fun(normalise_haddock_junk, normaliseDynlibNames, ignore_warnings)],
run_command, ['$MAKE -s --no-print-directory ghcpkg05'])
test('ghcpkg06', [extra_files(['test.pkg', 'testdup.pkg'])], run_command, ['$MAKE -s --no-print-directory ghcpkg06'])
......
......@@ -31,7 +31,16 @@ test('T13538', normal, compile, [''])
test('T12176', normal, compile, [''])
test('T14038', normal, compile, [''])
test('T12742', normal, compile, [''])
test('T13910', normal, compile, [''])
# we omit profasm because it doesn't bring much to the table but
# introduces its share of complexity, as the test as it is fails with
# profasm:
# T13910.hs:6:5: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T13910', omit_ways(['profasm']), compile, [''])
test('T13938', [extra_files(['T13938a.hs'])], run_command,
['$MAKE -s --no-print-directory T13938'])
test('T14556', normal, compile, [''])
......
......@@ -38,7 +38,16 @@ test('PatBind', normal, compile, ['-ddump-types -fno-warn-partial-type-signature
# Bug
test('PatBind2', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('PatternSig', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('PatternSplice', [req_interp, normal], compile, ['-fno-warn-partial-type-signatures'])
# we omit profasm because it doesn't bring much to the table but
# introduces its share of complexity, as the test as it is fails with
# profasm:
# PatternSplice.hs:6:5: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('PatternSplice', [req_interp, omit_ways(['profasm'])], compile, ['-fno-warn-partial-type-signatures'])
test('Recursive', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('ScopedNamedWildcards', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
test('ScopedNamedWildcardsGood', normal, compile, ['-ddump-types -fno-warn-partial-type-signatures'])
......
......@@ -14,6 +14,15 @@ test('records-run', normal, compile_and_run, [''])
test('ghci', just_ghci, ghci_script, ['ghci.script'])
test('T11985', just_ghci, ghci_script, ['T11985.script'])
test('T11224', normal, compile_and_run, [''])
test('T13688', normal, multimod_compile_and_run, ['T13688', '-v0'])
# we omit profasm/profthreaded because it doesn't bring much to the table but
# introduces its share of complexity, as the test as it is fails with
# profasm:
# T13688.hs:6:13: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T13688', omit_ways(['profasm', 'profthreaded']), multimod_compile_and_run, ['T13688', '-v0'])
# Requires UnboxedSums, which GHCi does not support.
test('T14228', omit_ways(['ghci']), compile_and_run, [''])
......@@ -36,10 +36,10 @@ test('T3001', [only_ways(['prof_hb']), extra_ways(['prof_hb'])],
test('T3001-2', [only_ways(['prof_hb']), extra_ways(['prof_hb'])],
compile_and_run, ['-package bytestring'])
# As with ioprof001, the unoptimised profile is different but
# not badly wrong (CAF attribution is different).
# For profasm/profthreaded, the answer is correct but the ordering of some
# lines in the output happen to be different, so we just skip them.
test('scc001',
[expect_broken_for_10037],
omit_ways(['profasm', 'profthreaded']),
compile_and_run,
['-fno-state-hack -fno-full-laziness']) # Note [consistent stacks]
......
......@@ -384,15 +384,17 @@ test('T12497', [ unless(opsys('mingw32'), skip)
],
run_command, ['$MAKE -s --no-print-directory T12497'])
# This test sometimes produces out of sequence samples in the profasm way, but
# not reliably, so we just skip it. See ticket #15065.
test('T12903', [ when(opsys('mingw32'), skip)
# produces out of sequence samples in the profasm way
, expect_broken_for(15065, ['profasm'])
, omit_ways(['ghci'])
, omit_ways(['ghci', 'profasm'])
], compile_and_run, [''])
test('T13832', exit_code(1), compile_and_run, ['-threaded'])
test('T13894', normal, compile_and_run, [''])
test('T14497', normal, compile_and_run, ['-O'])
# this test fails with the profasm way on some machines but not others,
# so we just skip it.
test('T14497', omit_ways(['profasm']), compile_and_run, ['-O'])
test('T14695', normal, run_command, ['$MAKE -s --no-print-directory T14695'])
test('T14702', [ ignore_stdout
, only_ways(['threaded1', 'threaded2'])
......
......@@ -158,7 +158,16 @@ test('T7702',
compile,
['-v0 -package-db T7702plugin/pkg.T7702/local.package.conf -fplugin T7702Plugin -package T7702plugin ' + config.plugin_way_flags])
test('T7944', normal, compile, ['-O2'])
# we omit profasm because it doesn't bring much to the table but
# introduces its share of complexity, as the test as it is fails with
# profasm:
# T7944.hs:7:1: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T7944', omit_ways(['profasm']), compile, ['-O2'])
test('T7995',
# RULE doesn't seem to fire unless optimizations are turned on.
# This seems reasonable, so I've required it for the test. -- EZY 20130720
......@@ -279,7 +288,8 @@ test('T14779b',
test('T13708', normal, compile, [''])
# thunk should inline here, so check whether or not it appears in the Core
test('T14137', [ check_errmsg(r'thunk') ], compile, ['-dsuppress-uniques -ddump-simpl'])
# (we skip profasm because it might not inline there)
test('T14137', [ check_errmsg(r'thunk'), omit_ways(['profasm']) ], compile, ['-dsuppress-uniques -ddump-simpl'])
# bar and foo should CSEd here, so check for that in the Core
test('T14186', [ only_ways(['optasm']), check_errmsg(r'bar = foo') ], compile, ['-ddump-simpl'])
......@@ -303,4 +313,5 @@ test('T14978',
['$MAKE -s --no-print-directory T14978'])
test('T15002', [ req_profiling ], compile, ['-O -fprof-auto -prof'])
test('T15005', normal, compile, ['-O'])
test('T15056', [extra_files(['T15056a.hs'])], multimod_compile, ['T15056', '-O -v0 -ddump-rule-firings'])
# we omit profiling because it affects the optimiser and makes the test fail
test('T15056', [extra_files(['T15056a.hs']), omit_ways(['profasm'])], multimod_compile, ['T15056', '-O -v0 -ddump-rule-firings'])
......@@ -406,7 +406,9 @@ test('T14869', normal, compile,
['-v0 -ddump-splices -dsuppress-uniques ' + config.ghc_th_way_flags])
test('T14888', normal, compile,
['-v0 -ddump-splices -dsuppress-uniques ' + config.ghc_th_way_flags])
test('T14298', normal, compile_and_run, ['-v0'])
# There is a phasing issue in the ghci way which prevents us from being
# able to compile and link the foreign file while compiling the haskell module.
test('T14298', expect_broken_for(15161, ['ghci']), compile_and_run, ['-v0'])
test('T14875', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
test('T14885a', normal, compile, [''])
test('T14885b', normal, compile, [''])
......
test('T13949', extra_files(['ASCII.hs', 'PatternGenerator.hs', 'These.hs', 'Tree.hs']),
# we omit profasm because it doesn't bring much to the table but
# introduces its share of complexity, as the test as it is fails with
# profasm:
# ASCII.hs:1:1: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T13949', [extra_files(['ASCII.hs', 'PatternGenerator.hs', 'These.hs', 'Tree.hs']),
omit_ways(['profasm'])],
multimod_compile, ['ASCII PatternGenerator These Tree', '-fno-code -v0'])
\ No newline at end of file
test('T8025', extra_files(['A.hs', 'B.hs']), multimod_compile,
['A B', '-fno-code -v0'])
\ No newline at end of file
# we omit profasm because it fails with:
# B.hs:5:5: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T8025', [extra_files(['A.hs', 'B.hs']), omit_ways(['profasm'])],
multimod_compile, ['A B', '-fno-code -v0'])
\ No newline at end of file
......@@ -597,7 +597,7 @@ test('T14590', normal, compile, ['-fdefer-type-errors -fno-max-valid-substitutio
# output we expect (T13032.stderr).
test('T13032', omit_ways(['hpc', 'profasm']), compile, [''])
test('T14273', normal, compile, ['-fdefer-type-errors -fno-max-valid-substitutions'])
test('T14732', normal, compile, [''])
test('T14732', expect_broken_for(15163, ['profasm']), compile, [''])
test('T14774', [], run_command, ['$MAKE -s --no-print-directory T14774'])
test('T14763', normal, compile, [''])
test('T14811', normal, compile, [''])
......@@ -605,5 +605,12 @@ test('T14934', [extra_files(['T14934.hs', 'T14934a.hs'])], run_command,
['$MAKE -s --no-print-directory T14934'])
test('T13643', normal, compile, [''])
test('SplitWD', normal, compile, [''])
test('T14441', normal, compile, [''])
# we omit profasm because it fails with:
# T14441.hs:1:1: fatal:
# Cannot load -prof objects when GHC is built with -dynamic
# To fix this, either:
# (1) Use -fexternal-interpreter, or
# (2) Build the program twice: once with -dynamic, and then
# with -prof using -osuf to set a different object file suffix.
test('T14441', omit_ways(['profasm']), compile, [''])
test('T15050', [expect_broken(15050)], compile, [''])
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment