Bug 179520

Summary: [webkitpy] Fix PlatformInfo._win_version since r224657
Product: WebKit Reporter: Fujii Hironori <fujii.hironori>
Component: Tools / TestsAssignee: Fujii Hironori <fujii.hironori>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, buildbot, glenn, jbedard, lforschler, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch aakash_jain: review+, aakash_jain: commit-queue-

Fujii Hironori
Reported 2017-11-09 20:19:11 PST
[Win] version.py: ValueError: Version expected to be string, integer, tuple or list of integers Bug 179426 has added version.py. It reports the following error by using ActivePython 2.7. > C:\webkit\ga>python ./Tools/Scripts/webkit-patch apply-from-bug --port wincairo --no-update 123 > Traceback (most recent call last): > File "./Tools/Scripts/webkit-patch", line 84, in <module> > main() > File "./Tools/Scripts/webkit-patch", line 79, in main > WebKitPatch(os.path.abspath(__file__)).main() > File "C:\webkit\ga\Tools\Scripts\webkitpy\tool\main.py", line 57, in __init__ > Host.__init__(self) > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\host.py", line 48, in __init__ > SystemHost.__init__(self) > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\system\systemhost.py", line 40, in __init__ > self.user = user.User() > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\system\user.py", line 61, in __init__ > self._platforminfo = platforminfo or PlatformInfo(sys, platform, Executive()) > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\system\platforminfo.py", line 61, in __init__ > self.os_version = self._determine_win_version(self._win_version(sys_module)) > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\system\platforminfo.py", line 196, in _win_version > return Version(sys_module.getwindowsversion()) > File "C:\webkit\ga\Tools\Scripts\webkitpy\common\version.py", line 46, in __init__ > raise ValueError('Version expected to be string, integer, tuple or list of integers') > ValueError: Version expected to be string, integer, tuple or list of integers I tested with trunk@224660.
Attachments
Patch (2.26 KB, patch)
2017-11-09 23:04 PST, Fujii Hironori
aakash_jain: review+
aakash_jain: commit-queue-
Fujii Hironori
Comment 1 2017-11-09 20:20:35 PST
5th element of getwindowsversion() is ''. This causes another error. Should be truncated like sys.getwindowsversion()[0:3]. > ActivePython 2.7.10.12 (ActiveState Software Inc.) based on > Python 2.7.10 (default, Aug 21 2015, 12:07:58) [MSC v.1500 64 bit (AMD64)] on win32 > Type "help", "copyright", "credits" or "license" for more information. > >>> import sys > >>> sys.getwindowsversion() > sys.getwindowsversion(major=6, minor=2, build=9200, platform=2, service_pack='') > >>> sys.getwindowsversion()[0:3] > (6, 2, 9200) > >>>
Fujii Hironori
Comment 2 2017-11-09 22:54:30 PST
r224657 breaks Cygwin Python, too. > Traceback (most recent call last): > File "./Tools/Scripts/webkit-patch", line 84, in <module> > main() > File "./Tools/Scripts/webkit-patch", line 79, in main > WebKitPatch(os.path.abspath(__file__)).main() > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/tool/main.py", line 57, in __init__ > Host.__init__(self) > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/host.py", line 48, in __init__ > SystemHost.__init__(self) > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/system/systemhost.py", line 40, in __init__ > self.user = user.User() > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/system/user.py", line 61, in __init__ > self._platforminfo = platforminfo or PlatformInfo(sys, platform, Executive()) > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/system/platforminfo.py", line 61, in __init__ > self.os_version = self._determine_win_version(self._win_version(sys_module)) > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/system/platforminfo.py", line 197, in _win_version > return Version(self._executive.run_command(['cmd', '/c', 'ver'], decode_output=False)) > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/version.py", line 38, in __init__ > self[i] = ver.split('.')[i] > File "/cygdrive/c/webkit/ga/Tools/Scripts/webkitpy/common/version.py", line 73, in __setitem__ > self.major = int(value) > ValueError: invalid literal for int() with base 10: 'Microsoft Windows [Version 10' This is the output of ver command. > C:\>ver > > Microsoft Windows [Version 10.0.14393]
Fujii Hironori
Comment 3 2017-11-09 23:04:36 PST
Aakash Jain
Comment 4 2017-11-10 08:33:45 PST
Comment on attachment 326560 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=326560&action=review > Tools/Scripts/webkitpy/common/system/platforminfo.py:199 > + def _win_version_tuple_from_cmd(self): This doesn't return tuple anymore, we should rename it to _win_version_from_cmd.
Jonathan Bedard
Comment 5 2017-11-10 09:03:59 PST
Committed the change (with Aakash's edits) in <https://trac.webkit.org/changeset/224685/webkit>.
Radar WebKit Bug Importer
Comment 6 2017-11-15 09:39:19 PST
Note You need to log in before you can comment on or make changes to this bug.