Bug 539290 - Test harness should look for minidumps from child (plugin) processes but not turn the tree orange automatically, r=ted
authorBenjamin Smedberg <benjamin@smedbergs.us>
Tue, 12 Jan 2010 16:53:10 -0500
changeset 37206 e828ac5006650b19def0b3b35cca72b80ef46548
parent 37205 8c002da7e8cf7e7b88184e6f731302ea2948f3a0
child 37207 f98a151769d7a1eb47caa0e6cedc4216a0020713
push id11168
push userbsmedberg@mozilla.com
push dateThu, 14 Jan 2010 19:36:29 +0000
treeherdermozilla-central@6e638c0eedf7 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted
bugs539290
milestone1.9.3a1pre
Bug 539290 - Test harness should look for minidumps from child (plugin) processes but not turn the tree orange automatically, r=ted
build/automation.py.in
build/automationutils.py
testing/xpcshell/runxpcshelltests.py
--- a/build/automation.py.in
+++ b/build/automation.py.in
@@ -693,18 +693,17 @@ def runApp(testURL, env, app, profileDir
     processLogFD.close()
 
     for processPID in processList:
       log.info("INFO | automation.py | Checking for orphan process with PID: %d", processPID)
       if isPidAlive(processPID):
         log.info("TEST-UNEXPECTED-FAIL | automation.py | child process %d still alive after shutdown", processPID)
         killPid(processPID)
 
-  if checkForCrashes(os.path.join(profileDir, "minidumps"), symbolsPath):
-    status = -1
+  checkForCrashes(os.path.join(profileDir, "minidumps"), symbolsPath)
 
   if os.path.exists(processLog):
     os.unlink(processLog)
 
   if IS_TEST_BUILD and runSSLTunnel:
     ssltunnelProcess.kill()
 
   return status
--- a/build/automationutils.py
+++ b/build/automationutils.py
@@ -99,17 +99,17 @@ def checkForCrashes(dumpDir, symbolsPath
     try:
       testName = os.path.basename(sys._getframe(1).f_code.co_filename)
     except:
       testName = "unknown"
 
   foundCrash = False
   dumps = glob.glob(os.path.join(dumpDir, '*.dmp'))
   for d in dumps:
-    log.info("TEST-UNEXPECTED-FAIL | %s | application crashed (minidump found)", testName)
+    log.info("PROCESS-CRASH | %s | application crashed (minidump found)", testName)
     if symbolsPath and stackwalkPath and os.path.exists(stackwalkPath):
       nullfd = open(os.devnull, 'w')
       # eat minidump_stackwalk errors
       subprocess.call([stackwalkPath, d, symbolsPath], stderr=nullfd)
       nullfd.close()
     else:
       if not symbolsPath:
         print "No symbols path given, can't process dump."
--- a/testing/xpcshell/runxpcshelltests.py
+++ b/testing/xpcshell/runxpcshelltests.py
@@ -244,22 +244,22 @@ def runTests(xpcshell, xrePath=None, sym
           # Not sure what else to do here...
           return True
 
         if proc.returncode != 0 or (stdout and re.search("^TEST-UNEXPECTED-FAIL", stdout, re.MULTILINE)):
           print """TEST-UNEXPECTED-FAIL | %s | test failed (with xpcshell return code: %d), see following log:
   >>>>>>>
   %s
   <<<<<<<""" % (test, proc.returncode, stdout)
-          checkForCrashes(testdir, symbolsPath, testName=test)
           failCount += 1
         else:
           print "TEST-PASS | %s | test passed" % test
           passCount += 1
 
+        checkForCrashes(testdir, symbolsPath, testName=test)
         dumpLeakLog(leakLogFile, True)
 
         if logfiles and stdout:
           try:
             f = open(test + ".log", "w")
             f.write(stdout)
 
             if os.path.exists(leakLogFile):