RESOLVED FIXED 202365
Fix iPad testers platform for downloading build product and fixing tests to run
https://bugs.webkit.org/show_bug.cgi?id=202365
Summary Fix iPad testers platform for downloading build product and fixing tests to run
Matt Lewis
Reported 2019-09-30 09:30:36 PDT
We need to add support for device type to the testers in build automation to specify iPad OS for the new testers.
Attachments
Patch (4.06 KB, patch)
2019-10-01 17:21 PDT, Matt Lewis
no flags
Patch (7.24 KB, patch)
2019-10-03 15:25 PDT, Matt Lewis
no flags
Patch (18.48 KB, patch)
2019-10-03 19:13 PDT, Matt Lewis
no flags
Patch (18.46 KB, patch)
2019-10-04 11:01 PDT, Matt Lewis
no flags
Patch (18.41 KB, patch)
2019-10-04 13:13 PDT, Matt Lewis
no flags
Radar WebKit Bug Importer
Comment 1 2019-09-30 09:31:07 PDT
Matt Lewis
Comment 2 2019-09-30 10:53:42 PDT
This may actually be fixed by a simple config change. Making the platform to ios-simulator and adding "additionalArguments" to the queue.
Jonathan Bedard
Comment 3 2019-09-30 12:50:08 PDT
Should be exactly the same as iOS, except with --ipad-simulator....although, we will need to pass --iphone-simulator to the existing queue so that iPad tests aren't duplicated.
Matt Lewis
Comment 4 2019-10-01 17:12:08 PDT
So this is probably going to take a bigger change than a config change to get api test running. So in interest of getting iPad Simulator tests at least working, I'm going to focus on them. I will add in a fix for the api test in another bug/patch.
Matt Lewis
Comment 5 2019-10-01 17:21:25 PDT
Jonathan Bedard
Comment 6 2019-10-02 16:57:09 PDT
(In reply to Matt Lewis from comment #4) > So this is probably going to take a bigger change than a config change to > get api test running. So in interest of getting iPad Simulator tests at > least working, I'm going to focus on them. I will add in a fix for the api > test in another bug/patch. Can we file a bug for the bigger config change?
Jonathan Bedard
Comment 7 2019-10-02 16:58:11 PDT
Comment on attachment 379973 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=379973&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/config.json:198 > + "additionalArguments": ["--no-retry-failures", "--iphone-simulator"], I think this will pass both --iphone-simulator and --ios-simulator to run-webkit-tests....can you verify that actually works?
Matt Lewis
Comment 8 2019-10-02 17:10:05 PDT
(In reply to Jonathan Bedard from comment #7) > Comment on attachment 379973 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=379973&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/config.json:198 > > + "additionalArguments": ["--no-retry-failures", "--iphone-simulator"], > > I think this will pass both --iphone-simulator and --ios-simulator to > run-webkit-tests....can you verify that actually works? Looks like no and my desire for just a config change will not be enough. I'm actually going to have to change things in steps.
Ryan Haddad
Comment 9 2019-10-02 21:17:50 PDT
(In reply to Jonathan Bedard from comment #7) > Comment on attachment 379973 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=379973&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/config.json:198 > > + "additionalArguments": ["--no-retry-failures", "--iphone-simulator"], > > I think this will pass both --iphone-simulator and --ios-simulator to > run-webkit-tests....can you verify that actually works? Sadly, this definitely won't work.
Matt Lewis
Comment 10 2019-10-03 15:25:38 PDT
Jonathan Bedard
Comment 11 2019-10-03 17:14:09 PDT
Comment on attachment 380164 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380164&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:197 > +def appendCustomTestingFlags(step, platform, device_models): Why is it plural? > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:-413 > - appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) If we don't have a device model, don't we still need the property build flag?
Matt Lewis
Comment 12 2019-10-03 17:23:39 PDT
(In reply to Jonathan Bedard from comment #11) > Comment on attachment 380164 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=380164&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:197 > > +def appendCustomTestingFlags(step, platform, device_models): > > Why is it plural? Shouldn't be, good catch. > > > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:-413 > > - appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) > > If we don't have a device model, don't we still need the property build flag? Still working on this patch.
Matt Lewis
Comment 13 2019-10-03 19:13:57 PDT
Jonathan Bedard
Comment 14 2019-10-04 07:44:09 PDT
Comment on attachment 380181 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380181&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:30 > + def __init__(self, platform, configuration, architectures, buildOnly, additionalArguments, SVNMirror, device_model): Couldn't we set this to 'None' so you don't have explicitly pass it through everywhere, only in the steps that need it? > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:-413 > - appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) Still worried that this will break other stuff. If the device_model isn't defined, we should retain the original behavior.
Jonathan Bedard
Comment 15 2019-10-04 10:29:35 PDT
Comment on attachment 380181 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380181&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:80 > + def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None, device_models=None, device_model=None, **kwargs): Why device_models?
Matt Lewis
Comment 16 2019-10-04 10:44:37 PDT
(In reply to Jonathan Bedard from comment #14) > Comment on attachment 380181 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=380181&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:30 > > + def __init__(self, platform, configuration, architectures, buildOnly, additionalArguments, SVNMirror, device_model): > > Couldn't we set this to 'None' so you don't have explicitly pass it through > everywhere, only in the steps that need it? > Sadly this is due to the way other properties are passed and I was conforming to existing code > > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:-413 > > - appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) > > Still worried that this will break other stuff. If the device_model isn't > defined, we should retain the original behavior. appendCustomBuildFlags is unchanged and should still handle your worries. (In reply to Jonathan Bedard from comment #15) > Comment on attachment 380181 [details] > Patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=380181&action=review > > > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:80 > > + def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None, device_models=None, device_model=None, **kwargs): > > Why device_models? Typos are fun
Jonathan Bedard
Comment 17 2019-10-04 10:48:51 PDT
(In reply to Matt Lewis from comment #16) > (In reply to Jonathan Bedard from comment #14) > > Comment on attachment 380181 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=380181&action=review > > > > > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:30 > > > + def __init__(self, platform, configuration, architectures, buildOnly, additionalArguments, SVNMirror, device_model): > > > > Couldn't we set this to 'None' so you don't have explicitly pass it through > > everywhere, only in the steps that need it? > > > Sadly this is due to the way other properties are passed and I was > conforming to existing code Fair enough...could you file another bug for fixing this? Not an urgent change, but it seems like we should record it. > > > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:-413 > > > - appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) > > > > Still worried that this will break other stuff. If the device_model isn't > > defined, we should retain the original behavior. > appendCustomBuildFlags is unchanged and should still handle your worries. Ok, you basically copied the the logic from that function but added model, got it. > (In reply to Jonathan Bedard from comment #15) > > Comment on attachment 380181 [details] > > Patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=380181&action=review > > > > > Tools/BuildSlaveSupport/build.webkit.org-config/factories.py:80 > > > + def __init__(self, platform, configuration, architectures, additionalArguments=None, SVNMirror=None, device_models=None, device_model=None, **kwargs): > > > > Why device_models? > Typos are fun
Matt Lewis
Comment 18 2019-10-04 11:01:45 PDT
Jonathan Bedard
Comment 19 2019-10-04 12:01:23 PDT
Comment on attachment 380230 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380230&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py:101 > + # print builder.get('device_model') Nit: Extra print statement
Matt Lewis
Comment 20 2019-10-04 13:13:30 PDT
Matt Lewis
Comment 21 2019-10-04 13:14:02 PDT
Fixed the nit
Matt Lewis
Comment 22 2019-10-04 13:51:32 PDT
Comment on attachment 380239 [details] Patch Landing
WebKit Commit Bot
Comment 23 2019-10-04 14:35:42 PDT
Comment on attachment 380239 [details] Patch Clearing flags on attachment: 380239 Committed r250746: <https://trac.webkit.org/changeset/250746>
WebKit Commit Bot
Comment 24 2019-10-04 14:35:43 PDT
All reviewed patches have been landed. Closing bug.
Aakash Jain
Comment 25 2019-10-08 12:20:16 PDT
Comment on attachment 380239 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=380239&action=review > Tools/BuildSlaveSupport/build.webkit.org-config/steps.py:204 > + if device_model == 'ipad': This should be 'elif' instead of 'if'. if device_model is 'iphone', this code would set device_model to 'iphone-simulator' here, and then below 'else' statement (line 206) would be triggered as well which would (incorrectly) set it to 'ios'.
Note You need to log in before you can comment on or make changes to this bug.