Repository : ssh://darcs.haskell.org//srv/darcs/testsuite On branch : master
http://hackage.haskell.org/trac/ghc/changeset/d7728d897530abd9dbf2a4d796f565721fbfadf8 >--------------------------------------------------------------- commit d7728d897530abd9dbf2a4d796f565721fbfadf8 Author: Jose Pedro Magalhaes <[email protected]> Date: Wed Oct 5 13:32:46 2011 +0100 Add a test for the output of -ddump-deriv. In particular, we are testing the output of deriving Generic instances. >--------------------------------------------------------------- tests/generics/GenDerivOutput.hs | 8 ++++ tests/generics/GenDerivOutput.stderr | 66 ++++++++++++++++++++++++++++++++++ tests/generics/all.T | 3 +- 3 files changed, 76 insertions(+), 1 deletions(-) diff --git a/tests/generics/GenDerivOutput.hs b/tests/generics/GenDerivOutput.hs new file mode 100755 index 0000000..227dad6 --- /dev/null +++ b/tests/generics/GenDerivOutput.hs @@ -0,0 +1,8 @@ +{-# LANGUAGE DeriveGeneric #-} +{-# OPTIONS_GHC -ddump-deriv #-} + +module GenDerivOutput where + +import GHC.Generics (Generic) + +data List a = Nil | Cons { element :: a, rest :: List a } deriving Generic diff --git a/tests/generics/GenDerivOutput.stderr b/tests/generics/GenDerivOutput.stderr new file mode 100755 index 0000000..520fd90 --- /dev/null +++ b/tests/generics/GenDerivOutput.stderr @@ -0,0 +1,66 @@ + +==================== Derived instances ==================== +Derived instances: + instance GHC.Generics.Generic (GenDerivOutput.List a) where + GHC.Generics.from GenDerivOutput.Nil + = GHC.Generics.M1 + (GHC.Generics.L1 (GHC.Generics.M1 GHC.Generics.U1)) + GHC.Generics.from (GenDerivOutput.Cons g1 g2) + = GHC.Generics.M1 + (GHC.Generics.R1 + (GHC.Generics.M1 + ((GHC.Generics.:*:) + (GHC.Generics.M1 (GHC.Generics.K1 g1)) + (GHC.Generics.M1 (GHC.Generics.K1 g2))))) + GHC.Generics.to + (GHC.Generics.M1 (GHC.Generics.L1 (GHC.Generics.M1 GHC.Generics.U1))) + = GenDerivOutput.Nil + GHC.Generics.to + (GHC.Generics.M1 (GHC.Generics.R1 (GHC.Generics.M1 (GHC.Generics.:*: (GHC.Generics.M1 (GHC.Generics.K1 g1)) + (GHC.Generics.M1 (GHC.Generics.K1 g2)))))) + = GenDerivOutput.Cons g1 g2 + + instance GHC.Generics.Datatype GenDerivOutput.D1List where + GHC.Generics.datatypeName _ = "List" + GHC.Generics.moduleName _ = "GenDerivOutput" + + instance GHC.Generics.Constructor GenDerivOutput.C1_0List where + GHC.Generics.conName _ = "Nil" + + instance GHC.Generics.Constructor GenDerivOutput.C1_1List where + GHC.Generics.conName _ = "Cons" + GHC.Generics.conIsRecord _ = GHC.Types.True + + instance GHC.Generics.Selector GenDerivOutput.S1_1_0List where + GHC.Generics.selName _ = "element" + + instance GHC.Generics.Selector GenDerivOutput.S1_1_1List where + GHC.Generics.selName _ = "rest" + + +Generic representation: + + Generated datatypes for meta-information: + GenDerivOutput.D1List + GenDerivOutput.C1_0List + GenDerivOutput.C1_1List + GenDerivOutput.S1_1_0List + GenDerivOutput.S1_1_1List + + Representation types: GenDerivOutput.Rep_List + + Meta-information instances: + instance GHC.Generics.Datatype GenDerivOutput.D1List where + GHC.Generics.datatypeName _ = "List" + GHC.Generics.moduleName _ = "GenDerivOutput" + instance GHC.Generics.Constructor GenDerivOutput.C1_0List where + GHC.Generics.conName _ = "Nil" + instance GHC.Generics.Constructor GenDerivOutput.C1_1List where + GHC.Generics.conName _ = "Cons" + GHC.Generics.conIsRecord _ = GHC.Types.True + instance GHC.Generics.Selector GenDerivOutput.S1_1_0List where + GHC.Generics.selName _ = "element" + instance GHC.Generics.Selector GenDerivOutput.S1_1_1List where + GHC.Generics.selName _ = "rest" + + diff --git a/tests/generics/all.T b/tests/generics/all.T old mode 100644 new mode 100755 index 5ef616c..f9e75c7 --- a/tests/generics/all.T +++ b/tests/generics/all.T @@ -1,6 +1,7 @@ setTestOpts(only_compiler_types(['ghc'])) -test('GenCanDoRep0', normal, compile, ['']) +test('GenCanDoRep0', normal, compile, ['']) +test('GenDerivOutput', normal, compile, ['-dsuppress-uniques']) test('GenShouldFail0', normal, compile_fail, ['']) test('GenCannotDoRep0', normal, compile_fail, ['']) _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
