Bug 1466573 - Write profile prefs before constructing command. r=whimboo
authorAndreas Tolfsen <ato@sny.no>
Tue, 05 Jun 2018 15:08:07 +0100
changeset 422624 cfc5d5a963329994f779ad190e7f903efe81095f
parent 422623 d871c3ff503a80221f703f6a2e449bb8fadf2cff
child 422625 d264fabbfb132061f8154739e740077f8111663e
push id34139
push useraciure@mozilla.com
push dateFri, 15 Jun 2018 09:48:05 +0000
treeherdermozilla-central@dc997a4e045e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerswhimboo
bugs1466573
milestone62.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1466573 - Write profile prefs before constructing command. r=whimboo MozReview-Commit-ID: 5XWglxjQvZh
testing/mozbase/rust/mozrunner/src/runner.rs
--- a/testing/mozbase/rust/mozrunner/src/runner.rs
+++ b/testing/mozbase/rust/mozrunner/src/runner.rs
@@ -246,36 +246,36 @@ impl Runner for FirefoxRunner {
     where
         T: Into<Stdio>,
     {
         self.stderr = Some(stderr.into());
         self
     }
 
     fn start(mut self) -> Result<FirefoxProcess, RunnerError> {
+        self.profile.user_prefs()?.write()?;
+
         let stdout = self.stdout.unwrap_or_else(|| Stdio::inherit());
         let stderr = self.stderr.unwrap_or_else(|| Stdio::inherit());
 
         let mut cmd = Command::new(&self.binary);
         cmd.args(&self.args[..])
             .envs(&self.envs)
             .stdout(stdout)
             .stderr(stderr);
 
         if !self.args.iter().any(|x| is_profile_arg(x)) {
             cmd.arg("-profile").arg(&self.profile.path);
         }
         cmd.stdout(Stdio::inherit()).stderr(Stdio::inherit());
 
-        self.profile.user_prefs()?.write()?;
-
         info!("Running command: {:?}", cmd);
         let process = cmd.spawn()?;
         Ok(FirefoxProcess {
-            process: process,
+            process,
             profile: self.profile
         })
     }
 }
 
 fn parse_arg_name<T>(arg: T) -> Option<String>
 where
     T: AsRef<OsStr>,