gnu: ghc-microlens-aeson: Patch tests for i686-linux.

* gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch: New file.
* gnu/local.mk: Add it.
* gnu/packages/haskell-xyz.scm (ghc-microlens-aeson): Use it.
This commit is contained in:
Timothy Sample 2019-11-08 01:55:07 -05:00
parent 0710797d30
commit b4a00fecfd
No known key found for this signature in database
GPG key ID: 2AC6A5EC1C357C59
3 changed files with 29 additions and 0 deletions

View file

@ -881,6 +881,7 @@ dist_patch_DATA = \
%D%/packages/patches/ghc-diff-swap-cover-args.patch \
%D%/packages/patches/ghc-dont-pass-linker-flags-via-response-files.patch \
%D%/packages/patches/ghc-hpack-fix-tests.patch \
%D%/packages/patches/ghc-microlens-aeson-fix-tests.patch \
%D%/packages/patches/ghc-monad-par-fix-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-html-tests.patch \
%D%/packages/patches/ghc-pandoc-fix-latex-test.patch \

View file

@ -6591,6 +6591,7 @@ (define-public ghc-microlens-aeson
(uri (string-append "https://hackage.haskell.org/package/"
"microlens-aeson/microlens-aeson-"
version ".tar.gz"))
(patches (search-patches "ghc-microlens-aeson-fix-tests.patch"))
(sha256
(base32
"0w630kk5bnily1qh41081gqgbwmslrh5ad21899gwnb2r3jripyw"))))

View file

@ -0,0 +1,27 @@
This patch fixes the test suite to allow any order when listing the
members of a JSON object. Aeson (being true to the JSON specification)
does not specify an order for objects. In practice, the order depends
on your processor architecture.
See <https://github.com/bos/aeson/issues/568> for a discussion resulting
in a similar patch fixing the Aeson tests.
See <https://github.com/fosskers/microlens-aeson/issues/1> for the
upstream bug report.
diff -ruN a/test/Test.hs b/test/Test.hs
--- a/test/Test.hs 2018-12-31 15:10:50.000000000 -0500
+++ b/test/Test.hs 2019-11-08 01:34:07.419706831 -0500
@@ -48,8 +48,10 @@
, testCase "" $ ("{\"a\": {}, \"b\": null}" ^? key (T.pack "b") . _Object) @?= Nothing
, testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? key (T.pack "a")) @?= Just (Number 100.0)
, testCase "" $ ("[1,2,3]" ^? key (T.pack "a")) @?= Nothing
- , testCase "" $ ("{\"a\": 4, \"b\": 7}" ^.. members) @?= [Number 4.0,Number 7.0]
- , testCase "" $ ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10)) @?= "{\"a\":40,\"b\":70}"
+ , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" ^.. members)
+ in x == [Number 4.0,Number 7.0] || x == [Number 7.0,Number 4.0])
+ , testCase "" $ assertBool "" (let x = ("{\"a\": 4, \"b\": 7}" & members . _Number %~ (* 10))
+ in x == "{\"a\":40,\"b\":70}" || x == "{\"b\":70,\"a\":40}")
, testCase "" $ ("[1,2,3]" ^? nth 1) @?= Just (Number 2.0)
, testCase "" $ ("{\"a\": 100, \"b\": 200}" ^? nth 1) @?= Nothing
, testCase "" $ ("[1,2,3]" & nth 1 .~ Number 20) @?= "[1,20,3]"