- Revision
- 283824
- Author
- jbed...@apple.com
- Date
- 2021-10-08 12:19:16 -0700 (Fri, 08 Oct 2021)
Log Message
[webkitcorepy] Not possible to autoinstall a package with micro version 0
https://bugs.webkit.org/show_bug.cgi?id=230540
<rdar://problem/83613371>
Reviewed by Michael Catanzaro.
* Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py:
(VersionTestCase.test_int_constructor): Default values are 'None.'
* Scripts/libraries/webkitcorepy/webkitcorepy/version.py:
(Version.from_iterable):
(Version.__init__): Use 'None' as the default value instead of 0.
(Version.__setitem__): Support 'None' as a version value.
(Version.__contains__): Ditto.
(Version.__hash__): Ditto.
(Version.__cmp__): Ditto.
Modified Paths
Diff
Modified: trunk/Tools/ChangeLog (283823 => 283824)
--- trunk/Tools/ChangeLog 2021-10-08 19:16:57 UTC (rev 283823)
+++ trunk/Tools/ChangeLog 2021-10-08 19:19:16 UTC (rev 283824)
@@ -1,3 +1,23 @@
+2021-10-08 Jonathan Bedard <jbed...@apple.com>
+
+ [webkitcorepy] Not possible to autoinstall a package with micro version 0
+ https://bugs.webkit.org/show_bug.cgi?id=230540
+ <rdar://problem/83613371>
+
+ Reviewed by Michael Catanzaro.
+
+ * Scripts/libraries/webkitcorepy/setup.py: Bump version.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
+ * Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py:
+ (VersionTestCase.test_int_constructor): Default values are 'None.'
+ * Scripts/libraries/webkitcorepy/webkitcorepy/version.py:
+ (Version.from_iterable):
+ (Version.__init__): Use 'None' as the default value instead of 0.
+ (Version.__setitem__): Support 'None' as a version value.
+ (Version.__contains__): Ditto.
+ (Version.__hash__): Ditto.
+ (Version.__cmp__): Ditto.
+
2021-10-08 Andres Gonzalez <andresg...@apple.com>
AX: AXMathRootRadicand should return an array of elements, not just the first
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/setup.py (283823 => 283824)
--- trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-10-08 19:16:57 UTC (rev 283823)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/setup.py 2021-10-08 19:19:16 UTC (rev 283824)
@@ -30,7 +30,7 @@
setup(
name='webkitcorepy',
- version='0.11.1',
+ version='0.11.2',
description='Library containing various Python support classes and functions.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py (283823 => 283824)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-10-08 19:16:57 UTC (rev 283823)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py 2021-10-08 19:19:16 UTC (rev 283824)
@@ -43,7 +43,7 @@
from webkitcorepy.editor import Editor
from webkitcorepy.file_lock import FileLock
-version = Version(0, 11, 1)
+version = Version(0, 11, 2)
from webkitcorepy.autoinstall import Package, AutoInstall
if sys.version_info > (3, 0):
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py (283823 => 283824)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py 2021-10-08 19:16:57 UTC (rev 283823)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/tests/version_unittest.py 2021-10-08 19:19:16 UTC (rev 283824)
@@ -52,10 +52,10 @@
def test_int_constructor(self):
v = Version(1)
self.assertEqual(v.major, 1)
- self.assertEqual(v.minor, 0)
- self.assertEqual(v.tiny, 0)
- self.assertEqual(v.micro, 0)
- self.assertEqual(v.nano, 0)
+ self.assertEqual(v.minor, None)
+ self.assertEqual(v.tiny, None)
+ self.assertEqual(v.micro, None)
+ self.assertEqual(v.nano, None)
def test_len(self):
self.assertEqual(len(Version(1, 2, 3, 4, 5)), 5)
Modified: trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/version.py (283823 => 283824)
--- trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/version.py 2021-10-08 19:16:57 UTC (rev 283823)
+++ trunk/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/version.py 2021-10-08 19:19:16 UTC (rev 283824)
@@ -37,7 +37,7 @@
def from_iterable(val):
result = Version()
for i in range(len(val)):
- result[i] = int(val[i])
+ result[i] = None if val[i] is None else int(val[i])
return result
@staticmethod
@@ -45,12 +45,12 @@
from webkitpy.common.version_name_map import VersionNameMap
return VersionNameMap.map().from_name(name)[1]
- def __init__(self, major=0, minor=0, tiny=0, micro=0, nano=0):
+ def __init__(self, major=0, minor=None, tiny=None, micro=None, nano=None):
self.major = int(major)
- self.minor = int(minor)
- self.tiny = int(tiny)
- self.micro = int(micro)
- self.nano = int(nano)
+ self.minor = None if minor is None else int(minor)
+ self.tiny = None if tiny is None else int(tiny)
+ self.micro = None if micro is None else int(micro)
+ self.nano = None if nano is None else int(nano)
def __len__(self):
return 5
@@ -75,21 +75,22 @@
raise ValueError('Expected version key to be string or integer')
def __setitem__(self, key, value):
+ value = None if value is None else int(value)
if isinstance(key, int):
if key == 0:
- self.major = int(value)
+ self.major = value
return self.major
elif key == 1:
- self.minor = int(value)
+ self.minor = value
return self.minor
elif key == 2:
- self.tiny = int(value)
+ self.tiny = value
return self.tiny
elif key == 3:
- self.micro = int(value)
+ self.micro = value
return self.micro
elif key == 4:
- self.nano = int(value)
+ self.nano = value
return self.nano
raise ValueError('Version key must be between 0 and 4')
elif isinstance(key, str):
@@ -136,9 +137,9 @@
assert isinstance(version, Version)
does_match = True
for i in range(len(version)):
- if self[i] != version[i]:
+ if (self[i] or 0) != (version[i] or 0):
does_match = False
- if not does_match and self[i] != 0:
+ if not does_match and self[i] is not None:
return False
return True
@@ -156,7 +157,7 @@
result = 0
for index in range(len(self)):
result *= 1000
- result += self[index]
+ result += -1 if self[index] is None else self[index]
return result
def __cmp__(self, other):
@@ -163,7 +164,7 @@
if other is None:
return 1
for i in range(len(self)):
- diff = self[i] - other[i]
+ diff = (self[i] or 0) - (other[i] or 0)
if diff:
return diff
return 0