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

Reply via email to