fpco / streaming-commons

Common lower-level functions needed by various streaming data libraries
MIT License
36 stars 39 forks source link

Test failure on aarch64 with ghc-9.2.1 due to UTF16 text decoding #60

Open expipiplus1 opened 3 years ago

expipiplus1 commented 3 years ago

Because of this issue with text https://github.com/haskell/text/issues/380

Submitting this issue in case anyone else digs into it.

running tests
Running 1 test suites...
Test suite test: RUNNING...

Data.Streaming.ByteString.Builder
  Data.Streaming.ByteString.Builder
    idempotent to toLazyByteString
      +++ OK, passed 100 tests.
    works for large input
    works for lazy bytestring insertion
    works for strict bytestring insertion
      +++ OK, passed 100 tests.
    flush shouldn't bring in empty strings.
    flushing
      +++ OK, passed 100 tests.
    large flush input
    toByteStringIO idempotent to toLazyByteString
      +++ OK, passed 100 tests.
    toByteStringIO idempotent to toLazyBytestring, specific case
Data.Streaming.FileRead
  Data.Streaming.FileRead
    works
Data.Streaming.Filesystem
  Data.Streaming.Filesystem
    dirstream
    getFileType
      file
      dir
      file sym
      file sym
      other
      recursive symlink is other
      dangling symlink is other
Data.Streaming.Network
  getDefaultReadBufferSize
    sanity
  getUnassignedPort
    sanity
  bindRandomPortTCP
    sanity
      +++ OK, passed 5 tests.
Data.Streaming.Process
  cat
    +++ OK, passed 100 tests.
  closed stream
  checked process
  blocking vs non-blocking
Data.Streaming.Text
  Data.Streaming.TextSpec
    UTF8
      bytes
        +++ OK, passed 100 tests.
      chars
        +++ OK, passed 100 tests.
      high code points
    UTF8 pure
      bytes
        +++ OK, passed 100 tests.
      chars
        +++ OK, passed 100 tests.
      high code points
    UTF16LE
      bytes FAILED [1]
      chars FAILED [2]
      high code points FAILED [3]
    UTF16BE
      bytes FAILED [4]
      chars FAILED [5]
      high code points FAILED [6]
    UTF32LE
      bytes
        +++ OK, passed 100 tests.
      chars
        +++ OK, passed 100 tests.
      high code points
    UTF32BE
      bytes
        +++ OK, passed 100 tests.
      chars
        +++ OK, passed 100 tests.
      high code points
    UTF8 leftovers
      C
        single chunk
        multi chunk, no good
        multi chunk, good in the middle
      pure
        multi chunk, no good
    UTF16LE spot checks
      [[0,216,0],[220,0,0,0,0,0,0]] FAILED [7]
Data.Streaming.Zlib
  Data.Streaming.Zlib
    inflate/deflate
      decompress'
        +++ OK, passed 100 tests.
      compress'
        +++ OK, passed 100 tests.
      with dictionary
        +++ OK, passed 100 tests.
      different dict
    license
      single deflate
      single inflate
      multi deflate
      multi inflate
    lbs zlib
      inflate
        +++ OK, passed 100 tests.
      deflate
        +++ OK, passed 100 tests.
    flushing
      zlib
      gzip
    large raw #9
      compressing
      decompressing
    getUnusedInflate

Failures:

  test/Data/Streaming/TextSpec.hs:24:13:
  1) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16LE bytes
       uncaught exception: ErrorCall
       (Left invalid sequence 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:135:44 in main:Data.Streaming.TextSpec,Right "\NUL\NUL\NUL\NUL\NUL\9216")
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:51:22 in main:Data.Streaming.TextSpec
       (after 17 tests and 18 shrinks)
         [[0,0,0,0,0,0,0],[0,0,0,0,216,0,0]]

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16LE/bytes/"

  test/Data/Streaming/TextSpec.hs:25:13:
  2) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16LE chars
       uncaught exception: ErrorCall
       (Left invalid sequence 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:135:44 in main:Data.Streaming.TextSpec,Right "\92534")
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:51:22 in main:Data.Streaming.TextSpec
       (after 4 tests and 2 shrinks)
         ["\92534"]

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16LE/chars/"

  test/Data/Streaming/TextSpec.hs:41:51:
  3) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16LE high code points
       uncaught exception: ErrorCall
       unexpected failure 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:41:51 in main:Data.Streaming.TextSpec

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16LE/high code points/"

  test/Data/Streaming/TextSpec.hs:24:13:
  4) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16BE bytes
       uncaught exception: ErrorCall
       (Left invalid sequence 1
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:131:44 in main:Data.Streaming.TextSpec,Right "\9240")
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:51:22 in main:Data.Streaming.TextSpec
       (after 18 tests and 10 shrinks)
         [[216,0]]

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16BE/bytes/"

  test/Data/Streaming/TextSpec.hs:25:13:
  5) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16BE chars
       uncaught exception: ErrorCall
       (Left invalid sequence 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:135:44 in main:Data.Streaming.TextSpec,Right "\92534")
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:51:22 in main:Data.Streaming.TextSpec
       (after 4 tests and 2 shrinks)
         ["\92534"]

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16BE/chars/"

  test/Data/Streaming/TextSpec.hs:41:51:
  6) Data.Streaming.Text.Data.Streaming.TextSpec.UTF16BE high code points
       uncaught exception: ErrorCall
       unexpected failure 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:41:51 in main:Data.Streaming.TextSpec

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16BE/high code points/"

  test/Data/Streaming/TextSpec.hs:120:22:
  7) Data.Streaming.Text.Data.Streaming.TextSpec, UTF16LE spot checks, [[0,216,0],[220,0,0,0,0,0,0]]
       uncaught exception: ErrorCall
       (Left invalid sequence 2
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:135:44 in main:Data.Streaming.TextSpec,Right "\65536\NUL\NUL\NUL")
       CallStack (from HasCallStack):
         error, called at test/Data/Streaming/TextSpec.hs:120:22 in main:Data.Streaming.TextSpec

  To rerun use: --match "/Data.Streaming.Text/Data.Streaming.TextSpec/UTF16LE spot checks/[[0,216,0],[220,0,0,0,0,0,0]]/"

Randomized with seed 1245066861

Finished in 125.4783 seconds
63 examples, 7 failures

Test suite test: FAIL
Test suite logged to: dist/test/streaming-commons-0.2.2.1-test.log
0 of 1 test suites (0 of 1 test cases) passed.