mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-29 15:52:07 +00:00
Bug 938706 - (2) Put Android xpcshell minidumps in a separate directory; r=ted
This commit is contained in:
parent
95fbb72d9b
commit
75d46e2b13
@ -93,7 +93,7 @@ try {
|
||||
let (crashReporter =
|
||||
Components.classes["@mozilla.org/toolkit/crash-reporter;1"]
|
||||
.getService(Components.interfaces.nsICrashReporter)) {
|
||||
crashReporter.minidumpPath = do_get_tempdir();
|
||||
crashReporter.minidumpPath = do_get_minidumpdir();
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1099,6 +1099,26 @@ function do_get_tempdir() {
|
||||
return file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the directory for crashreporter minidumps.
|
||||
*
|
||||
* @return nsILocalFile of the minidump directory
|
||||
*/
|
||||
function do_get_minidumpdir() {
|
||||
let env = Components.classes["@mozilla.org/process/environment;1"]
|
||||
.getService(Components.interfaces.nsIEnvironment);
|
||||
// the python harness may set this in the environment for us
|
||||
let path = env.get("XPCSHELL_MINIDUMP_DIR");
|
||||
if (path) {
|
||||
let file = Components.classes["@mozilla.org/file/local;1"]
|
||||
.createInstance(Components.interfaces.nsILocalFile);
|
||||
file.initWithPath(path);
|
||||
return file;
|
||||
} else {
|
||||
return do_get_tempdir();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Registers a directory with the profile service,
|
||||
* and return the directory as an nsILocalFile.
|
||||
|
@ -139,10 +139,10 @@ class RemoteXPCShellTestThread(xpcshell.XPCShellTestThread):
|
||||
symbols_path,
|
||||
test_name=None):
|
||||
with mozfile.TemporaryDirectory() as dumpDir:
|
||||
self.device.getDirectory(self.remoteTmpDir, dumpDir)
|
||||
self.device.getDirectory(self.remoteMinidumpDir, dumpDir)
|
||||
crashed = xpcshell.XPCShellTestThread.checkForCrashes(self, dumpDir, symbols_path, test_name)
|
||||
self.device.removeDir(self.remoteTmpDir)
|
||||
self.device.mkDir(self.remoteTmpDir)
|
||||
self.device.removeDir(self.remoteMinidumpDir)
|
||||
self.device.mkDir(self.remoteMinidumpDir)
|
||||
return crashed
|
||||
|
||||
def communicate(self, proc):
|
||||
@ -210,6 +210,7 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
||||
self.remoteScriptsDir = self.remoteTestRoot
|
||||
self.remoteComponentsDir = remoteJoin(self.remoteTestRoot, "c")
|
||||
self.remoteModulesDir = remoteJoin(self.remoteTestRoot, "m")
|
||||
self.remoteMinidumpDir = remoteJoin(self.remoteTestRoot, "minidumps")
|
||||
self.profileDir = remoteJoin(self.remoteTestRoot, "p")
|
||||
self.remoteDebugger = options.debugger
|
||||
self.remoteDebuggerArgs = options.debuggerArgs
|
||||
@ -231,6 +232,7 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
||||
self.setupUtilities()
|
||||
self.setupModules()
|
||||
self.setupTestDir()
|
||||
self.setupMinidumpDir()
|
||||
self.remoteAPK = None
|
||||
if options.localAPK:
|
||||
self.remoteAPK = remoteJoin(self.remoteBinDir, os.path.basename(options.localAPK))
|
||||
@ -248,6 +250,7 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
||||
'pathMapping': self.pathMapping,
|
||||
'profileDir': self.profileDir,
|
||||
'remoteTmpDir': self.remoteTmpDir,
|
||||
'remoteMinidumpDir': self.remoteMinidumpDir,
|
||||
}
|
||||
if self.remoteAPK:
|
||||
self.mobileArgs['remoteAPK'] = self.remoteAPK
|
||||
@ -287,6 +290,7 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
||||
self.env["TMPDIR"] = self.remoteTmpDir
|
||||
self.env["HOME"] = self.profileDir
|
||||
self.env["XPCSHELL_TEST_TEMP_DIR"] = self.remoteTmpDir
|
||||
self.env["XPCSHELL_MINIDUMP_DIR"] = self.remoteMinidumpDir
|
||||
if self.options.setup:
|
||||
self.pushWrapper()
|
||||
|
||||
@ -413,6 +417,11 @@ class XPCShellRemote(xpcshell.XPCShellTests, object):
|
||||
# Foopies have an older mozdevice ver without retryLimit
|
||||
self.device.pushDir(self.xpcDir, self.remoteScriptsDir)
|
||||
|
||||
def setupMinidumpDir(self):
|
||||
if self.device.dirExists(self.remoteMinidumpDir):
|
||||
self.device.removeDir(self.remoteMinidumpDir)
|
||||
self.device.mkDir(self.remoteMinidumpDir)
|
||||
|
||||
def buildTestList(self):
|
||||
xpcshell.XPCShellTests.buildTestList(self)
|
||||
uniqueTestPaths = set([])
|
||||
|
Loading…
Reference in New Issue
Block a user