File: fix-tests-32bit

package info (click to toggle)
haskell-aeson 2.1.2.1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 8,988 kB
  • sloc: haskell: 11,933; ansic: 123; makefile: 11
file content (88 lines) | stat: -rw-r--r-- 4,305 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
Description: Fix tests on 32bit systems
  Revert commit f089cdbf5dc5b0e396dcad7497871297770d08a5.
Bug: https://github.com/haskell/aeson/issues/1060

Index: b/tests/JSONTestSuite.hs
===================================================================
--- a/tests/JSONTestSuite.hs
+++ b/tests/JSONTestSuite.hs
@@ -22,69 +22,19 @@ import qualified Data.Aeson.Decoding.Byt
 
 
 jsonTestSuiteTest :: FilePath -> TestTree
-jsonTestSuiteTest path = case take 2 fileName of
-    "n_"                                                -> negative
-    "y_"                                                -> positive
-    "i_" | fileName `HashSet.member` ignore_accepted    -> positive
-         | otherwise                                    -> negative
-    _    | fileName `HashSet.member` transform_rejected -> negative
-         | otherwise                                    -> positive
+jsonTestSuiteTest path = testCase fileName $ do
+    payload <- L.readFile path
+    let result = eitherDecode payload :: Either String Value
+    assertBool (show result) $ case take 2 fileName of
+      "n_"                                                -> isLeft result
+      "y_"                                                -> isRight result
+      "i_" | fileName `HashSet.member` ignore_accepted    -> isRight result
+           | otherwise                                    -> isLeft result
+      _    | fileName `HashSet.member` transform_rejected -> isLeft result
+           | otherwise                                    -> isRight result -- test_transform tests have inconsistent names
   where
     fileName = takeFileName path
 
-    diff ref new = ["diff", "-u", ref, new]
-
-    positive = testGroup fileName
-        [ goldenVsStringDiff "decode" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "txt") $ do
-            payload <- B.readFile path
-            let result = eitherDecodeStrict payload :: Either String Value
-            assertBool (show result) (isRight result)
-            return (LBS8.pack (show result ++ "\n"))
-
-        , goldenVsStringDiff "decode via tokens" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "txt") $ do
-            payload <- B.readFile path
-            let result = D.eitherDecodeStrict payload :: Either String Value
-            assertBool (show result) (isRight result)
-            return (LBS8.pack (show result ++ "\n"))
-
-        , goldenVsStringDiff "tokens bs" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "tok") $ do
-            payload <- B.readFile path
-            let result = D.bsToTokens payload
-            return (LBS8.pack (unlines (showTokens (const []) result)))
-
-        , goldenVsStringDiff "tokens lbs" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "tok") $ do
-            payload <- L.readFile path
-            let result = D.lbsToTokens payload
-            return (LBS8.pack (unlines (showTokens (const []) result)))
-
-        ]
-
-    negative = testGroup fileName
-        [ testCase "decode" $ do
-            payload <- B.readFile path
-
-            let result1 = eitherDecodeStrict payload :: Either String Value
-            assertBool ("decode:" ++ show result1) (isLeft result1)
-
-            let result2 = D.eitherDecodeStrict payload :: Either String Value
-            assertBool ("strict:" ++ show result2) (isLeft result2)
-
-            payloadL <- L.readFile path
-
-            let result3 = D.eitherDecode payloadL :: Either String Value
-            assertBool ("lazy:" ++ show result3) (isLeft result3)
-
-        , goldenVsStringDiff "tokens bs" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "tok") $ do
-            payload <- B.readFile path
-            let result = D.bsToTokens payload
-            return (LBS8.pack (unlines (showTokens (const []) result)))
-
-        , goldenVsStringDiff "tokens lbs" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "tok") $ do
-            payload <- L.readFile path
-            let result = D.lbsToTokens payload
-            return (LBS8.pack (unlines (showTokens (const []) result)))
-
-        ]
 
 showTokens :: Show e => (k -> [String]) -> Tokens k e -> [String]
 showTokens kont (TkLit l k)      = ("TkLit " ++ show l) : kont k