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 78566 cb70379936f3ecc1e598697400fd6c3b5ffe652a
parent 78565 cebcf93501983c32332ef712b32dcf271295b382
child 78567 67287e6fac80bf8145bd0ce6d765aa99174d62e3
push id78
push userclegnitto@mozilla.com
push dateFri, 16 Dec 2011 17:32:24 +0000
treeherdermozilla-release@79d24e644fdd [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()