Bug 1398057 - Not all command arguments are printed to the log.
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
--- a/testing/geckodriver/CHANGES.md
+++ b/testing/geckodriver/CHANGES.md
@@ -12,16 +12,18 @@ Unreleased
- Added crashreporter environment variables to better control the browser
in case of crashes
- Added preference `dom.file.createInChild` set to true to allow file
object creation in content processes
### Changed
+- Log all used application arguments and not only `-marionette`
+
- Early abort connection attempts to Marionette if the Firefox process
closed unexpectetly
- Removed deprecated `socksProxyVersion` in favor of `socksVersion`
- Removed `ftpProxyPort`, `httpProxyPort`, `sslProxyPort`, and
`socksProxyPort` because _ports_ have to be set for `ftpProxy`,
`httpProxy`, `sslProxy`, and `socksProxy` using ":<PORT>"
@@ -36,17 +38,17 @@ Unreleased
`path`, containing an addon as a Base64 string
- The [`WindowRectParameters`] have been updated to return signed 32-bit
integers in accordance with the CSS and WebDriver specifications, and
to be more liberal with the input types
- [webdriver crate] upgraded to version 0.30.0
-- [mozrunner crate] upgraded to version 0.4.2
+- [mozrunner crate] upgraded to version 0.5.0
0.18.0 (2017-07-10)
-------------------
### Changed
- [`RectResponse`] permits returning floats for `width` and `height`
--- a/testing/geckodriver/Cargo.toml
+++ b/testing/geckodriver/Cargo.toml
@@ -1,14 +1,15 @@
[package]
name = "geckodriver"
version = "0.18.0"
authors = [
"James Graham <james@hoppipolla.co.uk>",
"Andreas Tolfsen <ato@sny.no>",
+ "Henrik Skupin <mail@hskupin.info"
]
description = "Proxy for using WebDriver clients to interact with Gecko-based browsers."
keywords = ["webdriver", "w3c", "httpd", "mozilla", "firefox"]
repository = "https://hg.mozilla.org/mozilla-central/file/tip/testing/geckodriver"
readme = "README.md"
license = "MPL-2.0"
[dependencies]
--- a/testing/geckodriver/src/logging.rs
+++ b/testing/geckodriver/src/logging.rs
@@ -125,17 +125,18 @@ fn filtered_gecko_log(level: &LogLevel)
struct GeckoFormat;
impl Format for GeckoFormat {
fn format(&self, io: &mut io::Write, record: &Record, _: &OwnedKeyValueList) -> io::Result<()> {
// TODO(ato): Quite sure this is the wrong way to filter records with slog,
// but I do not comprehend how slog works.
let module = record.module();
- if module.starts_with("geckodriver") || module.starts_with("webdriver") {
+ if module.starts_with("geckodriver") || module.starts_with("webdriver") ||
+ module.starts_with("mozrunner") {
let ts = format_ts(Local::now());
let level = record.level().to_gecko();
let _ = try!(write!(io, "{}\t{}\t{}\t{}\n", ts, module, level, record.msg()));
}
Ok(())
}
}
--- a/testing/geckodriver/src/marionette.rs
+++ b/testing/geckodriver/src/marionette.rs
@@ -461,17 +461,16 @@ impl MarionetteHandler {
};
try!(self.set_prefs(port, &mut runner.profile, custom_profile, options.prefs)
.map_err(|e| {
WebDriverError::new(ErrorStatus::SessionNotCreated,
format!("Failed to set preferences: {}", e))
}));
- info!("Starting browser {} with args {:?}", binary.display(), runner.args());
try!(runner.start()
.map_err(|e| {
WebDriverError::new(ErrorStatus::SessionNotCreated,
format!("Failed to start browser {}: {}",
binary.display(), e))
}));
self.browser = Some(runner);