Bug 685934 - prevent unnecessary redownloading of build between tests, a=testonly, DONTBUILD
authorJonathan Griffin <jgriffin@mozilla.com>
Fri, 09 Sep 2011 10:50:40 -0700
changeset 77255 cb70379936f3ecc1e598697400fd6c3b5ffe652a
parent 77254 cebcf93501983c32332ef712b32dcf271295b382
child 77256 67287e6fac80bf8145bd0ce6d765aa99174d62e3
push id21190
push userpweitershausen@mozilla.com
push dateWed, 21 Sep 2011 19:55:51 +0000
treeherdermozilla-central@50b36274e689 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerstestonly, DONTBUILD
bugs685934
milestone9.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 685934 - prevent unnecessary redownloading of build between tests, a=testonly, DONTBUILD
testing/tps/tps/thread.py
--- a/testing/tps/tps/thread.py
+++ b/testing/tps/tps/thread.py
@@ -64,39 +64,43 @@ class TPSTestThread(Thread):
                         logfile=self.logfile,
                         binary=self.builddata['buildurl'],
                         config=self.config,
                         rlock=self.rlock,
                         mobile=False,
                         autolog=self.autolog)
     TPS.run_tests()
 
+    # Get the binary used by this TPS instance, and use it in subsequent
+    # ones, so it doesn't have to be re-downloaded each time.
+    binary = TPS.firefoxRunner.binary
+
     # ... and then again in mobile mode
-    TPS = TPSTestRunner(self.extensionDir,
-                        emailresults=self.emailresults,
-                        testfile=self.testfile,
-                        logfile=self.logfile,
-                        binary=self.builddata['buildurl'],
-                        config=self.config,
-                        rlock=self.rlock,
-                        mobile=True,
-                        autolog=self.autolog)
-    TPS.run_tests()
+    TPS_mobile = TPSTestRunner(self.extensionDir,
+                               emailresults=self.emailresults,
+                               testfile=self.testfile,
+                               logfile=self.logfile,
+                               binary=binary,
+                               config=self.config,
+                               rlock=self.rlock,
+                               mobile=True,
+                               autolog=self.autolog)
+    TPS_mobile.run_tests()
 
     # ... and again via the staging server, if credentials are present
     stageaccount = self.config.get('stageaccount')
     if stageaccount:
       username = stageaccount.get('username')
       password = stageaccount.get('password')
       passphrase = stageaccount.get('passphrase')
       if username and password and passphrase:
         stageconfig = self.config.copy()
         stageconfig['account'] = stageaccount.copy()
-        TPS = TPSTestRunner(self.extensionDir,
-                            emailresults=self.emailresults,
-                            testfile=self.testfile,
-                            logfile=self.logfile,
-                            binary=self.builddata['buildurl'],
-                            config=stageconfig,
-                            rlock=self.rlock,
-                            mobile=False,
-                            autolog=self.autolog)
-        TPS.run_tests()
+        TPS_stage = TPSTestRunner(self.extensionDir,
+                                  emailresults=self.emailresults,
+                                  testfile=self.testfile,
+                                  logfile=self.logfile,
+                                  binary=binary,
+                                  config=stageconfig,
+                                  rlock=self.rlock,
+                                  mobile=False,
+                                  autolog=self.autolog)
+        TPS_stage.run_tests()