[Git][haskell-team/DHG_packages][master] aeson: Add back and rebase patch for tests on 32-bit

Scott Talbert (@swt2c) gitlab at salsa.debian.org
Tue Feb 10 15:16:56 GMT 2026



Scott Talbert pushed to branch master at Debian Haskell Group / DHG_packages


Commits:
b1924cbb by Scott Talbert at 2026-02-10T10:00:59-05:00
aeson: Add back and rebase patch for tests on 32-bit

- - - - -


3 changed files:

- p/haskell-aeson/debian/changelog
- + p/haskell-aeson/debian/patches/fix-tests-32bit
- p/haskell-aeson/debian/patches/series


Changes:

=====================================
p/haskell-aeson/debian/changelog
=====================================
@@ -1,3 +1,9 @@
+haskell-aeson (2.2.3.0-2) unstable; urgency=medium
+
+  * Add back and rebase patch for tests on 32-bit (Closes: #1053530)
+
+ -- Scott Talbert <swt at techie.net>  Tue, 10 Feb 2026 09:30:32 -0500
+
 haskell-aeson (2.2.3.0-1) unstable; urgency=medium
 
   * Build using dh-haskell


=====================================
p/haskell-aeson/debian/patches/fix-tests-32bit
=====================================
@@ -0,0 +1,110 @@
+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
+@@ -24,91 +24,19 @@ import qualified Data.Aeson.Decoding.Tex
+ 
+ 
+ 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)))
+-
+-        , goldenVsStringDiff "tokens text" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "tok") $ do
+-            payload' <- B.readFile path
+-            case TE.decodeUtf8' payload' of
+-                Left exc -> fail $ show exc -- successful test shouldn't fail.
+-                Right payload -> do 
+-                    let result = D.textToTokens 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)
+-
+-            case TE.decodeUtf8' payload of
+-                Left _exc -> return ()
+-                Right payloadT -> do
+-                    let result4 = D.eitherDecodeStrictText payloadT :: Either String Value
+-                    assertBool ("text:" ++ show result4) (isLeft result4)
+-
+-        , 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)))
+-
+-        , goldenVsStringDiff "tokens text" diff ("tests" </>  "JSONTestSuite" </> "results" </> fileName -<.> "ttok") $ do
+-            payload' <- B.readFile path
+-            case TE.decodeUtf8' payload' of
+-                Left _exc -> do
+-                    -- some failing cases are invalid UTF8
+-                    return (LBS8.pack "Invalid UTF8")
+-                Right payload -> do 
+-                    let result = D.textToTokens 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


=====================================
p/haskell-aeson/debian/patches/series
=====================================
@@ -1,2 +1,3 @@
 no-generically
 newer-deps
+fix-tests-32bit



View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/b1924cbb4a216a7f954b04e9d2f28cc0b79794f7

-- 
View it on GitLab: https://salsa.debian.org/haskell-team/DHG_packages/-/commit/b1924cbb4a216a7f954b04e9d2f28cc0b79794f7
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-haskell-commits/attachments/20260210/63189a87/attachment-0001.htm>


More information about the Pkg-haskell-commits mailing list