зеркало из https://github.com/mozilla/gecko-dev.git
Run output of debug builds through fix-linux-stack/fix-macosx-stack. (Bug 385248) r=ted
This commit is contained in:
Родитель
da3ed02210
Коммит
863d371153
|
@ -97,4 +97,14 @@ libs:: bloaturls.txt
|
|||
# autocycling of URLs.
|
||||
libs:: bloatcycle.html
|
||||
$(INSTALL) $< $(DIST)/bin/res
|
||||
|
||||
ifeq ($(OS_ARCH),Darwin)
|
||||
libs:: $(topsrcdir)/tools/rb/fix-macosx-stack.pl
|
||||
$(INSTALL) $< $(DIST)/bin
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
libs:: $(topsrcdir)/tools/rb/fix-linux-stack.pl
|
||||
$(INSTALL) $< $(DIST)/bin
|
||||
endif
|
||||
endif
|
||||
|
|
|
@ -34,6 +34,7 @@ AUTOMATION_PPARGS = \
|
|||
-DPROFILE_DIR=\"$(_PROFILE_DIR)\" \
|
||||
-DCERTS_SRC_DIR=\"$(_CERTS_SRC_DIR)\" \
|
||||
-DSYMBOLS_PATH=\"$(_SYMBOLS_PATH)\" \
|
||||
-DPERL=\"$(PERL)\" \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH),Darwin)
|
||||
|
@ -42,6 +43,12 @@ else
|
|||
AUTOMATION_PPARGS += -DIS_MAC=0
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
AUTOMATION_PPARGS += -DIS_LINUX=1
|
||||
else
|
||||
AUTOMATION_PPARGS += -DIS_LINUX=0
|
||||
endif
|
||||
|
||||
ifeq ($(MOZ_BUILD_APP),camino)
|
||||
AUTOMATION_PPARGS += -DIS_CAMINO=1
|
||||
else
|
||||
|
|
|
@ -81,6 +81,7 @@ __all__ = [
|
|||
#expand DIST_BIN = __XPC_BIN_PATH__
|
||||
#expand IS_WIN32 = len("__WIN32__") != 0
|
||||
#expand IS_MAC = __IS_MAC__ != 0
|
||||
#expand IS_LINUX = __IS_LINUX__ != 0
|
||||
#ifdef IS_CYGWIN
|
||||
#expand IS_CYGWIN = __IS_CYGWIN__ == 1
|
||||
#else
|
||||
|
@ -88,6 +89,7 @@ IS_CYGWIN = False
|
|||
#endif
|
||||
#expand IS_CAMINO = __IS_CAMINO__ != 0
|
||||
#expand BIN_SUFFIX = __BIN_SUFFIX__
|
||||
#expand PERL = __PERL__
|
||||
|
||||
UNIXISH = not IS_WIN32 and not IS_MAC
|
||||
|
||||
|
@ -593,17 +595,33 @@ def runApp(testURL, env, app, profileDir, extraArgs,
|
|||
stderr = subprocess.STDOUT)
|
||||
log.info("INFO | automation.py | Application pid: %d", proc.pid)
|
||||
|
||||
stackFixerProcess = None
|
||||
if outputPipe is None:
|
||||
log.info("TEST-INFO: Not logging stdout or stderr due to debugger connection")
|
||||
else:
|
||||
line = proc.stdout.readline()
|
||||
logsource = proc.stdout
|
||||
if IS_DEBUG_BUILD:
|
||||
stackFixerCommand = None
|
||||
if IS_MAC:
|
||||
stackFixerCommand = "fix-macosx-stack.pl"
|
||||
elif IS_LINUX:
|
||||
stackFixerCommand = "fix-linux-stack.pl"
|
||||
if stackFixerCommand is not None:
|
||||
stackFixerProcess = Process([PERL, os.path.join(utilityPath, stackFixerCommand)], stdin=logsource, stdout=subprocess.PIPE)
|
||||
logsource = stackFixerProcess.stdout
|
||||
|
||||
line = logsource.readline()
|
||||
while line != "":
|
||||
log.info(line.rstrip())
|
||||
line = proc.stdout.readline()
|
||||
line = logsource.readline()
|
||||
|
||||
status = proc.wait()
|
||||
if status != 0:
|
||||
log.info("TEST-UNEXPECTED-FAIL | automation.py | Exited with code %d during test run", status)
|
||||
if stackFixerProcess is not None:
|
||||
status = stackFixerProcess.wait()
|
||||
if status != 0:
|
||||
log.info("TEST-UNEXPECTED-FAIL | automation.py | Stack fixer process exited with code %d during test run", status)
|
||||
log.info("INFO | automation.py | Application ran for: %s", str(datetime.now() - startTime))
|
||||
|
||||
if checkForCrashes(os.path.join(profileDir, "minidumps"), symbolsPath):
|
||||
|
|
|
@ -133,7 +133,7 @@ Are you executing $objdir/_tests/reftest/runreftest.py?""" \
|
|||
# via the commandline at your own risk.
|
||||
# NO_EM_RESTART: will do a '-silent' run instead.
|
||||
browserEnv["NO_EM_RESTART"] = "1"
|
||||
browserEnv["XPCOM_DEBUG_BREAK"] = "warn"
|
||||
browserEnv["XPCOM_DEBUG_BREAK"] = "stack"
|
||||
if automation.UNIXISH:
|
||||
browserEnv["LD_LIBRARY_PATH"] = options.xrePath
|
||||
browserEnv["MOZILLA_FIVE_HOME"] = options.xrePath
|
||||
|
|
|
@ -98,6 +98,14 @@ TEST_HARNESS_BINS := \
|
|||
pk12util$(BIN_SUFFIX) \
|
||||
$(NULL)
|
||||
|
||||
ifeq ($(OS_ARCH),Darwin)
|
||||
TEST_HARNESS_BINS += fix-macosx-stack.pl
|
||||
endif
|
||||
|
||||
ifeq ($(OS_ARCH),Linux)
|
||||
TEST_HARNESS_BINS += fix-linux-stack.pl
|
||||
endif
|
||||
|
||||
# Components / typelibs that don't get packaged with
|
||||
# the build, but that we need for the test harness.
|
||||
TEST_HARNESS_COMPONENTS := \
|
||||
|
|
|
@ -391,7 +391,7 @@ Are you executing $objdir/_tests/testing/mochitest/runtests.py?"""
|
|||
# via the commandline at your own risk.
|
||||
# NO_EM_RESTART: will do a '-silent' run instead.
|
||||
browserEnv["NO_EM_RESTART"] = "1"
|
||||
browserEnv["XPCOM_DEBUG_BREAK"] = "warn"
|
||||
browserEnv["XPCOM_DEBUG_BREAK"] = "stack"
|
||||
appDir = os.path.dirname(options.app)
|
||||
if automation.UNIXISH:
|
||||
browserEnv["LD_LIBRARY_PATH"] = appDir
|
||||
|
|
Загрузка…
Ссылка в новой задаче