This makes geckodriver configure GeckoView vehicles using a
configuration YAML file. This is the [blessed way to configure such
vehicles](https://mozilla.github.io/geckoview/consumer/docs/automation).
The old way based on intent arguments is kept as long as Fennec
needs to be supported because it doesn't read the configuration file.
And other packages, which are based on GeckoView, will ignore
package specific intent arguments.
The configuration file is always pushed, even when it will be
ignored by the relevant package.
Differential Revision: https://phabricator.services.mozilla.com/D44578
--HG--
extra : moz-landing-system : lando
This patch allows geckodriver to interact with processes of
GeckoView packages on Android devices while running itself
on a host machine. The connection to and from the application
under test is done via adb forward ports.
Depends on D45363
Differential Revision: https://phabricator.services.mozilla.com/D44897
--HG--
extra : moz-landing-system : lando
This also removes a dependency on rand 0.4 getting it closer to being
able to remove that.
Differential Revision: https://phabricator.services.mozilla.com/D45710
--HG--
extra : moz-landing-system : lando
The `zip` dependency doesn't appear to require `bzip2`, and `bzip2` is
tricky to cross-compile, so the feature set is restricted to ease the
build task.
Differential Revision: https://phabricator.services.mozilla.com/D43645
--HG--
extra : moz-landing-system : lando
Updating rkv to 0.5 enables us to un-vendor new-ordered-float, as rkv 0.4 is the last crate in the tree that depends on it.
It also enables us to un-vendor version 0.5 of uuid. We previously needed that version because multiple third-party crates depended on it, and we have limited control over third-party sub-dependencies. But rkv 0.4 was the last third-party crate that still depended on version 0.5 of uuid; rkv 0.5 depends on version 0.6 of uuid.
There would still be two internal crates that depend on version 0.5 of uuid: geckodriver and webrender_bindings. But we have more control over internal sub-dependencies, and we can update those two internal crates to depend on version 0.6 of uuid. This patch does so.
To summarize, this patch makes the following changes:
* rkv: 0.4 -> 0.5
* new-ordered-float: un-vendored
* geckodriver: uuid dependency 0.5 -> 0.6
* webrender_bindings: uuid dependency 0.5 -> 0.6
* uuid 0.5: un-vendored
* uuid 0.6: remains in tree
Differential Revision: https://phabricator.services.mozilla.com/D9160
--HG--
extra : moz-landing-system : lando
The patch switches the serialization and deserialization of data
structures from the rustc_serialize crate to serde. By doing that
all the custom code for serialization and deserialization can be
removed in favor of serde's automatically derived serializers and
deserializers.
MozReview-Commit-ID: B8H3bZQKkJ7
--HG--
extra : rebase_source : 9f6a18d1f3be15237133ce7e9b0bd7f0d8126429
Also bump webdriver's version so it can be released and updated in servo
MozReview-Commit-ID: 7jMycZ6t3mm
--HG--
extra : rebase_source : 44d0b436e303d427a8b4c06e5b97538a76fd3f8c
This provides a custom implementaiton of log::Log for geckodriver,
effectively making slog redundant in central.
slog is, for our purposes, an unnecessarily complicated crate
to depend on. With Rust 1.24 transitioning to stable soon,
we need to prepare code and crates in central for this change.
geckodriver only uses slog for the single purpose of changing the
log level at runtime, and it would be less work to roll our own
logger implementation than it would be to grok the slog API changes.
MozReview-Commit-ID: 2wyS8e6s2mr
--HG--
extra : rebase_source : 04f6202faf9dd266d4914f3f6eefd0669163a25e
The third_party/rust/mozprofile has not been deleted because mozrunner
also depends on it. We will have to run "./mach vendor rust" again
once both these changes have landed in order to remove the third-party
dependency from crates.io. This work is tracked in bug 1430158.
MozReview-Commit-ID: 5Q3PdTS03wm
--HG--
extra : rebase_source : a3b52bcb4c2047ddd81b830e4e2f349d8396ee79
This deletes the third-party mozrunner crate off crates.io in favour
of using the in-tree version from testing/mozbase/rust/mozrunner.
MozReview-Commit-ID: 6xQZ99FYrdP
--HG--
extra : rebase_source : 90ef2df2924d4194652255728d73ee03ed729ac3
This prevents the geckodriver crate from being published to a
package registry like crates.io by mistake.
MozReview-Commit-ID: 7Qc9vaPhdJh
--HG--
extra : rebase_source : ec1f470a69c14c240b2cb522eb4475b22ed4a9da
By logging the used browser arguments from geckodriver only the
-marionette argument ends up in the log. Instead mozrunner should
be used which knows about any of them.
MozReview-Commit-ID: J9px0pWSwQm
--HG--
extra : rebase_source : 36730f7c2ecffa7a28dda3d16404f523bd075d35
Upgrades the webdriver crate dependency to 0.29.0, which contains some
backwards incompatible changes for RectResponse. This type has been
split in two, WindowRectResponse and ElementRectResponse.
The former type contains a new "state" field which is already implemented
by Marionette. Because geckodriver is used with a range of earlier
Firefoxen, it defaults to "normal" window state if the field is not
returned from Marionette. This is acceptable.
MozReview-Commit-ID: FRxppRVmiZl
--HG--
extra : rebase_source : 4a86659f337598bb4f5623c51f5df288c8a5dd69
The canonical geckodriver source code no longer lives on GitHub, but
in mozilla-central's testing/geckodriver directory. Linking through
searchfox.org because it provides a better UI than hg.mozilla.org.
MozReview-Commit-ID: LmnviuC7Z9Y
--HG--
extra : rebase_source : 23f0e669bd719c595300d4e7ac38bc12f4937f57
Upgrades the mozrunner crate dependency by pinning it to 0.4.1. With `./mach vendor rust' I could not find any other way to force a new version to be downloaded because cargo, as far as I understand, does not yet support using crates.io as a fallback.
This patch also pins the mozprofile and mozversion dependencies exactly, although this is strictly not needed yet because they we have the latest versions vendored in-tree.
MozReview-Commit-ID: 8emDKbiYd0S
--HG--
extra : rebase_source : c153506f481255b2f9362e94da3254013ad522ab
This updates the vendored WebDriver crate to 0.27.0
MozReview-Commit-ID: HM6MIU9IDAq
--HG--
extra : rebase_source : 137941518076a8d99e5b8c40ac67ad60d9f205b9