[Git][ghc/ghc][wip/slowtest] 22 commits: testsuite: Add testcase for #16111
Ben Gamari
gitlab at gitlab.haskell.org
Sun Apr 7 19:19:24 UTC 2019
Ben Gamari pushed to branch wip/slowtest at Glasgow Haskell Compiler / GHC
Commits:
6c0dd085 by Ben Gamari at 2019-04-04T12:12:24Z
testsuite: Add testcase for #16111
- - - - -
cbb88865 by klebinger.andreas at gmx.at at 2019-04-04T12:12:25Z
Restore Xmm registers properly in StgCRun.c
This fixes #16514: Xmm6-15 was restored based off rax instead of rsp.
The code was introduced in the fix for #14619.
- - - - -
33b0a291 by Ryan Scott at 2019-04-04T12:12:28Z
Tweak error messages for narrowly-kinded assoc default decls
This program, from #13971, currently has a rather confusing error
message:
```hs
class C a where
type T a :: k
type T a = Int
```
```
• Kind mis-match on LHS of default declaration for ‘T’
• In the default type instance declaration for ‘T’
In the class declaration for ‘C’
```
It's not at all obvious why GHC is complaining about the LHS until
you realize that the default, when printed with
`-fprint-explicit-kinds`, is actually `type T @{k} @* a = Int`.
That is to say, the kind of `a` is being instantiated to `Type`,
whereas it ought to be a kind variable. The primary thrust of this
patch is to weak the error message to make this connection
more obvious:
```
• Illegal argument ‘*’ in:
‘type T @{k} @* a = Int’
The arguments to ‘T’ must all be type variables
• In the default type instance declaration for ‘T’
In the class declaration for ‘C’
```
Along the way, I performed some code cleanup suggested by @rae in
https://gitlab.haskell.org/ghc/ghc/issues/13971#note_191287. Before,
we were creating a substitution from the default declaration's type
variables to the type family tycon's type variables by way of
`tcMatchTys`. But this is overkill, since we already know (from the
aforementioned validity checking) that all the arguments in a default
declaration must be type variables anyway. Therefore, creating the
substitution is as simple as using `zipTvSubst`. I took the
opportunity to perform this refactoring while I was in town.
Fixes #13971.
- - - - -
b85fb5f4 by Ben Gamari at 2019-04-07T19:19:03Z
gitlab-ci: Test using slowtest in deb9-debug job
- - - - -
6432a164 by Ben Gamari at 2019-04-07T19:19:03Z
testsuite: Mark hWaitForInput-accurate-stdin as broken in threaded ways
As noted in #16535.
- - - - -
a91497c4 by Ömer Sinan Ağacan at 2019-04-07T19:19:03Z
Skip test ArithInt16 and ArithWord16 in GHCi way
These tests use unboxed tuples, which GHCi doesn't support
- - - - -
dffe695c by Ben Gamari at 2019-04-07T19:19:03Z
testsuite: Make closureSize less sensitive to optimisation
- - - - -
19cc39cc by Ben Gamari at 2019-04-07T19:19:04Z
process: Bump submodule
* Skip process005 in ghci way
* Mark process002 as fragile in threaded2
- - - - -
071c5dc7 by Ben Gamari at 2019-04-07T19:19:04Z
testsuite: Mark T13167 as fragile in threaded2
As noted in #16536.
- - - - -
c787b7f5 by Ben Gamari at 2019-04-07T19:19:04Z
testsuite: Mark T13910 as broken in optasm
Due to #16537.
- - - - -
4e53a2a3 by Ben Gamari at 2019-04-07T19:19:04Z
testsuite: Mark T14272 as broken in optasm
- - - - -
8dd0d706 by Ben Gamari at 2019-04-07T19:19:04Z
testsuite: Mark T14761c as broken in hpc and optasm ways
As noted in #16540.
- - - - -
750a84d1 by Ben Gamari at 2019-04-07T19:19:04Z
testsuite: Mark T16180 as broken in ghci and ext-interp ways
As noted in #16541.
- - - - -
4d32266f by Ben Gamari at 2019-04-07T19:19:13Z
testsuite: Omit tcrun022 in hpc way
As noted in #16542, the expected rule doesn't fire. However, this
doesn't seem terribly surpring given the circumstances.
- - - - -
2834490b by Ben Gamari at 2019-04-07T19:19:13Z
testsuite: Mark Overflow as broken in hpc way
As noted in #16543.
- - - - -
d1f8bacf by Ben Gamari at 2019-04-07T19:19:13Z
testsuite: Mark closure_size as broken in threaded2, optasm, dyn ways
As noted in #16531.
- - - - -
84f16bd1 by Ben Gamari at 2019-04-07T19:19:14Z
testsuite: Mark T2783 as fragile in threaded1
It was previously marked as broken but it passes non-deterministically.
See #2783.
- - - - -
fa5271f8 by Ben Gamari at 2019-04-07T19:19:14Z
testsuite: Skip T7919 in ghci way
It times out pretty reliably. It's not clear that much is gained by
running this test in the ghci way anyways.
- - - - -
144153d6 by Ben Gamari at 2019-04-07T19:19:14Z
testsuite: Fix fragile_for test modifier
- - - - -
07f0d7b5 by Ben Gamari at 2019-04-07T19:19:14Z
users-guide: Add pretty to package list
- - - - -
55cfc721 by Ben Gamari at 2019-04-07T19:19:14Z
Bump unix submodule
Marks posix002 as fragile in threaded2 way due to #16550.
- - - - -
1ac79339 by Ben Gamari at 2019-04-07T19:19:14Z
testsuite: Fix omit_ways usage
omit_ways expects a list but this was broken in several cases.
- - - - -
28 changed files:
- .gitlab-ci.yml
- compiler/typecheck/TcTyClsDecls.hs
- docs/users_guide/8.8.1-notes.rst
- + libraries/base/tests/T16111.hs
- + libraries/base/tests/T16111.stderr
- libraries/base/tests/all.T
- libraries/ghc-heap/tests/all.T
- libraries/ghc-heap/tests/closure_size.hs
- libraries/process
- libraries/unix
- rts/StgCRun.c
- testsuite/driver/testlib.py
- testsuite/tests/concurrent/should_run/all.T
- testsuite/tests/dependent/should_compile/all.T
- testsuite/tests/indexed-types/should_compile/T11361a.stderr
- + testsuite/tests/indexed-types/should_fail/T13971.hs
- + testsuite/tests/indexed-types/should_fail/T13971.stderr
- testsuite/tests/indexed-types/should_fail/all.T
- testsuite/tests/lib/integer/all.T
- testsuite/tests/primops/should_run/all.T
- testsuite/tests/programs/barton-mangler-bug/test.T
- testsuite/tests/rts/all.T
- testsuite/tests/simplCore/should_compile/all.T
- testsuite/tests/th/all.T
- testsuite/tests/typecheck/should_compile/all.T
- testsuite/tests/typecheck/should_run/all.T
- testsuite/tests/utils/should_run/all.T
- testsuite/tests/warnings/should_compile/all.T
Changes:
=====================================
.gitlab-ci.yml
=====================================
@@ -387,6 +387,7 @@ validate-x86_64-linux-deb9-debug:
stage: build
variables:
BUILD_FLAVOUR: validate
+ TEST_TYPE: slowtest
TEST_ENV: "x86_64-linux-deb9-debug"
validate-x86_64-linux-deb9-llvm:
=====================================
compiler/typecheck/TcTyClsDecls.hs
=====================================
@@ -1497,7 +1497,7 @@ tcDefaultAssocDecl fam_tc [dL->L loc (FamEqn { feqn_tycon = L _ tc_name
= -- See Note [Type-checking default assoc decls]
setSrcSpan loc $
tcAddFamInstCtxt (text "default type instance") tc_name $
- do { traceTc "tcDefaultAssocDecl" (ppr tc_name)
+ do { traceTc "tcDefaultAssocDecl 1" (ppr tc_name)
; let fam_tc_name = tyConName fam_tc
fam_arity = length (tyConVisibleTyVars fam_tc)
@@ -1524,14 +1524,46 @@ tcDefaultAssocDecl fam_tc [dL->L loc (FamEqn { feqn_tycon = L _ tc_name
imp_vars exp_vars
hs_pats hs_rhs_ty
- -- See Note [Type-checking default assoc decls]
- ; traceTc "tcDefault" (vcat [ppr (tyConTyVars fam_tc), ppr qtvs, ppr pats])
- ; case tcMatchTys pats (mkTyVarTys (tyConTyVars fam_tc)) of
- Just subst -> return (Just (substTyUnchecked subst rhs_ty, loc) )
- Nothing -> failWithTc (defaultAssocKindErr fam_tc)
- -- We check for well-formedness and validity later,
- -- in checkValidClass
+ ; let fam_tvs = tyConTyVars fam_tc
+ ; traceTc "tcDefaultAssocDecl 2" (vcat
+ [ text "fam_tvs" <+> ppr fam_tvs
+ , text "qtvs" <+> ppr qtvs
+ , text "pats" <+> ppr pats
+ , text "rhs_ty" <+> ppr rhs_ty
+ ])
+ ; pat_tvs <- traverse (extract_tv pats rhs_ty) pats
+ ; let subst = zipTvSubst pat_tvs (mkTyVarTys fam_tvs)
+ ; pure $ Just (substTyUnchecked subst rhs_ty, loc)
+ -- We also perform other checks for well-formedness and validity
+ -- later, in checkValidClass
}
+ where
+ -- Checks that a pattern on the LHS of a default is a type
+ -- variable. If so, return the underlying type variable, and if
+ -- not, throw an error.
+ -- See Note [Type-checking default assoc decls]
+ extract_tv :: [Type] -- All default instance type patterns
+ -- (only used for error message purposes)
+ -> Type -- The default instance's right-hand side type
+ -- (only used for error message purposes)
+ -> Type -- The particular type pattern from which to extract
+ -- its underlying type variable
+ -> TcM TyVar
+ extract_tv pats rhs_ty pat =
+ case getTyVar_maybe pat of
+ Just tv -> pure tv
+ Nothing ->
+ -- Per Note [Type-checking default assoc decls], we already
+ -- know by this point that if any arguments in the default
+ -- instance aren't type variables, then they must be
+ -- invisible kind arguments. Therefore, always display the
+ -- error message with -fprint-explicit-kinds enabled.
+ failWithTc $ pprWithExplicitKindsWhen True $
+ hang (text "Illegal argument" <+> quotes (ppr pat) <+> text "in:")
+ 2 (vcat [ quotes (text "type" <+> ppr (mkTyConApp fam_tc pats)
+ <+> equals <+> ppr rhs_ty)
+ , text "The arguments to" <+> quotes (ppr fam_tc)
+ <+> text "must all be type variables" ])
tcDefaultAssocDecl _ [dL->L _ (XFamEqn _)] = panic "tcDefaultAssocDecl"
tcDefaultAssocDecl _ [dL->L _ (FamEqn _ _ _ (XLHsQTyVars _) _ _)]
= panic "tcDefaultAssocDecl"
@@ -1544,8 +1576,8 @@ tcDefaultAssocDecl _ [_]
Consider this default declaration for an associated type
class C a where
- type F (a :: k) b :: *
- type F x y = Proxy x -> y
+ type F (a :: k) b :: Type
+ type F (x :: j) y = Proxy x -> y
Note that the class variable 'a' doesn't scope over the default assoc
decl (rather oddly I think), and (less oddly) neither does the second
@@ -1555,17 +1587,26 @@ instance.
However we store the default rhs (Proxy x -> y) in F's TyCon, using
F's own type variables, so we need to convert it to (Proxy a -> b).
-We do this by calling tcMatchTys to match them up. This also ensures
-that x's kind matches a's and similarly for y and b. The error
-message isn't great, mind you. (#11361 was caused by not doing a
-proper tcMatchTys here.)
+We do this by creating a substitution [j |-> k, x |-> a, b |-> y] and
+applying this substitution to the RHS.
+
+In order to create this substitution, we must first ensure that all of
+the arguments in the default instance consist of type variables. The parser
+already checks this to a certain degree (see RdrHsSyn.checkTyVars), but
+we must be wary of kind arguments being instantiated, which the parser cannot
+catch so easily. Consider this erroneous program (inspired by #11361):
-Recall also that the left-hand side of an associated type family
-default is always just variables -- no tycons here. Accordingly,
-the patterns used in the tcMatchTys won't actually be knot-tied,
-even though we're in the knot. This is too delicate for my taste,
-but it works.
+ class C a where
+ type F (a :: k) b :: Type
+ type F x b = x
+If you squint, you'll notice that the kind of `x` is actually Type. However,
+we cannot substitute from [Type |-> k], so we reject this default.
+
+Since the LHS of an associated type family default is always just variables,
+it won't contain any tycons. Accordingly, the patterns used in the substitution
+won't actually be knot-tied, even though we're in the knot. This is too
+delicate for my taste, but it works.
-}
{- *********************************************************************
@@ -3849,11 +3890,6 @@ wrongNumberOfParmsErr max_args
= text "Number of parameters must match family declaration; expected"
<+> ppr max_args
-defaultAssocKindErr :: TyCon -> SDoc
-defaultAssocKindErr fam_tc
- = text "Kind mis-match on LHS of default declaration for"
- <+> quotes (ppr fam_tc)
-
badRoleAnnot :: Name -> Role -> Role -> SDoc
badRoleAnnot var annot inferred
= hang (text "Role mismatch on variable" <+> ppr var <> colon)
=====================================
docs/users_guide/8.8.1-notes.rst
=====================================
@@ -212,6 +212,7 @@ for further change information.
libraries/libiserv/libiserv.cabal: Internal compiler library
libraries/mtl/mtl.cabal: Dependency of ``Cabal`` library
libraries/parsec/parsec.cabal: Dependency of ``Cabal`` library
+ libraries/pretty/pretty.cabal: Dependency of ``ghc`` library
libraries/process/process.cabal: Dependency of ``ghc`` library
libraries/stm/stm.cabal: Dependency of ``haskeline`` library
libraries/template-haskell/template-haskell.cabal: Core library
=====================================
libraries/base/tests/T16111.hs
=====================================
@@ -0,0 +1,13 @@
+module Main (main) where
+
+import Data.Bits
+import Data.Word
+
+main :: IO ()
+main = print $ toInteger (shiftL 1 hm :: Word64)
+ == toInteger (shiftL 1 hm :: Word64)
+
+hm :: Int
+hm = -1
+{-# NOINLINE hm #-}
+
=====================================
libraries/base/tests/T16111.stderr
=====================================
@@ -0,0 +1,2 @@
+T16111: arithmetic overflow
+
=====================================
libraries/base/tests/all.T
=====================================
@@ -202,7 +202,7 @@ test('T8089',
compile_and_run, [''])
test('hWaitForInput-accurate-socket', reqlib('unix'), compile_and_run, [''])
test('T8684', expect_broken(8684), compile_and_run, [''])
-test('hWaitForInput-accurate-stdin', normal, compile_and_run, [''])
+test('hWaitForInput-accurate-stdin', [expect_broken_for(16535, ['threaded1', 'threaded2']), omit_ways(['ghci'])], compile_and_run, [''])
test('hWaitForInput-accurate-pipe', reqlib('unix'), compile_and_run, [''])
test('T9826',normal, compile_and_run,[''])
test('T9848',
@@ -233,5 +233,6 @@ test('T3474',
test('T14425', normal, compile_and_run, [''])
test('T10412', normal, compile_and_run, [''])
test('T13896', normal, compile_and_run, [''])
-test('T13167', normal, compile_and_run, [''])
+test('T13167', fragile_for(16536, ['threaded2']), compile_and_run, [''])
test('T15349', [exit_code(1), expect_broken_for(15349, 'ghci')], compile_and_run, [''])
+test('T16111', exit_code(1), compile_and_run, [''])
=====================================
libraries/ghc-heap/tests/all.T
=====================================
@@ -7,5 +7,5 @@ test('heap_all',
],
compile_and_run, [''])
test('closure_size',
- omit_ways(['ghci', 'hpc', 'prof']),
+ [omit_ways(['ghci', 'hpc', 'prof']), expect_broken_for(16544, ['dyn', 'optasm', 'threaded2'])],
compile_and_run, [''])
=====================================
libraries/ghc-heap/tests/closure_size.hs
=====================================
@@ -1,6 +1,7 @@
{-# LANGUAGE BangPatterns #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE ScopedTypeVariables #-}
+{-# LANGUAGE MagicHash #-}
import Control.Monad
import Type.Reflection
@@ -17,12 +18,17 @@ assertSize !x expected = do
putStrLn $ prettyCallStack callStack
{-# NOINLINE assertSize #-}
-pap :: Int -> Char -> Int
+pap :: Int -> Maybe Char -> Int
pap x _ = x
{-# NOINLINE pap #-}
main :: IO ()
main = do
+ -- Ensure that GHC can't turn PAP into a FUN (see #16531)
+ let x :: Int
+ x = 42
+ {-# NOINLINE x #-}
+
assertSize 'a' 2
assertSize (Just ()) 2
assertSize (Nothing :: Maybe ()) 2
@@ -30,5 +36,5 @@ main = do
assertSize ((1,2,3) :: (Int,Int,Int)) 4
assertSize (id :: Int -> Int) 1
assertSize (fst :: (Int,Int) -> Int) 1
- assertSize (pap 1) 2
+ assertSize (pap x) 2
=====================================
libraries/process
=====================================
@@ -1 +1 @@
-Subproject commit d860209e53c1b40b7c251fc8378886bbcb394402
+Subproject commit 5c81524694ceaf8523a1846718a7a7c3f402124f
=====================================
libraries/unix
=====================================
@@ -1 +1 @@
-Subproject commit a102df29c107e8f853129dd40fbbb487e1818149
+Subproject commit a67b5e9e70a2a0c438d4f186fda9f38409ff1435
=====================================
rts/StgCRun.c
=====================================
@@ -494,15 +494,15 @@ StgRunIsImplementedInAssembler(void)
"movq 48(%%rsp),%%rdi\n\t"
"movq 56(%%rsp),%%rsi\n\t"
"movq 64(%%rsp),%%xmm6\n\t"
- "movq 72(%%rax),%%xmm7\n\t"
- "movq 80(%%rax),%%xmm8\n\t"
- "movq 88(%%rax),%%xmm9\n\t"
- "movq 96(%%rax),%%xmm10\n\t"
- "movq 104(%%rax),%%xmm11\n\t"
- "movq 112(%%rax),%%xmm12\n\t"
- "movq 120(%%rax),%%xmm13\n\t"
- "movq 128(%%rax),%%xmm14\n\t"
- "movq 136(%%rax),%%xmm15\n\t"
+ "movq 72(%%rsp),%%xmm7\n\t"
+ "movq 80(%%rsp),%%xmm8\n\t"
+ "movq 88(%%rsp),%%xmm9\n\t"
+ "movq 96(%%rsp),%%xmm10\n\t"
+ "movq 104(%%rsp),%%xmm11\n\t"
+ "movq 112(%%rsp),%%xmm12\n\t"
+ "movq 120(%%rsp),%%xmm13\n\t"
+ "movq 128(%%rsp),%%xmm14\n\t"
+ "movq 136(%%rsp),%%xmm15\n\t"
#endif
"addq %1, %%rsp\n\t"
"retq"
=====================================
testsuite/driver/testlib.py
=====================================
@@ -258,14 +258,14 @@ def fragile( bug ):
return helper
-def fragile_for( name, opts, bug, ways ):
+def fragile_for( bug, ways ):
"""
Indicates that the test should be skipped due to fragility in the given
test ways as documented in the given ticket.
"""
def helper( name, opts, bug=bug, ways=ways ):
record_broken(name, opts, bug)
- opts.omit_ways = ways
+ opts.omit_ways += ways
return helper
@@ -275,7 +275,8 @@ def omit_ways( ways ):
return lambda name, opts, w=ways: _omit_ways( name, opts, w )
def _omit_ways( name, opts, ways ):
- opts.omit_ways = ways
+ assert ways.__class__ is list
+ opts.omit_ways += ways
# -----
@@ -1408,7 +1409,6 @@ def simple_run(name, way, prog, extra_run_opts):
return failBecause('bad stderr')
if not (opts.ignore_stdout or stdout_ok(name, way)):
return failBecause('bad stdout')
-
check_hp = '-h' in my_rts_flags and opts.check_hp
check_prof = '-p' in my_rts_flags
=====================================
testsuite/tests/concurrent/should_run/all.T
=====================================
@@ -239,7 +239,7 @@ test('conc067', ignore_stdout, compile_and_run, [''])
# omit threaded2, the behaviour of this test is non-deterministic with more
# than one CPU.
-test('conc068', [ omit_ways('threaded2'), exit_code(1) ], compile_and_run, [''])
+test('conc068', [ omit_ways(['threaded2']), exit_code(1) ], compile_and_run, [''])
test('setnumcapabilities001',
[ only_ways(['threaded1','threaded2']),
=====================================
testsuite/tests/dependent/should_compile/all.T
=====================================
@@ -40,7 +40,7 @@ test('T12742', normal, compile, [''])
# (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('T13910', [expect_broken_for(16537, ['optasm']), omit_ways(['profasm'])], compile, [''])
test('T13938', [extra_files(['T13938a.hs'])], makefile_test, ['T13938'])
test('T14556', normal, compile, [''])
test('T14720', normal, compile, [''])
=====================================
testsuite/tests/indexed-types/should_compile/T11361a.stderr
=====================================
@@ -1,5 +1,7 @@
T11361a.hs:7:3: error:
- • Kind mis-match on LHS of default declaration for ‘F’
+ • Illegal argument ‘*’ in:
+ ‘type F @* x = x’
+ The arguments to ‘F’ must all be type variables
• In the default type instance declaration for ‘F’
In the class declaration for ‘C’
=====================================
testsuite/tests/indexed-types/should_fail/T13971.hs
=====================================
@@ -0,0 +1,7 @@
+{-# LANGUAGE PolyKinds #-}
+{-# LANGUAGE TypeFamilies #-}
+module T13971 where
+
+class C a where
+ type T a :: k
+ type T a = Int
=====================================
testsuite/tests/indexed-types/should_fail/T13971.stderr
=====================================
@@ -0,0 +1,7 @@
+
+T13971.hs:7:3: error:
+ • Illegal argument ‘*’ in:
+ ‘type T @{k} @* a = Int’
+ The arguments to ‘T’ must all be type variables
+ • In the default type instance declaration for ‘T’
+ In the class declaration for ‘C’
=====================================
testsuite/tests/indexed-types/should_fail/all.T
=====================================
@@ -136,6 +136,7 @@ test('T13271', normal, compile_fail, [''])
test('T13674', normal, compile_fail, [''])
test('T13784', normal, compile_fail, [''])
test('T13877', normal, compile_fail, [''])
+test('T13971', normal, compile_fail, [''])
test('T13972', normal, compile, [''])
test('T14033', normal, compile_fail, [''])
test('T14045a', normal, compile, [''])
=====================================
testsuite/tests/lib/integer/all.T
=====================================
@@ -1,8 +1,8 @@
test('integerBits', normal, compile_and_run, [''])
test('integerConversions', normal, compile_and_run, [''])
# skip ghci as it doesn't support unboxed tuples
-test('integerGmpInternals', [reqlib('integer-gmp'), omit_ways('ghci')], compile_and_run, [''])
-test('plusMinusInteger', [omit_ways('ghci')], compile_and_run, [''])
+test('integerGmpInternals', [reqlib('integer-gmp'), omit_ways(['ghci'])], compile_and_run, [''])
+test('plusMinusInteger', [omit_ways(['ghci'])], compile_and_run, [''])
test('integerConstantFolding', normal, makefile_test, ['integerConstantFolding'])
test('fromToInteger', [], makefile_test, ['fromToInteger'])
test('IntegerConversionRules', [], makefile_test, ['IntegerConversionRules'])
=====================================
testsuite/tests/primops/should_run/all.T
=====================================
@@ -20,7 +20,9 @@ test('CmpInt8', normal, compile_and_run, [''])
test('CmpWord8', normal, compile_and_run, [''])
test('ShowPrim', normal, compile_and_run, [''])
-test('ArithInt16', normal, compile_and_run, [''])
-test('ArithWord16', normal, compile_and_run, [''])
+# These two tests use unboxed tuples, which GHCi doesn't support
+test('ArithInt16', omit_ways(['ghci']), compile_and_run, [''])
+test('ArithWord16', omit_ways(['ghci']), compile_and_run, [''])
+
test('CmpInt16', normal, compile_and_run, [''])
-test('CmpWord16', normal, compile_and_run, [''])
\ No newline at end of file
+test('CmpWord16', normal, compile_and_run, [''])
=====================================
testsuite/tests/programs/barton-mangler-bug/test.T
=====================================
@@ -8,7 +8,7 @@ test('barton-mangler-bug',
'Plot.hi', 'Plot.o',
'PlotExample.hi', 'PlotExample.o',
'TypesettingTricks.hi', 'TypesettingTricks.o']),
- omit_ways('debug') # Fails for debug way due to annotation linting timeout
+ omit_ways(['debug']) # Fails for debug way due to annotation linting timeout
],
multimod_compile_and_run, ['Main', ''])
=====================================
testsuite/tests/rts/all.T
=====================================
@@ -73,7 +73,7 @@ test('T2047', [ignore_stdout, extra_run_opts('+RTS -c -RTS')],
# Blackhole-detection test.
# Skip GHCi due to #2786
test('T2783', [ omit_ways(['ghci']), exit_code(1)
- , expect_broken_for(2783, ['threaded1'])
+ , fragile_for(2783, ['threaded1'])
], compile_and_run, [''])
# Test the work-stealing deque implementation. We run this test in
@@ -93,7 +93,7 @@ test('stack002', [extra_files(['stack001.hs']),
# run this test with very small stack chunks to exercise the stack
# overflow/underflow machinery.
-test('stack003', [ omit_ways('ghci'), # uses unboxed tuples
+test('stack003', [ omit_ways(['ghci']), # uses unboxed tuples
extra_run_opts('500000 +RTS -kc1k -kb100 -K96m -RTS') ],
compile_and_run, [''])
@@ -272,7 +272,8 @@ test('T7815', [ multi_cpu_race,
test('ffishutdown', [ignore_stderr, only_ways(['threaded1','threaded2'])],
compile_and_run, [''])
-test('T7919', [when(fast(), skip), omit_ways(prof_ways)], compile_and_run,
+# Times out in ghci way
+test('T7919', [when(fast(), skip), omit_ways(['ghci'] + prof_ways)], compile_and_run,
[config.ghc_th_way_flags])
test('T8035', normal, compile_and_run, [''])
=====================================
testsuite/tests/simplCore/should_compile/all.T
=====================================
@@ -275,7 +275,7 @@ test('T14140',
normal,
makefile_test, ['T14140'])
-test('T14272', normal, compile, [''])
+test('T14272', expect_broken_for(16539, ['optasm']), compile, [''])
test('T14270a', normal, compile, [''])
test('T14152', [ only_ways(['optasm']), check_errmsg(r'dead code') ], compile, ['-ddump-simpl'])
test('T14152a', [extra_files(['T14152.hs']), pre_cmd('cp T14152.hs T14152a.hs'),
=====================================
testsuite/tests/th/all.T
=====================================
@@ -467,7 +467,7 @@ test('T15437', expect_broken(15437), multimod_compile,
test('T15985', normal, compile, [''])
test('T16133', normal, compile_fail, [''])
test('T15471', normal, multimod_compile, ['T15471.hs', '-v0'])
-test('T16180', normal, compile_and_run, ['-package ghc'])
+test('T16180', expect_broken_for(16541, ['ext-interp', 'ghci']), compile_and_run, ['-package ghc'])
test('T16183', normal, compile, ['-v0 -ddump-splices -dsuppress-uniques'])
test('T16195', normal, multimod_compile, ['T16195.hs', '-v0'])
test('T16293b', normal, compile, [''])
=====================================
testsuite/tests/typecheck/should_compile/all.T
=====================================
@@ -659,7 +659,7 @@ test('T15586', normal, compile, [''])
test('T15368', normal, compile, ['-fdefer-type-errors'])
test('T15645', normal, compile, ['-Wwarn=missing-monadfail-instances'])
test('T15778', normal, compile, [''])
-test('T14761c', normal, compile, [''])
+test('T14761c', expect_broken_for(16540, ['hpc', 'optasm']), compile, [''])
test('T16008', normal, compile, [''])
test('T16033', normal, compile, [''])
test('T16141', normal, compile, ['-O'])
=====================================
testsuite/tests/typecheck/should_run/all.T
=====================================
@@ -35,7 +35,7 @@ test('tcrun018', normal, compile_and_run, [''])
test('tcrun019', normal, compile_and_run, [''])
test('tcrun020', normal, compile_and_run, [''])
test('tcrun021', normal, compile_and_run, ['-package containers'])
-test('tcrun022', omit_ways(['ghci']), compile_and_run, ['-O'])
+test('tcrun022', omit_ways(['hpc', 'ghci']), compile_and_run, ['-O'])
test('tcrun023', [when(doing_ghci(), extra_hc_opts('-fobject-code'))],
compile_and_run, ['-O'])
test('tcrun024', normal, compile_and_run, ['-O'])
@@ -96,7 +96,7 @@ test('T6117', normal, compile_and_run, [''])
test('T5751', normal, compile_and_run, [''])
test('T5913', normal, compile_and_run, [''])
test('T7748', normal, compile_and_run, [''])
-test('T7861', [omit_ways('debug'), exit_code(1)], compile_and_run, [''])
+test('T7861', [omit_ways(['debug']), exit_code(1)], compile_and_run, [''])
test('TcTypeNatSimpleRun', normal, compile_and_run, [''])
test('TcTypeSymbolSimpleRun', normal, compile_and_run, [''])
test('T8119', normal, ghci_script, ['T8119.script'])
=====================================
testsuite/tests/utils/should_run/all.T
=====================================
@@ -1,6 +1,6 @@
test('T14854',
[only_ways(threaded_ways),
- omit_ways('ghci'),
+ omit_ways(['ghci']),
reqlib('random'),
ignore_stderr],
compile_and_run,
=====================================
testsuite/tests/warnings/should_compile/all.T
=====================================
@@ -25,4 +25,4 @@ test('MissingMod', normal, multimod_compile, ['MissingMod', '-Wmissing-home-modu
test('StarBinder', normal, compile, [''])
-test('Overflow', normal, compile, [''])
+test('Overflow', expect_broken_for(16543, ['hpc']), compile, [''])
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/93eb36bb102541c93f6d8c7d71d0b075bc83eb5a...1ac79339a782c850a5affdd75d56b192d1565414
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/compare/93eb36bb102541c93f6d8c7d71d0b075bc83eb5a...1ac79339a782c850a5affdd75d56b192d1565414
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20190407/6aadf344/attachment-0001.html>
More information about the ghc-commits
mailing list