[Gecko-iOS] Basic support for locally running mochitest-plain
Categories
(Testing :: Mochitest, enhancement)
Tracking
(firefox148 fixed)
| Tracking | Status | |
|---|---|---|
| firefox148 | --- | fixed |
People
(Reporter: nika, Assigned: nika)
References
Details
Attachments
(7 files, 2 obsolete files)
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review | |
|
48 bytes,
text/x-phabricator-request
|
Details | Review |
| Assignee | ||
Comment 1•2 years ago
|
||
On desktop platforms, environment variables are implicitly inherited by content
processes, and on Android, custom environment variables are generally set as
part of GeckoThread initialization, which is performed in every process.
As these env vars are not inherited on iOS, we need to manually specify them
for child processes. This patch does this in a fairly hacky way, by enumerating
all environment variables, and copying ones with a MOZ_ prefix to child
processes as they are created.
We probably want to have a better system for this in the future.
| Assignee | ||
Comment 2•2 years ago
|
||
This provides a convenient mechanism for our test runner to specify the initial
URL to load in the test browser. An environment variable was chosen over the
command line for initial implementation simplicity, but it may be worth
changing how the URL is loaded in the future.
Depends on D217131
| Assignee | ||
Comment 3•2 years ago
|
||
Before this change, calls through EventDispatcher could be delivered before
the geckoview.js script had begun executing, which would mean that early calls
to the Gecko backend would not be handled. This patch ensures that these events
are queued up until the listeners are ready, which is more in line with the
behaviour on Android.
Depends on D217132
| Assignee | ||
Comment 4•2 years ago
|
||
Before this change on iOS, when the application exits, UIKit's main loop method
does not return, so we exit before running through normal XPCOM shutdown. This
patch changes the behaviour around applicationWillTerminate to ensure that we
run at least some of XPCOM shutdown before the application is exited.
This fix also ensures that the iOS application will exit when Quit() is called
by Gecko JS code. This won't happen in normal operation on iOS, as the OS
generally controls app lifetimes, but is important for automated testing. As
iOS provides no proper support for gracefully exiting an app, we call
_exit(0); after performing as much of the shutdown process as possible.
Depends on D217133
| Assignee | ||
Comment 5•2 years ago
|
||
This is intended to simplify transitioning code which is checking for Android to
instead check for Android/iOS.
Depends on D217134
| Assignee | ||
Comment 6•2 years ago
|
||
Depends on D217135
| Assignee | ||
Comment 7•2 years ago
|
||
This new python package is intended to contain helper types etc. for working
with iOS devices from our test runners. The design is still very much early
stages, and only simulator supports the bulk of the methods.
Depends on D217136
| Assignee | ||
Comment 8•2 years ago
|
||
This patch centers around a hacked up version of runtestsremote.py which
instead uses the helper types from moziosdevice to run mochitests on an iOS
device. With this change it is possible to run some basic mochitests on
simulator from a local build. There is currently no support for running on CI.
Tests involving any form of more advanced features such as opening pop-up
windows still are not supported, as the testing browser doesn't support tabs
yet.
Depends on D217137
Comment 9•1 year ago
|
||
Comment on attachment 9413860 [details]
Bug 1908693 - Part 5: Add a MOZ_GECKOVIEW config variable for iOS/Android, r=glandium!
Revision D217135 was moved to bug 1921333. Setting attachment 9413860 [details] to obsolete.
Comment 10•1 year ago
|
||
Comment on attachment 9413861 [details]
Bug 1908693 - Part 6: Switch some AppConstants.platform checks to MOZ_GECKOVIEW, r=glandium!
Revision D217136 was moved to bug 1921333. Setting attachment 9413861 [details] to obsolete.
Updated•1 year ago
|
Updated•1 year ago
|
| Assignee | ||
Comment 11•1 year ago
|
||
This logic is used to install the xre host tools, such as a host copy of
xpcshell, which is required when running tests on a remote device. As this will
also be useful for iOS, this logic moves the code to a common place so it can
also be used by iOS in the next part.
Depends on D217134
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Updated•1 year ago
|
Comment 12•9 months ago
|
||
Comment 13•9 months ago
|
||
| bugherder | ||
https://hg.mozilla.org/mozilla-central/rev/18bf5ea0f3bb
https://hg.mozilla.org/mozilla-central/rev/16c6bb6559fa
https://hg.mozilla.org/mozilla-central/rev/32a0e42f6e66
https://hg.mozilla.org/mozilla-central/rev/1b06d7a76460
https://hg.mozilla.org/mozilla-central/rev/22d633da015b
https://hg.mozilla.org/mozilla-central/rev/2a57de058f8a
https://hg.mozilla.org/mozilla-central/rev/cb5b8d7057af
Description
•