From 3988d0453ca20793e7918dfb28857d5a43a5f7b3 Mon Sep 17 00:00:00 2001 From: Geoff Brown Date: Tue, 6 Nov 2012 04:43:58 -0700 Subject: [PATCH] Bug 808728 - Log remote environment vars correctly; r=jmaher --- testing/xpcshell/remotexpcshelltests.py | 33 +++++++++++++++++++------ testing/xpcshell/runxpcshelltests.py | 17 +++++++------ 2 files changed, 35 insertions(+), 15 deletions(-) diff --git a/testing/xpcshell/remotexpcshelltests.py b/testing/xpcshell/remotexpcshelltests.py index 445fc898a81..6c804a7e163 100644 --- a/testing/xpcshell/remotexpcshelltests.py +++ b/testing/xpcshell/remotexpcshelltests.py @@ -211,19 +211,36 @@ class XPCShellRemote(xpcshell.XPCShellTests, object): self.log.info("TEST-INFO | profile dir is %s" % self.profileDir) return self.profileDir + def logCommand(self, name, completeCmd, testdir): + self.log.info("TEST-INFO | %s | full command: %r" % (name, completeCmd)) + self.log.info("TEST-INFO | %s | current directory: %r" % (name, self.remoteHere)) + self.log.info("TEST-INFO | %s | environment: %s" % (name, self.env)) + + def setupLeakLogging(self): + # Leak logging disabled on Android because it makes the command + # line too long: bug 752126 + + # filename = "leaks" + # leakLogFile = self.remoteJoin(self.profileDir, filename) + # self.env["XPCOM_MEM_LEAK_LOG"] = leakLogFile + leakLogFile = "" + return leakLogFile + def setLD_LIBRARY_PATH(self, env): env["LD_LIBRARY_PATH"]=self.remoteBinDir + def buildEnvironment(self): + self.env = {} + self.setLD_LIBRARY_PATH(self.env) + self.env["MOZ_LINKER_CACHE"]=self.remoteBinDir + if self.options.localAPK and self.appRoot: + self.env["GRE_HOME"]=self.appRoot + self.env["XPCSHELL_TEST_PROFILE_DIR"]=self.profileDir + self.env["TMPDIR"]=self.remoteTmpDir + self.env["HOME"]=self.profileDir + def launchProcess(self, cmd, stdout, stderr, env, cwd): cmd[0] = self.remoteJoin(self.remoteBinDir, "xpcshell") - env = {} - self.setLD_LIBRARY_PATH(env) - env["MOZ_LINKER_CACHE"]=self.remoteBinDir - if self.options.localAPK and self.appRoot: - env["GRE_HOME"]=self.appRoot - env["XPCSHELL_TEST_PROFILE_DIR"]=self.profileDir - env["TMPDIR"]=self.remoteTmpDir - env["HOME"]=self.profileDir outputFile = "xpcshelloutput" f = open(outputFile, "w+") self.shellReturnCode = self.device.shell(cmd, f, cwd=self.remoteHere, env=env) diff --git a/testing/xpcshell/runxpcshelltests.py b/testing/xpcshell/runxpcshelltests.py index 2149f169236..3131202ed65 100644 --- a/testing/xpcshell/runxpcshelltests.py +++ b/testing/xpcshell/runxpcshelltests.py @@ -588,6 +588,15 @@ class XPCShellTests(object): out = AutologOutput() out.post(out.make_testgroups(collection)) + def logCommand(self, name, completeCmd, testdir): + self.log.info("TEST-INFO | %s | full command: %r" % (name, completeCmd)) + self.log.info("TEST-INFO | %s | current directory: %r" % (name, testdir)) + # Show only those environment variables that are changed from + # the ambient environment. + changedEnv = (set("%s=%s" % i for i in self.env.iteritems()) + - set("%s=%s" % i for i in os.environ.iteritems())) + self.log.info("TEST-INFO | %s | environment: %s" % (name, list(changedEnv))) + def runTests(self, xpcshell, xrePath=None, appPath=None, symbolsPath=None, manifest=None, testdirs=None, testPath=None, interactive=False, verbose=False, keepGoing=False, logfiles=True, @@ -785,13 +794,7 @@ class XPCShellTests(object): try: self.log.info("TEST-INFO | %s | running test ..." % name) if verbose: - self.log.info("TEST-INFO | %s | full command: %r" % (name, completeCmd)) - self.log.info("TEST-INFO | %s | current directory: %r" % (name, testdir)) - # Show only those environment variables that are changed from - # the ambient environment. - changedEnv = (set("%s=%s" % i for i in self.env.iteritems()) - - set("%s=%s" % i for i in os.environ.iteritems())) - self.log.info("TEST-INFO | %s | environment: %s" % (name, list(changedEnv))) + self.logCommand(name, completeCmd, testdir) startTime = time.time() proc = self.launchProcess(completeCmd,