https://github.com/python/cpython/commit/2d3711dc06657e072a83b580636cbb0009658636
commit: 2d3711dc06657e072a83b580636cbb0009658636
branch: main
author: Pieter Eendebak <[email protected]>
committer: vstinner <[email protected]>
date: 2025-09-02T18:42:12+02:00
summary:

gh-136599: Add tests for long_hash (#138335)

Co-authored-by: Sergey B Kirpichev <[email protected]>

files:
M Lib/test/test_long.py

diff --git a/Lib/test/test_long.py b/Lib/test/test_long.py
index f336d49fa4f008..d63bc19ed9c9a2 100644
--- a/Lib/test/test_long.py
+++ b/Lib/test/test_long.py
@@ -1693,5 +1693,21 @@ class MyInt(int):
         # GH-117195 -- This shouldn't crash
         object.__sizeof__(1)
 
+    def test_hash(self):
+        # gh-136599
+        self.assertEqual(hash(-1), -2)
+        self.assertEqual(hash(0), 0)
+        self.assertEqual(hash(10), 10)
+
+        self.assertEqual(hash(sys.hash_info.modulus - 2), 
sys.hash_info.modulus - 2)
+        self.assertEqual(hash(sys.hash_info.modulus - 1), 
sys.hash_info.modulus - 1)
+        self.assertEqual(hash(sys.hash_info.modulus), 0)
+        self.assertEqual(hash(sys.hash_info.modulus + 1), 1)
+
+        self.assertEqual(hash(-sys.hash_info.modulus - 2), -2)
+        self.assertEqual(hash(-sys.hash_info.modulus - 1), -2)
+        self.assertEqual(hash(-sys.hash_info.modulus), 0)
+        self.assertEqual(hash(-sys.hash_info.modulus + 1), 
-sys.hash_info.modulus + 1)
+
 if __name__ == "__main__":
     unittest.main()

_______________________________________________
Python-checkins mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3//lists/python-checkins.python.org
Member address: [email protected]

Reply via email to