Run output of debug builds through fix-linux-stack/fix-macosx-stack. (Bug 385248) r=ted

This commit is contained in:
L. David Baron 2009-08-10 15:52:29 -07:00
Родитель da3ed02210
Коммит 863d371153
6 изменённых файлов: 47 добавлений и 4 удалений

Просмотреть файл

@ -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