From b4a00fecfd8c21ebce88d5ac9b23e61315e739a2 Mon Sep 17 00:00:00 2001 From: Timothy Sample Date: Fri, 8 Nov 2019 01:55:07 -0500 Subject: 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. --- gnu/packages/haskell-xyz.scm | 1 + .../patches/ghc-microlens-aeson-fix-tests.patch | 27 ++++++++++++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch (limited to 'gnu/packages') diff --git a/gnu/packages/haskell-xyz.scm b/gnu/packages/haskell-xyz.scm index 7d3c94c432..f352f6b187 100644 --- a/gnu/packages/haskell-xyz.scm +++ b/gnu/packages/haskell-xyz.scm @@ -6591,6 +6591,7 @@ stripped. As the result, this package has no dependencies.") (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")))) diff --git a/gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch b/gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch new file mode 100644 index 0000000000..c1ef6a837c --- /dev/null +++ b/gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch @@ -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 for a discussion resulting +in a similar patch fixing the Aeson tests. + +See 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]" -- cgit v1.2.3