Bug 805116 - Print more of the logcat in mobile tests;r=gbrown
authorWilliam Lachance <wlach@mozilla.com>
Mon, 12 Nov 2012 13:57:13 -0800
changeset 120956 9c109426c0e3061cdf759049e12f5d04ee041898
parent 120955 79b202f6671e0b47396604981aeda6c2f2b5d95f
child 120957 0640697d6781f034ff3f30e8812eb18e94432476
push id1997
push userakeybl@mozilla.com
push dateMon, 07 Jan 2013 21:25:26 +0000
treeherdermozilla-beta@4baf45cdcf21 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersgbrown
bugs805116
milestone19.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 805116 - Print more of the logcat in mobile tests;r=gbrown
build/mobile/remoteautomation.py
layout/tools/reftest/remotereftest.py
testing/mochitest/runtestsremote.py
--- a/build/mobile/remoteautomation.py
+++ b/build/mobile/remoteautomation.py
@@ -8,16 +8,20 @@ import os
 import automationutils
 import tempfile
 import shutil
 import subprocess
 
 from automation import Automation
 from devicemanager import NetworkTools, DMError
 
+# signatures for logcat messages that we don't care about much
+fennecLogcatFilters = [ "The character encoding of the HTML document was not declared",
+                           "Use of Mutation Events is deprecated. Use MutationObserver instead." ]
+
 class RemoteAutomation(Automation):
     _devicemanager = None
 
     def __init__(self, deviceManager, appName = '', remoteLog = None):
         self._devicemanager = deviceManager
         self._appName = appName
         self._remoteProfile = None
         self._remoteLog = remoteLog
--- a/layout/tools/reftest/remotereftest.py
+++ b/layout/tools/reftest/remotereftest.py
@@ -10,17 +10,17 @@ import traceback
 
 # We need to know our current directory so that we can serve our test files from it.
 SCRIPT_DIRECTORY = os.path.abspath(os.path.realpath(os.path.dirname(sys.argv[0])))
 
 from runreftest import RefTest
 from runreftest import ReftestOptions
 from automation import Automation
 import devicemanager, devicemanagerADB, devicemanagerSUT
-from remoteautomation import RemoteAutomation
+from remoteautomation import RemoteAutomation, fennecLogcatFilters
 
 class RemoteOptions(ReftestOptions):
     def __init__(self, automation):
         ReftestOptions.__init__(self, automation)
 
         defaults = {}
         defaults["logFile"] = "reftest.log"
         # app, xrePath and utilityPath variables are set in main function
@@ -445,18 +445,18 @@ def main(args):
         reftest.runTests(manifest, options, cmdlineArgs)
     except:
         print "Automation Error: Exception caught while running tests"
         traceback.print_exc()
         retVal = 1
 
     reftest.stopWebServer(options)
     try:
-        logcat = dm.getLogcat()
-        print ''.join(logcat[-500:-1])
+        logcat = dm.getLogcat(filterOutRegexps=fennecLogcatFilters)
+        print ''.join(logcat)
         print dm.getInfo()
     except devicemanager.DMError:
         print "WARNING: Error getting device information at end of test"
 
     return retVal
 
 if __name__ == "__main__":
     sys.exit(main(sys.argv[1:]))
--- a/testing/mochitest/runtestsremote.py
+++ b/testing/mochitest/runtestsremote.py
@@ -7,17 +7,17 @@ import os
 import time
 import tempfile
 import re
 import traceback
 
 sys.path.insert(0, os.path.abspath(os.path.realpath(os.path.dirname(sys.argv[0]))))
 
 from automation import Automation
-from remoteautomation import RemoteAutomation
+from remoteautomation import RemoteAutomation, fennecLogcatFilters
 from runtests import Mochitest
 from runtests import MochitestOptions
 from runtests import MochitestServer
 
 import devicemanager, devicemanagerADB, devicemanagerSUT
 import manifestparser
 
 class RemoteOptions(MochitestOptions):
@@ -530,18 +530,18 @@ def main():
             try:
                 mochitest.cleanup(None, options)
             except devicemanager.DMError:
                 # device error cleaning up... oh well!
                 pass
             retVal = 1
 
     try:
-        logcat = dm.getLogcat()
-        print ''.join(logcat[-500:-1])
+        logcat = dm.getLogcat(filterOutRegexps=fennecLogcatFilters)
+        print ''.join(logcat)
         print dm.getInfo()
     except devicemanager.DMError:
         print "WARNING: Error getting device information at end of test"
 
     sys.exit(retVal)
         
 if __name__ == "__main__":
     main()