Bug 206113

Summary: EWS: Run webkitpy tests with Python 2 and 3
Product: WebKit Reporter: Jonathan Bedard <jbedard>
Component: Tools / TestsAssignee: Jonathan Bedard <jbedard>
Status: RESOLVED FIXED    
Severity: Normal CC: aakash_jain, ap, commit-queue, jlewis3, slewis, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=184986
Attachments:
Description Flags
Patch
none
Patch
none
Patch
none
Patch
none
Patch
none
Patch none

Description Jonathan Bedard 2020-01-10 17:04:55 PST
We should run webkitpy tests with both Python 2 and Python 3, once https://bugs.webkit.org/show_bug.cgi?id=206078 lands.
Comment 1 Jonathan Bedard 2020-01-10 17:09:56 PST
Created attachment 387402 [details]
Patch
Comment 2 Aakash Jain 2020-01-10 17:18:22 PST
Can you please deploy this change on https://ews-build.webkit-uat.org and provide a sample run.
Comment 3 Alexey Proskuryakov 2020-01-11 18:06:36 PST
Why is the services bubble here red, while saying "Passed build.webkit.org unit tests"?
Comment 4 Jonathan Bedard 2020-01-13 07:48:02 PST
(In reply to Alexey Proskuryakov from comment #3)
> Why is the services bubble here red, while saying "Passed build.webkit.org
> unit tests"?

Pretty sure the machine running the services tests doesn't have some of the required buildbot packages.
Comment 5 Jonathan Bedard 2020-01-13 08:38:52 PST
Created attachment 387532 [details]
Patch
Comment 6 Jonathan Bedard 2020-01-13 08:43:14 PST
Created attachment 387533 [details]
Patch
Comment 7 Alexey Proskuryakov 2020-01-13 08:54:27 PST
> Pretty sure the machine running the services tests doesn't have some of the required buildbot packages.

Shouldn't that be causing an error message?
Comment 8 Jonathan Bedard 2020-01-13 09:28:07 PST
(In reply to Alexey Proskuryakov from comment #7)
> > Pretty sure the machine running the services tests doesn't have some of the required buildbot packages.
> 
> Shouldn't that be causing an error message?

It was, sort of. That's what many of the unit test failures for services were. Not all of them, though, some where unit tests I had failed to change.
Comment 9 Aakash Jain 2020-01-13 10:07:18 PST
(In reply to Alexey Proskuryakov from comment #3)
> Why is the services bubble here red, while saying "Passed build.webkit.org unit tests"?
Tracked in https://bugs.webkit.org/show_bug.cgi?id=206180
Comment 10 Jonathan Bedard 2020-01-13 14:52:42 PST
Created attachment 387571 [details]
Patch
Comment 11 Aakash Jain 2020-01-14 13:53:15 PST
Comment on attachment 387571 [details]
Patch

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

Seems like python3 webkitpy tests are failing, e.g.: https://ews-build.webkit-uat.org/#/builders/8/builds/35/steps/6/logs/stdio

> Tools/BuildSlaveSupport/ews-build/steps.py:696
> +class WebKitPyTest(shell.ShellCommand):

Please update the 'Passed webkitpy tests' message to 'Passed python2 webkitpy tests' and 'Passed python3 webkitpy tests'. e.g.: https://ews-build.webkit-uat.org/#/builders/8/builds/37

You can use a class variable (e.g.: python_version) set in both the classes, and used in the 'message' string appropriately.

> Tools/BuildSlaveSupport/ews-build/steps.py:727
>          message = 'Found {} WebKitPy test failure{}: {}'.format(len(failures), pluralSuffix, failures_string)

Please remove both self.build.buildFinished() lines from this getResultSummary() method. This causes the build to be finished early and prevents the RunWebKitPyPython3Tests step from running.
Comment 12 Jonathan Bedard 2020-01-14 14:40:03 PST
Created attachment 387707 [details]
Patch
Comment 13 Aakash Jain 2020-01-14 14:48:52 PST
Comment on attachment 387707 [details]
Patch

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

> Tools/BuildSlaveSupport/ews-build/steps.py:741
> +    descriptionDone = ['webkitpy-tests']

Can move descriptionDone to base class.

> Tools/BuildSlaveSupport/ews-build/steps.py:742
> +    description = ['webkitpy-tests running ({})'.format(language)]

Can you check if you can move description, name, jsonFileName, logfiles to base class (WebKitPyTest).
Comment 14 Jonathan Bedard 2020-01-14 14:58:32 PST
Comment on attachment 387707 [details]
Patch

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

>> Tools/BuildSlaveSupport/ews-build/steps.py:742
>> +    description = ['webkitpy-tests running ({})'.format(language)]
> 
> Can you check if you can move description, name, jsonFileName, logfiles to base class (WebKitPyTest).

We won't be able to.

They need language to be defined. Unless we make them properties, no, we can't move them.
Comment 15 Jonathan Bedard 2020-01-14 16:13:48 PST
Created attachment 387718 [details]
Patch
Comment 17 WebKit Commit Bot 2020-01-14 17:32:43 PST
Comment on attachment 387718 [details]
Patch

Clearing flags on attachment: 387718

Committed r254547: <https://trac.webkit.org/changeset/254547>
Comment 18 WebKit Commit Bot 2020-01-14 17:32:45 PST
All reviewed patches have been landed.  Closing bug.
Comment 19 Radar WebKit Bug Importer 2020-01-14 17:33:15 PST
<rdar://problem/58589889>
Comment 20 Aakash Jain 2020-01-15 03:57:41 PST
(In reply to Aakash Jain from comment #9)
> (In reply to Alexey Proskuryakov from comment #3)
> > Why is the services bubble here red, while saying "Passed build.webkit.org unit tests"?
> Tracked in https://bugs.webkit.org/show_bug.cgi?id=206180
Fixed, that red bubble's tooltip now says: "Failed EWS unit tests"