diff options
author | Raymond Hettinger <python@rcn.com> | 2004-10-26 01:52:37 +0000 |
---|---|---|
committer | Raymond Hettinger <python@rcn.com> | 2004-10-26 01:52:37 +0000 |
commit | b03bc9373037f79e5649a40d87a2666f26f0d36b (patch) | |
tree | 513c3e99cb23d66bf1644959b81b2628bea58f5a /Lib/test/string_tests.py | |
parent | b188ec6965af285eaf8ce1aa1da315178d00dec9 (diff) | |
download | cpython-b03bc9373037f79e5649a40d87a2666f26f0d36b.tar.gz |
SF bug #1054139: serious string hashing error in 2.4b1
_PyString_Resize() readied strings for mutation but did not invalidate
the cached hash value.
Diffstat (limited to 'Lib/test/string_tests.py')
-rw-r--r-- | Lib/test/string_tests.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index 4335965b36..c8ed07cf60 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -80,6 +80,15 @@ class CommonTest(unittest.TestCase): args = self.fixtype(args) getattr(object, methodname)(*args) + def test_hash(self): + # SF bug 1054139: += optimization was not invalidating cached hash value + a = self.type2test('DNSSEC') + b = self.type2test('') + for c in a: + b += c + hash(b) + self.assertEqual(hash(a), hash(b)) + def test_capitalize(self): self.checkequal(' hello ', ' hello ', 'capitalize') self.checkequal('Hello ', 'Hello ','capitalize') |