[Python-checkins] distutils2: Changed hashing behaviour for NormalizedVersion. Equal versions have the

tarek.ziade python-checkins at python.org
Sat Oct 2 00:52:19 CEST 2010


tarek.ziade pushed a4eaf904c096 to distutils2:
http://hg.python.org/distutils2/rev/a4eaf904c096
changeset: 701:a4eaf904c096
parent: 697:12c37807f046
user: Amos Latteier <amos at latteier.com>
date: Wed Sep 29 20:42:58 2010 -0400
summary: Changed hashing behaviour for NormalizedVersion. Equal versions have the
files: distutils2/tests/test_version.py, distutils2/version.py
diff --git a/distutils2/tests/test_version.py b/distutils2/tests/test_version.py
--- a/distutils2/tests/test_version.py
+++ b/distutils2/tests/test_version.py
@@ -31,6 +31,15 @@
 for v, s in self.versions:
 self.assertEqual(str(v), s)
 
+ def test_hash(self):
+
+ for v, s in self.versions:
+ self.assertEqual(hash(v), hash(V(s)))
+
+ versions = set([v for v,s in self.versions])
+ for v, s in self.versions:
+ self.assertIn(v, versions)
+
 def test_from_parts(self):
 
 for v, s in self.versions:
diff --git a/distutils2/version.py b/distutils2/version.py
--- a/distutils2/version.py
+++ b/distutils2/version.py
@@ -131,7 +131,7 @@
 pad_zeros_length=0):
 """Parse 'N.N.N' sequences, return a list of ints.
 
- @param s {str} 'N.N.N..." sequence to be parsed
+ @param s {str} 'N.N.N...' sequence to be parsed
 @param full_ver_str {str} The full version string from which this
 comes. Used for error strings.
 @param drop_trailing_zeros {bool} Whether to drop trailing zeros
@@ -206,7 +206,8 @@
 return self.__eq__(other) or self.__gt__(other)
 
 # See http://docs.python.org/reference/datamodel#object.__hash__
- __hash__ = object.__hash__
+ def __hash__(self):
+ return hash(self.parts)
 
 
 def suggest_normalized_version(s):
--
Repository URL: http://hg.python.org/distutils2


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /