Skip to content
This repository has been archived by the owner on Jun 11, 2019. It is now read-only.

Commit

Permalink
changeset: 2141:2da0b1d236fd
Browse files Browse the repository at this point in the history
parent:      2138:5f1e278ddad0
user:        Phil Ringnalda <philringnalda@gmail.com>
date:        Wed Feb 29 09:53:09 2012 -0500
summary:     Bug 660480 - mark as RETRY for common tegra errors - r=coop

changeset:   2142:9a926d916dc1
user:        Rail Aliiev <rail@mozilla.com>
date:        Thu Mar 01 06:43:01 2012 -0500
summary:     Bug 729918 - Investigate why start_uptake_monitoring builder uses wrong script_repo_revision property. r=catlee

changeset:   2143:105345dd7c79
tag:         tip
user:        Chris AtLee <catlee@mozilla.com>
date:        Thu Mar 01 09:36:49 2012 -0500
summary:     Bug 561754: Download symbols on demand by default for desktop unittests. r=nthomas

--HG--
branch : production-0.8
  • Loading branch information
Armen Zambrano Gasparnian committed Mar 1, 2012
2 parents 917bdf0 + 820ab06 commit 7ebda10
Show file tree
Hide file tree
Showing 4 changed files with 31 additions and 30 deletions.
9 changes: 5 additions & 4 deletions misc.py
Expand Up @@ -395,6 +395,7 @@ def generateTestBuilder(config, branch_name, platform, name_prefix,
branchName=branch_name,
remoteExtras=pf.get('remote_extras'),
downloadSymbols=pf.get('download_symbols', True),
downloadSymbolsOnDemand=pf.get('download_symbols_ondemand', False),
)
builder = {
'name': '%s %s' % (name_prefix, suites_name),
Expand Down Expand Up @@ -453,9 +454,9 @@ def generateTestBuilder(config, branch_name, platform, name_prefix,
thisChunk=i+1,
chunkByDir=suites.get('chunkByDir'),
env=pf.get('unittest-env', {}),
downloadSymbols=pf.get('download_symbols', True),
downloadSymbols=pf.get('download_symbols', False),
downloadSymbolsOnDemand=pf.get('download_symbols_ondemand', True),
resetHwClock=resetHwClock,
stackwalk_cgi=config.get('stackwalk_cgi'),
)
builder = {
'name': '%s %s-%i/%i' % (name_prefix, suites_name, i+1, totalChunks),
Expand All @@ -482,10 +483,10 @@ def generateTestBuilder(config, branch_name, platform, name_prefix,
buildToolsRepoPath=config['build_tools_repo_path'],
buildSpace=1.0,
buildsBeforeReboot=config['platforms'][platform]['builds_before_reboot'],
downloadSymbols=pf.get('download_symbols', True),
downloadSymbols=pf.get('download_symbols', False),
downloadSymbolsOnDemand=pf.get('download_symbols_ondemand', True),
env=pf.get('unittest-env', {}),
resetHwClock=resetHwClock,
stackwalk_cgi=config.get('stackwalk_cgi'),
)
builder = {
'name': '%s %s' % (name_prefix, suites_name),
Expand Down
42 changes: 17 additions & 25 deletions process/factory.py
Expand Up @@ -50,7 +50,7 @@
reload(release.paths)

from buildbotcustom.status.errors import purge_error, global_errors, \
upload_errors
upload_errors, tegra_errors
from buildbotcustom.steps.base import ShellCommand, SetProperty, Mercurial, \
Trigger, RetryingShellCommand, RetryingSetProperty
from buildbotcustom.steps.misc import TinderboxShellCommand, SendChangeStep, \
Expand Down Expand Up @@ -6531,9 +6531,9 @@ def parse_sendchange_files(build, include_substr='', exclude_substrs=[]):

class MozillaTestFactory(MozillaBuildFactory):
def __init__(self, platform, productName='firefox',
downloadSymbols=True, downloadTests=False,
posixBinarySuffix='-bin', resetHwClock=False, stackwalk_cgi=None,
**kwargs):
downloadSymbols=True, downloadSymbolsOnDemand=True,
downloadTests=False, posixBinarySuffix='-bin',
resetHwClock=False, **kwargs):
#Note: the posixBinarySuffix is needed because some products (firefox)
#use 'firefox-bin' and some (fennec) use 'fennec' for the name of the
#actual application binary. This is only applicable to posix-like
Expand All @@ -6547,9 +6547,9 @@ def __init__(self, platform, productName='firefox',
else:
self.posixBinarySuffix = posixBinarySuffix
self.downloadSymbols = downloadSymbols
self.downloadSymbolsOnDemand = downloadSymbolsOnDemand
self.downloadTests = downloadTests
self.resetHwClock = resetHwClock
self.stackwalk_cgi = stackwalk_cgi

assert self.platform in getSupportedPlatforms()

Expand All @@ -6561,7 +6561,7 @@ def __init__(self, platform, productName='firefox',

self.addCleanupSteps()
self.addPrepareBuildSteps()
if self.downloadSymbols:
if self.downloadSymbols or self.downloadSymbolsOnDemand:
self.addPrepareSymbolsSteps()
if self.downloadTests:
self.addPrepareTestsSteps()
Expand Down Expand Up @@ -6681,7 +6681,7 @@ def get_symbols_url(build):
else:
return parse_sendchange_files(build, include_substr='.crashreporter-symbols.')

if not self.stackwalk_cgi:
if self.downloadSymbols:
self.addStep(DownloadFile(
url_fn=get_symbols_url,
filename_property='symbols_filename',
Expand All @@ -6695,7 +6695,7 @@ def get_symbols_url(build):
name='unpack_symbols',
workdir='build/symbols'
))
else:
elif self.downloadSymbolsOnDemand:
self.addStep(SetBuildProperty(
property_name='symbols_url',
value=get_symbols_url,
Expand Down Expand Up @@ -6790,7 +6790,7 @@ class UnittestPackagedBuildFactory(MozillaTestFactory):
def __init__(self, platform, test_suites, env, productName='firefox',
mochitest_leak_threshold=None,
crashtest_leak_threshold=None, totalChunks=None,
thisChunk=None, chunkByDir=None, stackwalk_cgi=None,
thisChunk=None, chunkByDir=None,
**kwargs):
platform = platform.split('-')[0]
self.test_suites = test_suites
Expand All @@ -6799,18 +6799,15 @@ def __init__(self, platform, test_suites, env, productName='firefox',
self.chunkByDir = chunkByDir

testEnv = MozillaEnvironments['%s-unittest' % platform].copy()
if stackwalk_cgi and kwargs.get('downloadSymbols'):
testEnv['MINIDUMP_STACKWALK_CGI'] = stackwalk_cgi
else:
testEnv['MINIDUMP_STACKWALK'] = getPlatformMinidumpPath(platform)
testEnv['MINIDUMP_STACKWALK'] = getPlatformMinidumpPath(platform)
testEnv['MINIDUMP_SAVE_PATH'] = WithProperties('%(basedir:-)s/minidumps')
testEnv.update(env)

self.leak_thresholds = {'mochitest-plain': mochitest_leak_threshold,
'crashtest': crashtest_leak_threshold,}

MozillaTestFactory.__init__(self, platform, productName, env=testEnv,
downloadTests=True, stackwalk_cgi=stackwalk_cgi,
downloadTests=True,
**kwargs)

def addSetupSteps(self):
Expand All @@ -6825,7 +6822,7 @@ def addRunTestSteps(self):
if self.platform.startswith('macosx64'):
self.addStep(resolution_step())
# Run them!
if self.stackwalk_cgi and self.downloadSymbols:
if self.downloadSymbolsOnDemand:
symbols_path = '%(symbols_url)s'
else:
symbols_path = 'symbols'
Expand Down Expand Up @@ -6989,18 +6986,13 @@ def addRunTestSteps(self):

class RemoteUnittestFactory(MozillaTestFactory):
def __init__(self, platform, suites, hostUtils, productName='fennec',
downloadSymbols=False, downloadTests=True,
posixBinarySuffix='', remoteExtras=None,
branchName=None, stackwalk_cgi=None, **kwargs):
downloadSymbols=False, downloadTests=True, posixBinarySuffix='',
remoteExtras=None, branchName=None, **kwargs):
self.suites = suites
self.hostUtils = hostUtils
self.stackwalk_cgi = stackwalk_cgi
self.env = {}

if stackwalk_cgi and kwargs.get('downloadSymbols'):
self.env['MINIDUMP_STACKWALK_CGI'] = stackwalk_cgi
else:
self.env['MINIDUMP_STACKWALK'] = getPlatformMinidumpPath(platform)
self.env['MINIDUMP_STACKWALK'] = getPlatformMinidumpPath(platform)
self.env['MINIDUMP_SAVE_PATH'] = WithProperties('%(basedir:-)s/minidumps')

if remoteExtras is not None:
Expand All @@ -7021,7 +7013,6 @@ def __init__(self, platform, suites, hostUtils, productName='fennec',
downloadSymbols=downloadSymbols,
downloadTests=downloadTests,
posixBinarySuffix=posixBinarySuffix,
stackwalk_cgi=stackwalk_cgi,
**kwargs)

def addCleanupSteps(self):
Expand Down Expand Up @@ -7063,6 +7054,7 @@ def addSetupSteps(self):
command=['python', '/builds/sut_tools/cleanup.py',
WithProperties("%(sut_ip)s"),
],
log_eval_func=lambda c,s: regex_log_evaluator(c, s, tegra_errors),
haltOnFailure=True)
)
self.addStep(ShellCommand(
Expand Down Expand Up @@ -7129,7 +7121,7 @@ def get_robocop_url(build):
))

def addRunTestSteps(self):
if self.stackwalk_cgi and self.downloadSymbols:
if self.downloadSymbolsOnDemand:
symbols_path = '%(symbols_url)s'
else:
symbols_path = 'symbols'
Expand Down
5 changes: 4 additions & 1 deletion process/release.py
Expand Up @@ -1097,7 +1097,10 @@ def majorUpdateVerifyBuilders(platform):
schedulerNames.append(builderPrefix('ready-for-rel-test'))
trigger_uptake_factory.addStep(Trigger(
schedulerNames=schedulerNames,
copy_properties=['script_repo_revision', 'release_config']
set_properties={
'release_config': releaseConfigFile,
'script_repo_revision': releaseTag,
},
))
builders.append({
'name': builderPrefix('start_uptake_monitoring'),
Expand Down
5 changes: 5 additions & 0 deletions status/errors.py
Expand Up @@ -25,3 +25,8 @@
(re.compile("Connection refused"), RETRY),
(re.compile("Connection reset by peer"), RETRY),
)

tegra_errors = ((re.compile("process killed by signal"), RETRY),
(re.compile("Remote Device Error"), RETRY),
(re.compile("devicemanager.DMError"), RETRY),
)

0 comments on commit 7ebda10

Please sign in to comment.