[webkitpy] Check 'bug-search' returns a non null result before parsing
Created attachment 401345 [details] Patch
For instance, the following query in master returns the following stacktrace: ``` $ Tools/Scripts/webkit-patch bug-search creator=dpino@igalia.com Logging in as dpino@igalia.com... Traceback (most recent call last): File "Tools/Scripts/webkit-patch", line 80, in <module> main() File "Tools/Scripts/webkit-patch", line 75, in main WebKitPatch(os.path.abspath(__file__)).main() File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 305, in main result = command.check_arguments_and_execute(options, args, self) File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/tool/multicommandtool.py", line 123, in check_arguments_and_execute return self.execute(options, args, tool) or 0 File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/tool/commands/bugsearch.py", line 45, in execute bugs = tool.bugs.queries.fetch_bugs_matching_quicksearch(search_string) File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py", line 238, in fetch_bugs_matching_quicksearch return self._fetch_bugs_from_advanced_query(quicksearch_url) File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py", line 169, in _fetch_bugs_from_advanced_query if not self._parse_result_count(results_page): File "/home/dpino/workspace/webkit/Tools/Scripts/webkitpy/common/net/bugzilla/bugzilla.py", line 143, in _parse_result_count result_count_text = BeautifulSoup(results_page).find(attrs={'class': 'bz_result_count'}).string AttributeError: 'NoneType' object has no attribute 'string' ``` The syntax of query is not valid (the 'creator' field doesn't exist). The same query with the patch applied returns: ``` $ Tools/Scripts/webkit-patch bug-search creator=dpino@igalia.com Logging in as dpino@igalia.com... BeautifulSoup returned None while finding class: bz_result_count in: <response_seek_wrapper at 0x7f5b712bda50 whose wrapped object = <closeable_response at 0x7f5b712df0f0 whose fp = <socket._fileobject object at 0x7f5b712dc1d0>>> Failed to find bugs for https://bugs.webkit.org/buglist.cgi?quicksearch=creator%3Ddpino%40igalia.com&list_id=5962028 No bugs found matching 'creator=dpino@igalia.com' ``` The correct query would be: ``` $ Tools/Scripts/webkit-patch bug-search reporter=dpino@igalia.com ``` A valid query that returns no results would be: ``` Tools/Scripts/webkit-patch bug-search reporter=xyz@igalia.com Logging in as dpino@igalia.com... BeautifulSoup returned None while finding class: bz_result_count in: <response_seek_wrapper at 0x7fb3dcaad9b0 whose wrapped object = <closeable_response at 0x7fb3dcab7050 whose fp = <socket._fileobject object at 0x7fb3dcab32d0>>> Failed to find bugs for https://bugs.webkit.org/buglist.cgi?quicksearch=reporter%3Dxyz%40igalia.com&list_id=5962045 No bugs found matching 'reporter=xyz@igalia.com' ```
Created attachment 401349 [details] Patch
Committed r262775: <https://trac.webkit.org/changeset/262775> All reviewed patches have been landed. Closing bug and clearing flags on attachment 401349 [details].
<rdar://problem/64150351>