Commit Graph

645 Commits

Author SHA1 Message Date
Andreas Tolfsen
e57b0ae094 bug 1494613: geckodriver: log reason for not being able to write profile r=whimboo
mozprofile gives us an error and we can forward it to the user so
we know what the underlying reason is for not being able to write
the Firefox profile.
2018-09-29 15:45:30 +01:00
Andreas Tolfsen
ec705f7d75 bug 1494613: geckodriver: drop try!() macro from MarionetteHandler r=whimboo
Done automatically by running MarionetteHandler through rustfmt(1).
2018-09-29 15:45:30 +01:00
Andreas Tolfsen
f69c1b7a76 bug 1494613: geckodriver: remove unnecessary owned string conversion r=whimboo
PrefValue implements From<&'static str>, and this makes the calling
code slightly nicer to look at.
2018-09-29 15:45:30 +01:00
Gurzau Raul
00b3974ac0 Backed out 5 changesets (bug 1494613) for failing at testing/geckodriver/src/marionette.rs
Backed out changeset 09e9cefc19ca (bug 1494613)
Backed out changeset f9f4e7c55d61 (bug 1494613)
Backed out changeset 457da8a172be (bug 1494613)
Backed out changeset 8d26a58f754e (bug 1494613)
Backed out changeset 729d8f3e1341 (bug 1494613)
2018-09-27 18:49:58 +03:00
Andreas Tolfsen
a64e86917a bug 1494613: geckodriver: convert logging::Level to Pref r=whimboo
The patch c1df1c2e46f6 contained a faulty rebase where the coercion
of logging::max_level() changed from the Pref type to a string.

The string representation of geckodriver::logging::Level is given
in upper-case, e.g. "INFO", and the Pref representation is given as
"Info" to be compatible with managing the log level from Log.jsm in Gecko.

This inadvertently caused
https://github.com/web-platform-tests/wpt/issues/12166 to reappear
in almost the same way: before the problem was that Marionette’s
frame script always included all log level entries.  This was fixed
with https://bugzilla.mozilla.org/show_bug.cgi?1482829, but then
https://bugzilla.mozilla.org/show_bug.cgi?id=1396821 broke it so
that log entries also from chrome space appeared.

Depends on D7077

Differential Revision: https://phabricator.services.mozilla.com/D7078

--HG--
extra : moz-landing-system : lando
2018-09-27 13:35:12 +00:00
Andreas Tolfsen
c3fce9b592 bug 1494613: geckodriver: log reason for not being able to write profile r=whimboo
mozprofile gives us an error and we can forward it to the user so
we know what the underlying reason is for not being able to write
the Firefox profile.

Depends on D7075

Differential Revision: https://phabricator.services.mozilla.com/D7076

--HG--
extra : moz-landing-system : lando
2018-09-27 13:17:16 +00:00
Andreas Tolfsen
d1886a0a8b bug 1494613: geckodriver: drop try!() macro from MarionetteHandler r=whimboo
Done automatically by running MarionetteHandler through rustfmt(1).

Depends on D7074

Differential Revision: https://phabricator.services.mozilla.com/D7075

--HG--
extra : moz-landing-system : lando
2018-09-27 13:15:41 +00:00
Andreas Tolfsen
36c735b76e bug 1494613: geckodriver: remove unnecessary owned string conversion r=whimboo
PrefValue implements From<&'static str>, and this makes the calling
code slightly nicer to look at.

Differential Revision: https://phabricator.services.mozilla.com/D7074

--HG--
extra : moz-landing-system : lando
2018-09-27 13:14:51 +00:00
Henrik Skupin
36358b89ba Bug 1493149 - [geckodriver] "temporary" flag in AddonInstallParameters has to be optional. r=ato
With the Serde refactoring we have made this flag mandatory. This patch
reverts that change, and allows it to be skipped.

Differential Revision: https://phabricator.services.mozilla.com/D7050

--HG--
extra : moz-landing-system : lando
2018-09-27 08:37:29 +00:00
shindli
a8d55dae12 Merge inbound to mozilla-central. a=merge 2018-09-27 00:52:12 +03:00
Kerem Kat
6d86e85fe6 bug 1453292: webdriver, geckodriver: remove elementTap command r=whimboo
Removes the non-standard /session/{session id}/element/{element
id}/tap endpoint command from geckodriver.

Differential Revision: https://phabricator.services.mozilla.com/D6879

--HG--
extra : moz-landing-system : lando
2018-09-26 09:49:03 +00:00
Andreas Tolfsen
b23dc7de44 bug 1492649: geckodriver: avoid a couple of unneeded closures; r=whimboo 2018-09-25 16:02:03 +01:00
Andreas Tolfsen
cd33da5dac bug 1492652: geckodriver: avoid cloning log level on init; r=jgraham
Instead of cloning we can dereference the logging level since it
derives the Copy trait.
2018-09-21 13:37:01 +01:00
Andreas Tolfsen
4955989efb bug 1492647: geckodriver: remove duplicate git ignore rules; r=whimboo
The rules in testing/geckodriver/.gitignore are duplicated by the
root level .gitignore rules.

DONTBUILD
2018-09-21 13:34:55 +01:00
Andreas Tolfsen
7bad4015c8 bug 1494227: geckodriver: fix ISSUE_TEMPLATE.md link in Bugs.md; r=me 2018-09-26 09:40:01 +01:00
Andreas Tolfsen
a141897d2f bug 1491801: geckodriver: use short sha1 for git build info; r=whimboo
We use a short SHA1 for hg, and we should use the same for git.

Because git-cinnabar does not support --short, we have to truncate
the SHA ourselves.
2018-09-21 13:29:46 +01:00
Andreas Tolfsen
20af80cf4e bug 1491799: geckodriver: refactor build script; r=whimboo
Provides almost the same functionality, but without convoluted
functional style.  This will allow us to provide VCS specific
instructions in the future.
2018-09-19 20:59:37 +01:00
arthur.iakab
1ee75a928a Merge inbound to mozilla-central a=merge 2018-09-19 05:18:50 +03:00
Matt Brubeck
62b8be205c Bug 1492001 - Update geckodriver Rust dependencies. r=jgraham
Differential Revision: https://phabricator.services.mozilla.com/D6168

--HG--
extra : moz-landing-system : lando
2018-09-18 17:51:03 +00:00
Noemi Erli
724848c2db Backed out 2 changesets (bug 1492001) for Btup build bustages
Backed out changeset 6ec9bc89a5b3 (bug 1492001)
Backed out changeset 238fdce77ee9 (bug 1492001)

--HG--
rename : third_party/rust/num-integer/bors.toml => third_party/rust/num/bors.toml
2018-09-18 20:38:24 +03:00
Matt Brubeck
0aca2432c6 Bug 1492001 - Update geckodriver Rust dependencies. r=jgraham
Differential Revision: https://phabricator.services.mozilla.com/D6168

--HG--
extra : moz-landing-system : lando
2018-09-18 16:35:05 +00:00
Henrik Skupin
2ea3954c34 Bug 1492047 - [geckodriver] Update issue template to request trace logs as attachment. r=whimboo a=doc
DONTBUILD

--HG--
extra : rebase_source : f29b0b1ff5a885fc8778c5d166bf8e76d15cd8b2
extra : histedit_source : 18d021bd46674ade98afd7ce7dbd1b1a316387cf
2018-09-18 08:36:48 +02:00
Andreas Tolfsen
904b5cf377 Bug 1491408 - bypass local vcs config when invoking build script. r=whimboo a=Aryx
This sets HGPLAIN and GIT_CONFIG_NOSYSTEM to bypass local user
version control system configuration when the build script is invoked.

If not set, the version control system's output could be influenced
by configuration settings.  It was for example discovered that if
you have "hg log" default to --follow, this slows down the Gecko
build significantly since it prints the node for every single commit.

According to hg(1) it is highly recommended for programs invoking
hg to set this.
2018-09-17 17:37:35 +03:00
Andreas Tolfsen
6a9f20ef8a bug 1466818: geckodriver: release version 0.22.0; r=whimboo 2018-09-16 00:12:13 +01:00
Andreas Tolfsen
0d949a552f bug 1466818: geckodriver: put compat table in docs; r=whimboo 2018-09-16 00:12:13 +01:00
Andreas Tolfsen
8286ae896c bug 1466818: geckodriver: update changelog; r=whimboo 2018-09-16 00:12:12 +01:00
Andreas Tolfsen
60b3a322e3 bug 1491276: geckodriver: add communication options to docs; r=me 2018-09-14 13:00:51 +01:00
Andreas Tolfsen
d918bfbf63 bug 1491273: geckodriver: move docs on reporting good bugs; r=me
This is a follow-up from
https://bugzilla.mozilla.org/show_bug.cgi?id=1488443.
2018-09-14 12:57:17 +01:00
Henrik Skupin
2ecc7fae72 Bug 905404 - [marionette] Add missing preferences from mozprofile. r=ato
--HG--
extra : rebase_source : 436cc5172b8785373ae01687140cc8f66ffa8a8c
extra : histedit_source : 1b8cc577553563223861496f8cfbc0b0c0b25e86
2018-09-05 17:16:10 +02:00
Andreas Tolfsen
c25de6081e bug 1490628: geckodriver: move docs to firefox-source-docs.m.o; r=me
This moves large parts of the geckodriver README to
firefox-source-docs.m.o so that we avoid duplicating content.
This move also makes sense in the context that we will not continue
to release from GitHub for ever.
2018-09-12 14:17:06 +01:00
Andreas Tolfsen
0029ce8495 bug 1471281: geckodriver: update geckodriver build instructions; r=whimboo 2018-09-11 10:40:31 +01:00
Bastien Orivel
7ef3fa6f4a Bug 1489792 - Part 1: Update base64 to 0.9. r=ato 2018-09-11 10:18:40 +01:00
Andreas Tolfsen
910e49a6df bug 1488443: geckodriver: redirect CONTRIBUTING.md to firefox-source-docs.m.o. r=whimboo
Follow-up from code review on https://bugzilla.mozilla.org/show_bug.cgi?id=1471281.
2018-09-06 13:20:37 +01:00
Henrik Skupin
3eb9b34997 Bug 1461608 - [geckodriver] Reduce stream read timeout for Marionette handshake to 10s. r=ato
By default the stream read timeout is set to None, which means if
geckodriver successfully connects to a port, which doesn't send any
data, it waits forever.

Given that handshake data should be received immediately reduce the
read timeout on supported platforms to 10s. This would still allow
slower builds (eg. ASAN) to send the Marionette handshake.

--HG--
extra : rebase_source : be351c9d15b950c0e493e5a1809296764db75c20
2018-09-03 16:40:08 +02:00
Henrik Skupin
c24e592dc9 Bug 1461608 - [geckodriver] Hardening handshake checks for Marionette connections. r=ato
If the handshake by creating a Marionette connection fails, the
browser process has to be killed.

Also geckodriver has to check for both application type,
and Marionette protocol having valid values.

--HG--
extra : rebase_source : 80fbc37e3fc13c4492dbdfe70e79084c3c54bac8
2018-09-03 09:51:42 +02:00
Henrik Skupin
0c5d77a181 Bug 1481776 - [geckodriver] Move WebDriver related code into the command module. r=ato
--HG--
extra : rebase_source : ef7a520f8d7a45e84a5309214f4e6603a22c5bfa
2018-08-24 14:23:34 +02:00
Henrik Skupin
7a91a1ff80 Bug 1486467 - [webdriver] Rename pageLoad to page_load for TimeoutsResponse. r=ato
--HG--
extra : rebase_source : 5ba52f628420b37033fb8dccdc9a2f65ad66136e
2018-08-27 16:44:06 +02:00
Bastien Orivel
963e21bf7f Bug 1484462 - Update webdriver to hyper 0.12. r=ato 2018-08-23 13:15:22 +01:00
Andreas Tolfsen
a4bf4db586 Bug 1484941 - Change ErrorStatus::{ScriptTimeout,Timeout} HTTP codes from 408 to 500. r=whimboo
Whilst it is logically correct to use 408 for the
ErrorStatus::ScriptTimeout and ::Timeout errors, it
causes a collision with HTTP semantics implement in HTTP clients.
To support Keep-Alive we allow retries in HTTP clients and if a
client sees code 408 it thinks that the server has gone away and
retries the request.

This causes WebDriverCommand::ExecuteScript, ::Get, and ::Refresh
commands to be sent twice with some HTTP clients.

This is a backwards incompatible change to WebDriver in order to
not break HTTP/1.1 Keep-Alive.
2018-08-23 11:48:24 +01:00
Henrik Skupin
a654712c9c Bug 1396821 - [geckodriver] Apply rustfmt other geckodriver modules. r=ato
MozReview-Commit-ID: IW15TkjVeLT

--HG--
extra : rebase_source : 0e8d053262855b3b7f897f998ef069f57f3568d2
2018-08-22 10:28:07 +02:00
Henrik Skupin
dbe7ef467d Bug 1396821 - [geckodriver] Switch geckodriver crate from rustc_serialize to serde. r=ato
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
2018-08-22 10:27:35 +02:00
Andreea Pavel
0bcfe81a06 Backed out 6 changesets (bug 1396821) for linux tier2 build bustages on a CLOSED TREE
Backed out changeset 2fa2975f97e3 (bug 1396821)
Backed out changeset c5895db52483 (bug 1396821)
Backed out changeset 5c0ddd45f926 (bug 1396821)
Backed out changeset 7c97853a85b9 (bug 1396821)
Backed out changeset b61ce753f01e (bug 1396821)
Backed out changeset 7ef3912feb2c (bug 1396821)

--HG--
rename : third_party/rust/serde_json/LICENSE-APACHE => third_party/rust/rustc-serialize/LICENSE-APACHE
rename : third_party/rust/serde_json/LICENSE-MIT => third_party/rust/rustc-serialize/LICENSE-MIT
2018-08-21 20:20:24 +03:00
Henrik Skupin
1fc0887dc1 Bug 1396821 - [geckodriver] Apply rustfmt other geckodriver modules. r=ato
MozReview-Commit-ID: IW15TkjVeLT

--HG--
extra : rebase_source : 12f26d848d34f979a696191eb2fe1eeb8835019b
2018-08-20 16:36:27 +02:00
Henrik Skupin
35d04474d0 Bug 1396821 - [geckodriver] Switch geckodriver crate from rustc_serialize to serde. r=ato
MozReview-Commit-ID: B8H3bZQKkJ7

--HG--
extra : rebase_source : 17b5a8caad6bfed2bc83d333438476f75f3850c3
2018-08-20 17:43:25 +02:00
Henrik Skupin
3af25764b7 Bug 1484909 - [geckodriver] Return "invalid session id" error when there is no active session.
If a command is used before creating a new session, an
"invalid session id" error has to be returned by the
driver.

--HG--
extra : rebase_source : c45f33e9e39d876f5fd77561b57ab1fe664452d1
2018-08-21 09:08:36 +02:00
Andreas Tolfsen
719b4c5e30 Bug 1482829 - Track Marionette logger verbosity with Log#manageLevelFromPref. r=whimboo
This patch adopts Logger#managerLevelFromPref from Log.jsm to set
and keep track of the Marionette logger's verbosity.

This has the advantage that we do not have to roll separate
implementations of Log for the child- and parent processes.  It also
has the upside that the log level will be reflected when changed
at runtime through the use of an observer.
2018-08-17 12:55:33 +01:00
Andreas Tolfsen
658ee95d04 Bug 1482829 - Convert logging::Level into mozprofile::preferences::Pref. r=whimboo
In order to facilitate the use of Log.jsm's Logger#manageLevelFromPref,
geckodriver needs to ensure that the input value for the
marionette.log.level preference conforms to the variants in the
Log.Level enum.

This patch implements the Into<T> conversion from geckodriver's
logging::Level into mozprofile::preferences::Pref by way of a new
function to_gecko(), that ensures the preference value is correctly
formatted.

Logger#manageLevelFromPref expects a string value such as "Info",
which exactly matches Log.Level's own properties.  It is in other
words case sensitive, and this ensures that Marionette no longer
has to case convert the input data.
2018-08-17 12:55:31 +01:00
Andreas Tolfsen
1b22ea64c9 Bug 1483805 - Update links to tools-marionette@ archive. r=me 2018-08-16 10:48:33 +01:00
Andreas Tolfsen
59aa4235d1 Bug 1483288 - Avoid "as i64" coercion of marionette.port pref value. r=whimboo 2018-08-15 15:49:18 +01:00
Myk Melez
2c2b6eebf9 Bug 1445451 - vendor rkv; r=froydnj
MozReview-Commit-ID: KbcADpNltYq

Differential Revision: https://phabricator.services.mozilla.com/D3042

--HG--
rename : third_party/rust/synstructure/.cargo-checksum.json => third_party/rust/synstructure-0.8.1/.cargo-checksum.json
rename : third_party/rust/synstructure/Cargo.toml => third_party/rust/synstructure-0.8.1/Cargo.toml
rename : third_party/rust/synstructure/README.md => third_party/rust/synstructure-0.8.1/README.md
rename : third_party/rust/synstructure/src/lib.rs => third_party/rust/synstructure-0.8.1/src/lib.rs
rename : third_party/rust/synstructure/src/macros.rs => third_party/rust/synstructure-0.8.1/src/macros.rs
extra : moz-landing-system : lando
2018-08-09 19:42:17 +00:00