soenkehahn / generics-eot

A library for generic programming that aims to be easy to understand
https://generics-eot.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
26 stars 6 forks source link

Test suite failure with GHC 8 #4

Closed snoyberg closed 8 years ago

snoyberg commented 8 years ago
> /tmp/stackage-build8/generics-eot-0.2.1$ runghc -clear-package-db -global-package-db -package-db=/home/stackage/work/builds/nightly/pkgdb Setup configure --enable-tests --package-db=clear --package-db=global --package-db=/home/stackage/work/builds/nightly/pkgdb --libdir=/home/stackage/work/builds/nightly/lib --bindir=/home/stackage/work/builds/nightly/bin --datadir=/home/stackage/work/builds/nightly/share --libexecdir=/home/stackage/work/builds/nightly/libexec --sysconfdir=/home/stackage/work/builds/nightly/etc --docdir=/home/stackage/work/builds/nightly/doc/generics-eot-0.2.1 --htmldir=/home/stackage/work/builds/nightly/doc/generics-eot-0.2.1 --haddockdir=/home/stackage/work/builds/nightly/doc/generics-eot-0.2.1 --flags=
Configuring generics-eot-0.2.1...
> /tmp/stackage-build8/generics-eot-0.2.1$ runghc -clear-package-db -global-package-db -package-db=/home/stackage/work/builds/nightly/pkgdb Setup build
Building generics-eot-0.2.1...
Preprocessing library generics-eot-0.2.1...
[1 of 4] Compiling Generics.Eot.Eot ( src/Generics/Eot/Eot.hs, dist/build/Generics/Eot/Eot.o )
[2 of 4] Compiling Generics.Eot.Datatype ( src/Generics/Eot/Datatype.hs, dist/build/Generics/Eot/Datatype.o )
[3 of 4] Compiling Generics.Eot     ( src/Generics/Eot.hs, dist/build/Generics/Eot.o )
[4 of 4] Compiling Generics.Eot.Tutorial ( src/Generics/Eot/Tutorial.lhs, dist/build/Generics/Eot/Tutorial.o )
Preprocessing test suite 'spec' for generics-eot-0.2.1...
[ 1 of 16] Compiling Generics.Eot.Eot ( src/Generics/Eot/Eot.hs, dist/build/spec/spec-tmp/Generics/Eot/Eot.o )
[ 2 of 16] Compiling Generics.Eot.Datatype ( src/Generics/Eot/Datatype.hs, dist/build/spec/spec-tmp/Generics/Eot/Datatype.o )
[ 3 of 16] Compiling Generics.Eot     ( src/Generics/Eot.hs, dist/build/spec/spec-tmp/Generics/Eot.o )
[ 4 of 16] Compiling Generics.Eot.Tutorial ( src/Generics/Eot/Tutorial.lhs, dist/build/spec/spec-tmp/Generics/Eot/Tutorial.o )
[ 5 of 16] Compiling Generics.Eot.TutorialSpec ( test/Generics/Eot/TutorialSpec.hs, dist/build/spec/spec-tmp/Generics/Eot/TutorialSpec.o )
[ 6 of 16] Compiling Generics.DatatypeSpec ( test/Generics/DatatypeSpec.hs, dist/build/spec/spec-tmp/Generics/DatatypeSpec.o )
[ 7 of 16] Compiling Generics.EotSpec ( test/Generics/EotSpec.hs, dist/build/spec/spec-tmp/Generics/EotSpec.o )
[ 8 of 16] Compiling ToString         ( examples/ToString.hs, dist/build/spec/spec-tmp/ToString.o )
[ 9 of 16] Compiling Examples.ToStringSpec ( test/Examples/ToStringSpec.hs, dist/build/spec/spec-tmp/Examples/ToStringSpec.o )
[10 of 16] Compiling MinBound         ( examples/MinBound.hs, dist/build/spec/spec-tmp/MinBound.o )
[11 of 16] Compiling Examples.MinBoundSpec ( test/Examples/MinBoundSpec.hs, dist/build/spec/spec-tmp/Examples/MinBoundSpec.o )
[12 of 16] Compiling Docs             ( examples/Docs.hs, dist/build/spec/spec-tmp/Docs.o )
[13 of 16] Compiling Examples.DocsSpec ( test/Examples/DocsSpec.hs, dist/build/spec/spec-tmp/Examples/DocsSpec.o )
[14 of 16] Compiling Catamorphisms    ( examples/Catamorphisms.hs, dist/build/spec/spec-tmp/Catamorphisms.o )
[15 of 16] Compiling Examples.CatamorphismsSpec ( test/Examples/CatamorphismsSpec.hs, dist/build/spec/spec-tmp/Examples/CatamorphismsSpec.o )
[16 of 16] Compiling Main             ( test/Spec.hs, dist/build/spec/spec-tmp/Main.o )
Linking dist/build/spec/spec ...
Preprocessing test suite 'quickcheck' for generics-eot-0.2.1...
[1 of 5] Compiling Generics.Eot.Eot ( src/Generics/Eot/Eot.hs, dist/build/quickcheck/quickcheck-tmp/Generics/Eot/Eot.o )
[2 of 5] Compiling Generics.Eot.Datatype ( src/Generics/Eot/Datatype.hs, dist/build/quickcheck/quickcheck-tmp/Generics/Eot/Datatype.o )
[3 of 5] Compiling Generics.Eot     ( src/Generics/Eot.hs, dist/build/quickcheck/quickcheck-tmp/Generics/Eot.o )
[4 of 5] Compiling DatatypeSpec     ( test/quickcheck/DatatypeSpec.hs, dist/build/quickcheck/quickcheck-tmp/DatatypeSpec.o )
[5 of 5] Compiling Main             ( test/quickcheck/Spec.hs, dist/build/quickcheck/quickcheck-tmp/Main.o )
Linking dist/build/quickcheck/quickcheck ...
> /tmp/stackage-build8/generics-eot-0.2.1$ dist/build/spec/spec
### Failure in src/Generics/Eot/Tutorial.lhs:465: expression `putStrLn $ createTableStatement (Proxy :: Proxy A)'
expected: 
          ...
              No instance for (EotCreateTableStatement
                                 Datatype
                                 (Either ([Char], (Int, ())) (Either (Int, (Bool, ())) Void)))
                arising from a use of ‘createTableStatement’
          ...
 but got: 
          <interactive>:63:12: error:
              • No instance for (EotCreateTableStatement
                                   Datatype
                                   (Either ([Char], (Int, ())) (Either (Int, (Bool, ())) Void)))
                  arising from a use of ‘createTableStatement’
              • In the second argument of ‘($)’, namely
                  ‘createTableStatement (Proxy :: Proxy A)’
                In the expression:
                  putStrLn $ createTableStatement (Proxy :: Proxy A)
                In an equation for ‘it’:
                    it = putStrLn $ createTableStatement (Proxy :: Proxy A)
### Failure in src/Generics/Eot/Tutorial.lhs:483: expression `putStrLn $ createTableStatement (Proxy :: Proxy NoSelectors)'
expected: *** Exception: constructor NotSupported has no selectors, this is not supported
 but got: *** Exception: constructor NotSupported has no selectors, this is not supported
          CallStack (from HasCallStack):
            error, called at src/Generics/Eot/Tutorial.lhs:400:7 in main:Generics.Eot.Tutorial
Examples: 12  Tried: 12  Errors: 0  Failures: 2

Examples.Catamorphisms
  catamorphism
    works for one constructor, no fields
    works for one constructor, one field
    works for two constructors, no fields
    works for more complex types
Examples.Docs
  docs
    works
Examples.MinBound
  minBoundG
    works
Examples.ToString
  toString
    works
Generics.Datatype
  datatype
    returns meta data about record types
Generics.Eot.Tutorial
  tutorial
    doctests FAILED [1]
Generics.Eot
  toEot
    works
    produces the right types
  fromEot
    is the inverse of toEot
    the other way around

Failures:

  test/Generics/Eot/TutorialSpec.hs:11: 
  1) Generics.Eot.Tutorial.tutorial doctests
       uncaught exception: ExitCode (ExitFailure 1)

Randomized with seed 506529199

Finished in 3.6898 seconds
13 examples, 1 failure
soenkehahn commented 8 years ago

Many thanks for the report! Fixed on master. Will upload as 0.2.1.1 once hackage is back up.

soenkehahn commented 8 years ago

Done.