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