unicode-show icon indicating copy to clipboard operation
unicode-show copied to clipboard

Test suite failure on GHC 8.0.2

Open snoyberg opened this issue 8 years ago • 2 comments

> /tmp/stackage-build13/unicode-show-0.1.0.2$ runghc -clear-package-db -global-package-db -package-db=/var/stackage/work/builds/nightly/pkgdb Setup configure --enable-tests --package-db=clear --package-db=global --package-db=/var/stackage/work/builds/nightly/pkgdb --libdir=/var/stackage/work/builds/nightly/lib --bindir=/var/stackage/work/builds/nightly/bin --datadir=/var/stackage/work/builds/nightly/share --libexecdir=/var/stackage/work/builds/nightly/libexec --sysconfdir=/var/stackage/work/builds/nightly/etc --docdir=/var/stackage/work/builds/nightly/doc/unicode-show-0.1.0.2 --htmldir=/var/stackage/work/builds/nightly/doc/unicode-show-0.1.0.2 --haddockdir=/var/stackage/work/builds/nightly/doc/unicode-show-0.1.0.2 --flags=
Configuring unicode-show-0.1.0.2...
> /tmp/stackage-build13/unicode-show-0.1.0.2$ runghc -clear-package-db -global-package-db -package-db=/var/stackage/work/builds/nightly/pkgdb Setup build
Building unicode-show-0.1.0.2...
Preprocessing library unicode-show-0.1.0.2...
[1 of 1] Compiling Text.Show.Unicode ( src/Text/Show/Unicode.hs, dist/build/Text/Show/Unicode.o )
Preprocessing test suite 'unicode-show-test' for unicode-show-0.1.0.2...
[1 of 1] Compiling Main             ( test/Spec.hs, dist/build/unicode-show-test/unicode-show-test-tmp/Main.o )
Linking dist/build/unicode-show-test/unicode-show-test ...
> /tmp/stackage-build13/unicode-show-0.1.0.2$ dist/build/unicode-show-test/unicode-show-test
individual representations test:
  ushow "\1589\1576\1575\1581 \1575\1604\1582\1610\1585" == "صباح الخير": [OK]
  ushow "\128518\128149>\955\\=\128024" == "😆💕>λ\\=🐘": [OK]
  ushow "\28450\&6" == "漢6": [OK]
  ushow " 7" == " 7": [OK]
  ushow "\25913\n\34892" == "改\n行": [OK]
  ushow "\19979\19968\31449\na\ri\ta\22269\38469\26426\22330" == "下一站\na\ri\ta国际机场": [OK]
  ushow "\SOH\SO\&H" == "\SOH\SO\&H": [OK]
read . ushow == id:
  read . ushow == id, for String: [OK, passed 100 tests]
  read . read . ushow . ushow == id, for String: [OK, passed 100 tests]
  read . ushow == id, for some crazy Unicode type: [OK, passed 100 tests]
  read . ushow == id, for some crazy Unicode type: [Failed]
*** Failed! Exception: 'Prelude.read: no parse' (after 1 test): 
""
""
(used seed 859813756666089956)
  read . ushow == id, for compound type: [OK, passed 100 tests]

         Properties  Test Cases  Total       
 Passed  4           7           11          
 Failed  1           0           1           
 Total   5           7           12  

snoyberg avatar Jan 24 '17 16:01 snoyberg

Thank you for finding out! I'll look at it.

nushio3 avatar Jan 25 '17 08:01 nushio3

I have confirmed that the test case is failing:

data T = String :@\& String  deriving (Eq, Ord, Show, Read)
data T = String :@\& String  deriving (Eq, Ord, Show, Read)

Strangely enough, the former operator :@\& breaks the identity read . ushow == id, while the latter :@\& does not. In contrast, on ghc 7.10.3, the former operator kept the identity, while the latter did not.

The former consists only of ASCII characters while the latter includes a Unicode character.

I need to further investigate to find the cause....

nushio3 avatar Feb 05 '17 14:02 nushio3