Bug 118060 - Add a new find-resolved-bugs command to webkit-patch.
Summary: Add a new find-resolved-bugs command to webkit-patch.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Tools / Tests (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-26 07:59 PDT by Gábor Ábrahám
Modified: 2013-07-17 03:10 PDT (History)
12 users (show)

See Also:


Attachments
OldBugValidatorTool (1.42 KB, text/plain)
2013-06-28 01:39 PDT, Gábor Ábrahám
buildbot: commit-queue-
Details
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion (853.14 KB, application/zip)
2013-06-28 04:37 PDT, Build Bot
no flags Details
OldBugValidatorTool Python (3.80 KB, patch)
2013-07-08 07:41 PDT, Gábor Ábrahám
rniwa: review-
rniwa: commit-queue-
Details | Formatted Diff | Diff
Proposed patch (3.08 KB, patch)
2013-07-17 03:02 PDT, Gábor Ábrahám
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Gábor Ábrahám 2013-06-26 07:59:28 PDT
I made an old bug tracker tool. It searches for bug id-s in the TestExpectations file and lists which has "RESOLVED" status.

Run example: ./oldbugvalidator.sh /home/path/to/TestExpectations

Now this is a WIP solution, but helped me a lot with closing old bugs.
Our plans are to rewrite it in python.
Comment 1 Csaba Osztrogonác 2013-06-27 10:53:02 PDT
I think you missed to attach your WIP tool. :)
Comment 2 Gábor Ábrahám 2013-06-28 01:39:01 PDT
Created attachment 205677 [details]
OldBugValidatorTool 

Somehow it wasn't attached to my comment.
Comment 3 WebKit Commit Bot 2013-06-28 01:42:11 PDT
Attachment 205677 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files']" exit_code: 1
Total errors found: 0 in 0 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Build Bot 2013-06-28 04:37:07 PDT
Comment on attachment 205677 [details]
OldBugValidatorTool 

Attachment 205677 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/948649

New failing tests:
media/video-zoom.html
Comment 5 Build Bot 2013-06-28 04:37:09 PDT
Created attachment 205698 [details]
Archive of layout-test-results from webkit-ews-08 for mac-mountainlion

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: webkit-ews-08  Port: mac-mountainlion  Platform: Mac OS X 10.8.3
Comment 6 Gábor Ábrahám 2013-07-08 07:41:23 PDT
Created attachment 206245 [details]
OldBugValidatorTool Python

The implementation of Old Bug Validator in Python.
Comment 7 WebKit Commit Bot 2013-07-08 07:42:19 PDT
Attachment 206245 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Tools/ChangeLog', u'Tools/Scripts/old-bug-validator.py']" exit_code: 1
Tools/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Total errors found: 1 in 2 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 8 Peter Gal 2013-07-08 07:51:58 PDT
View in context: https://bugs.webkit.org/attachment.cgi?id=206245&action=review

> Tools/Scripts/old-bug-validator.py:34
> +parser = OptionParser(usage=usage, description="Checking the given TestExpectations file looking for \"https://bugs.webkit.org/show_bug.cgi?id=123\" or \"webkit.org/b/123\" styled bugs, and collect the ones with RESOLVED status. (RESOLVED FIXED, RESOLVED DUPLICATE, RESOLVED WONTFIX, ...).")

If you use " inside the string then don't escape it just use ' around the string instead of the " that way you don't need to escape the inner quotes.

> Tools/Scripts/old-bug-validator.py:67
> +    result = re.search("<span id='"'static_bug_status'"'>RESOLVED", html)

err... this string looks really weird. what do you wanted to do here?
Comment 9 Peter Gal 2013-07-08 08:10:51 PDT
View in context: https://bugs.webkit.org/attachment.cgi?id=206245&action=review

> Tools/ChangeLog:5
> +        Reviewed by Csaba Osztrogonác.

I don't think this is reviewed yet. You should not fill this out before review :)

> Tools/Scripts/old-bug-validator.py:62
> +#get the bugzilla sites and look for the RESOLVED... status

just a nit: space after the # and start with a capital letter to form a sentence.
Comment 10 Ryosuke Niwa 2013-07-08 18:15:01 PDT
Comment on attachment 206245 [details]
OldBugValidatorTool Python

View in context: https://bugs.webkit.org/attachment.cgi?id=206245&action=review

Thanks for posting the patch. However, this shouldn't be a standalone python script.
There is a code to parse TestExpectations under Tools/Scripts/webkitpy/layout_tests.
We should be using that parser instead. There is also a code to fetch Bugzilla data. See code in Tools/Scripts/webkitpy/tool.

> Tools/ChangeLog:3
> +        Implementing Old Bug Validator Tool in Python. The aim is to check TestExpectations file for RESOLVED bugs in an easier way.

This line should be of the bug summary & url. See other entries.
This long description should appear below Reviewed by line. Agan, see other entries.

Please read http://www.webkit.org/coding/contributing.html.

> Tools/Scripts/old-bug-validator.py:4
> +# Copyright (C) 2013 University of Szeged
> +# Copyright (C) 2013 Gabor Abraham <abrhm@inf.u-szeged.hu>
> +# All rights reserved.

Wrong copyright format. See other files.
Comment 11 Csaba Osztrogonác 2013-07-09 02:08:58 PDT
(In reply to comment #10)
> Thanks for posting the patch. However, this shouldn't be a standalone python script.
Of course it can be easy to add it as a new webkit-patch command.

> There is a code to parse TestExpectations under Tools/Scripts/webkitpy/layout_tests.
> We should be using that parser instead. 

The TestExpectations parser in layout_tests/models/test_expectations.py
would be overkiller and it isn't suitable for this use case now.

It parses only "The new format for a test expectation line":
        [[bugs] [ "[" <configuration modifiers> "]" <name> [ "[" <expectations> "]" ["#" <comment>]

where bugs must be in "webkit.org/b/XXXXX" format. But there are 
URLs in the comment sections too in different formats. I don't think
if we should refactor test_expectations.py instead of the oneliner regexp.

> There is also a code to fetch Bugzilla data. See code in Tools/Scripts/webkitpy/tool.

It can be used if it doesn't have too much dependencies and 
if we can avoid the mandatory bugzilla authentication somehow.
Because it is a non-sense if we wan't to force the user to authenticate
if fetching a bugzilla URL doesn't need authentication at all.

Otherwise I still think that a urllib2.urlopen(...) oneliner is much more
simpler than solving all of these problems, because we want to integrate
everything to the existing webkitpy infrastructure regardless of expense.
Comment 12 Ryosuke Niwa 2013-07-09 05:54:12 PDT
(In reply to comment #11)
> (In reply to comment #10)
> > There is a code to parse TestExpectations under Tools/Scripts/webkitpy/layout_tests.
> > We should be using that parser instead. 
> 
> The TestExpectations parser in layout_tests/models/test_expectations.py
> would be overkiller and it isn't suitable for this use case now.
> 
> It parses only "The new format for a test expectation line":
>         [[bugs] [ "[" <configuration modifiers> "]" <name> [ "[" <expectations> "]" ["#" <comment>]
> 
> where bugs must be in "webkit.org/b/XXXXX" format. But there are 
> URLs in the comment sections too in different formats. I don't think
> if we should refactor test_expectations.py instead of the oneliner regexp.

If there is a use case for parsing comments, then we should support that in test_expectations.py maybe as an option.

The problem with adding one line regular expression like this is that it'll make the future format change harder.

> > There is also a code to fetch Bugzilla data. See code in Tools/Scripts/webkitpy/tool.
> 
> It can be used if it doesn't have too much dependencies and 
> if we can avoid the mandatory bugzilla authentication somehow.
> Because it is a non-sense if we wan't to force the user to authenticate
> if fetching a bugzilla URL doesn't need authentication at all.

It's sensible to require authentication if bugs have restricted accesses.  We can certainly add a mode to avoid authentication to bugzilla code.
Comment 13 Gábor Ábrahám 2013-07-17 03:02:28 PDT
Created attachment 206876 [details]
Proposed patch

Now it can be used as a webkit-patch command, and using Bugzilla class to check the bugs.
Comment 14 Csaba Osztrogonác 2013-07-17 03:08:46 PDT
Comment on attachment 206876 [details]
Proposed patch

Only one thing is missing, the TestExpectations parsing by
layout_tests/models/test_expectations.py . But it would be
overkiller for this tool. I think we can live with it now,
and we can fix it later in a separated bug. So r=me.
Comment 15 Csaba Osztrogonác 2013-07-17 03:10:05 PDT
Comment on attachment 206876 [details]
Proposed patch

Clearing flags on attachment: 206876

Committed r152779: <http://trac.webkit.org/changeset/152779>
Comment 16 Csaba Osztrogonác 2013-07-17 03:10:12 PDT
All reviewed patches have been landed.  Closing bug.