]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-136599: Add tests for long_hash (#138335)
authorPieter Eendebak <pieter.eendebak@gmail.com>
Tue, 2 Sep 2025 16:42:12 +0000 (18:42 +0200)
committerGitHub <noreply@github.com>
Tue, 2 Sep 2025 16:42:12 +0000 (18:42 +0200)
Co-authored-by: Sergey B Kirpichev <skirpichev@gmail.com>
Lib/test/test_long.py

index f336d49fa4f00863fa71c5d70498e422b8895d28..d63bc19ed9c9a2436a1c8dfcf31ccf87c5decfd1 100644 (file)
@@ -1693,5 +1693,21 @@ class LongTest(unittest.TestCase):
         # 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()