aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch
diff options
context:
space:
mode:
authorMarius Bakke <mbakke@fastmail.com>2019-11-21 22:44:15 +0100
committerMarius Bakke <mbakke@fastmail.com>2019-11-21 22:44:15 +0100
commitb60d2bfff95c0859d7814c1fe9d0940c87edc2b4 (patch)
tree49d3339f93c9d9fad5c66609a1dc4964f2856f79 /gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch
parent0c6ab52243353e3417e5a9733bb089e4771cc86e (diff)
parenta31b9dac1cbda07225fcdffe03d13d68c4eab981 (diff)
downloadguix-b60d2bfff95c0859d7814c1fe9d0940c87edc2b4.tar
guix-b60d2bfff95c0859d7814c1fe9d0940c87edc2b4.tar.gz
Merge branch 'master' into staging
Diffstat (limited to 'gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch')
-rw-r--r--gnu/packages/patches/ghc-microlens-aeson-fix-tests.patch27
1 files changed, 27 insertions, 0 deletions
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 <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]"