* 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.
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| 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]"
 |