Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merging from default

changeset:   3041:59722cb0825d
parent:      3031:f9dfa9d97996
user:        Armen Zambrano Gasparnian <armenzg@mozilla.com>
date:        Tue Mar 05 14:12:15 2013 -0500
summary:     Bug 840481 - the workaround for missing mozbase directories on Thunderbird tests. r=aki

changeset:   3042:6b64df431daa
user:        Peter Moore <pmoore@mozilla.com>
date:        Tue Mar 05 18:15:11 2013 -0500
summary:     Bug 649471 - remove references to geriatric masters - r=coop

changeset:   3044:225682acb2a8
parent:      3042:6b64df431daa
user:        Armen Zambrano Gasparnian <armenzg@mozilla.com>
date:        Wed Mar 06 09:26:09 2013 -0500
summary:     Bug 841314 - alive tests should use make target. r=aki

changeset:   3045:0c5934341f32
user:        Chris Cooper <ccooper@deadsquid.com>
date:        Wed Mar 06 12:08:10 2013 -0500
summary:     Bug 836097 - Add HSTS update builder when enabled - r=armenzg

--HG--
branch : production-0.8
  • Loading branch information...
commit 90d4e7ecd3f0c6841688f49228edc190840cb33f 2 parents 4125980 + 568d218
@armenzg armenzg authored
View
57 misc.py
@@ -778,6 +778,8 @@ def generateBranchObjects(config, name, secrets=None):
nightlyBuilders.append('%s valgrind' % base_name)
if config.get('enable_blocklist_update', False) and platform in ('linux',):
weeklyBuilders.append('%s blocklist update' % base_name)
+ if config.get('enable_hsts_update', False) and platform in ('linux64',):
+ weeklyBuilders.append('%s hsts preload update' % base_name)
if pf.get('enable_xulrunner', config['enable_xulrunner']):
xulrunnerNightlyBuilders.append('%s xulrunner nightly' % base_name)
@@ -1226,6 +1228,7 @@ def generateBranchObjects(config, name, secrets=None):
'mozharnessTag': config.get('mozharness_tag'),
'geckoL10nRoot': config.get('gecko_l10n_root'),
'geckoLanguagesFile': pf.get('gecko_languages_file'),
+ 'runMakeAliveTests': config.get('run_make_alive_tests'),
'enable_pymake': enable_pymake,
}
factory_kwargs.update(extra_args)
@@ -1472,6 +1475,7 @@ def generateBranchObjects(config, name, secrets=None):
geckoL10nRoot=config.get('gecko_l10n_root'),
geckoLanguagesFile=pf.get('gecko_languages_file'),
enable_pymake=enable_pymake,
+ runMakeAliveTests=config.get('run_make_alive_tests'),
**nightly_kwargs
)
@@ -1682,6 +1686,12 @@ def generateBranchObjects(config, name, secrets=None):
config, name, platform, pf['base_name'], pf['slaves'])
branchObjects['builders'].append(blocklistBuilder)
+ if config.get('enable_hsts_update', False):
+ if platform == 'linux64':
+ hstsBuilder = generateHSTSBuilder(
+ config, name, platform, pf['base_name'], pf['slaves'])
+ branchObjects['builders'].append(hstsBuilder)
+
if pf.get('enable_xulrunner', config['enable_xulrunner']):
xr_env = pf['env'].copy()
xr_env['SYMBOL_SERVER_USER'] = config['stage_username_xulrunner']
@@ -2280,6 +2290,53 @@ def generateBlocklistBuilder(config, branch_name, platform, base_name, slaves):
}
return blocklistupdate_builder
+def generateHSTSBuilder(config, branch_name, platform, base_name, slaves):
+ pf = config['platforms'].get(platform, {})
+ extra_args = ['-b', config['repo_path'],
+ '--hgtool', 'scripts/buildfarm/utils/hgtool.py']
+
+ mirrors = None
+ if config['base_mirror_urls']:
+ mirrors = ["%s/%s" % (url, config['repo_path'])
+ for url in config['base_mirror_urls']]
+ if mirrors:
+ for mirror in mirrors:
+ extra_args.extend(["--mirror", mirror])
+ bundles = None
+ if config['base_bundle_urls']:
+ bundles = ["%s/%s.hg" % (url, config['repo_path'].rstrip(
+ '/').split('/')[-1]) for url in config['base_bundle_urls']]
+ if bundles:
+ for bundle in bundles:
+ extra_args.extend(["--bundle", bundle])
+
+ if pf['product_name'] is not None:
+ extra_args.extend(['-p', pf['product_name']])
+ if config['hg_username'] is not None:
+ extra_args.extend(['-u', config['hg_username']])
+ if config['hg_ssh_key'] is not None:
+ extra_args.extend(['-k', config['hg_ssh_key']])
+ if config['hsts_update_on_closed_tree'] is True:
+ extra_args.extend(['-c'])
+ if config['hsts_update_set_approval'] is True:
+ extra_args.extend(['-a'])
+ hsts_update_factory = ScriptFactory(
+ "%s%s" % (config['hgurl'],
+ config['build_tools_repo_path']),
+ 'scripts/hsts/update_hsts_preload_list.sh',
+ interpreter='bash',
+ extra_args=extra_args,
+ )
+ hsts_update_builder = {
+ 'name': '%s hsts preload update' % base_name,
+ 'slavenames': slaves,
+ 'builddir': '%s-%s-hsts' % (branch_name, platform),
+ 'slavebuilddir': normalizeName('%s-%s-hsts' % (branch_name, platform)),
+ 'factory': hsts_update_factory,
+ 'category': branch_name,
+ 'properties': {'branch': branch_name, 'platform': platform, 'slavebuilddir': normalizeName('%s-%s-hsts' % (branch_name, platform)), 'product': 'firefox'},
+ }
+ return hsts_update_builder
def generateFuzzingObjects(config, SLAVES):
builders = []
View
94 process/factory.py
@@ -68,7 +68,7 @@
genBuildID, normalizeName
from buildbotcustom.steps.mock import MockReset, MockInit, MockCommand, MockInstall, \
MockMozillaCheck, MockProperty, RetryingMockProperty, RetryingMockCommand, \
- MockAliveTest, MockCompareLeakLogs
+ MockAliveTest, MockAliveMakeTest, MockCompareLeakLogs
import buildbotcustom.steps.unittest as unittest_steps
@@ -804,6 +804,7 @@ def __init__(self, objdir, platform, configRepoPath, configSubDir,
gaiaL10nRoot=None,
geckoL10nRoot=None,
geckoLanguagesFile=None,
+ runMakeAliveTests=False,
**kwargs):
MozillaBuildFactory.__init__(self, **kwargs)
@@ -887,6 +888,7 @@ def __init__(self, objdir, platform, configRepoPath, configSubDir,
self.multiLocaleScript = multiLocaleScript
self.multiLocaleConfig = multiLocaleConfig
self.multiLocaleMerge = multiLocaleMerge
+ self.runMakeAliveTests = runMakeAliveTests
assert len(self.tooltool_url_list) <= 1, "multiple urls not currently supported by tooltool"
@@ -1439,35 +1441,66 @@ def addLeakTestStepsCommon(self, baseUrl, leakEnv, graphAndUpload):
))
if self.runAliveTests:
- self.addStep(MockAliveTest(
- env=leakEnv,
- workdir='build/%s/_leaktest' % self.mozillaObjdir,
- extraArgs=['-register'],
- warnOnFailure=True,
- haltOnFailure=True,
- mock=self.use_mock,
- target=self.mock_target,
- ))
- self.addStep(MockAliveTest(
- env=leakEnv,
- workdir='build/%s/_leaktest' % self.mozillaObjdir,
- warnOnFailure=True,
- haltOnFailure=True,
- mock=self.use_mock,
- target=self.mock_target,
- ))
- self.addStep(MockAliveTest(
- env=leakEnv,
- workdir='build/%s/_leaktest' % self.mozillaObjdir,
- extraArgs=['--trace-malloc', 'malloc.log',
- '--shutdown-leaks=sdleak.log'],
- timeout=3600,
- # 1 hour, because this takes a long time on win32
- warnOnFailure=True,
- haltOnFailure=True,
- mock=self.use_mock,
- target=self.mock_target,
- ))
+ if self.runMakeAliveTests:
+ self.addStep(MockAliveMakeTest(
+ env=leakEnv,
+ workdir='build/%s' % self.mozillaObjdir,
+ extraArgs=['-register'],
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
+ self.addStep(MockAliveMakeTest(
+ env=leakEnv,
+ workdir='build/%s' % self.mozillaObjdir,
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
+ self.addStep(MockAliveMakeTest(
+ env=leakEnv,
+ workdir='build/%s' % self.mozillaObjdir,
+ extraArgs=['--trace-malloc', 'malloc.log',
+ '--shutdown-leaks=sdleak.log'],
+ timeout=3600,
+ # 1 hour, because this takes a long time on win32
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
+ else:
+ self.addStep(MockAliveTest(
+ env=leakEnv,
+ workdir='build/%s/_leaktest' % self.mozillaObjdir,
+ extraArgs=['-register'],
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
+ self.addStep(MockAliveTest(
+ env=leakEnv,
+ workdir='build/%s/_leaktest' % self.mozillaObjdir,
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
+ self.addStep(MockAliveTest(
+ env=leakEnv,
+ workdir='build/%s/_leaktest' % self.mozillaObjdir,
+ extraArgs=['--trace-malloc', 'malloc.log',
+ '--shutdown-leaks=sdleak.log'],
+ timeout=3600,
+ # 1 hour, because this takes a long time on win32
+ warnOnFailure=True,
+ haltOnFailure=True,
+ mock=self.use_mock,
+ target=self.mock_target,
+ ))
# Download and unpack the old versions of malloc.log and sdleak.tree
cmd = ['bash', '-c',
@@ -3598,7 +3631,6 @@ def __init__(self, enUSBinaryURL, nightly=False, env={},
self.ausSshKey = ausSshKey
self.ausHost = ausHost
self.createPartial = createPartial
- self.geriatricMasters = []
self.extraConfigureArgs = extraConfigureArgs
# This is required because this __init__ doesn't call the
View
4 steps/misc.py
@@ -271,9 +271,7 @@ def start(self):
filename = self.build.getProperties().render(self.filename)
self.filename = filename
if filename.endswith(".zip"):
- args = ['unzip', '-oq', filename, 'bin*', 'certs*', 'modules*']
- if not filename.startswith("thunderbird"):
- args.append('mozbase*')
+ args = ['unzip', '-oq', filename, 'mozbase*', 'bin*', 'certs*', 'modules*']
# modify the commands to extract only the files we need - the test
# directory and bin/ and certs/
View
1  steps/mock.py
@@ -293,4 +293,5 @@ def start(self):
RetryingMockCommand = addRetryEvaluateCommand(MockCommand)
RetryingMockProperty = addRetryEvaluateCommand(MockProperty)
MockAliveTest = addMockCommand(buildbotcustom.steps.test.AliveTest)
+MockAliveMakeTest = addMockCommand(buildbotcustom.steps.test.AliveMakeTest)
MockCompareLeakLogs = addMockCommand(buildbotcustom.steps.test.CompareLeakLogs)
View
27 steps/test.py
@@ -69,6 +69,33 @@ def __init__(self, extraArgs=None, logfile=None, **kwargs):
self.command.append('--')
self.command.extend(extraArgs)
+class AliveMakeTest(ShellCommand):
+ name = "alive test"
+ description = ["alive test"]
+ haltOnFailure = True
+ flunkOnFailure = False
+ warnOnFailure = True
+
+ def __init__(self, extraArgs=None, logfile=None, **kwargs):
+ self.super_class = ShellCommand
+ self.super_class.__init__(self, **kwargs)
+
+ self.addFactoryArguments(extraArgs=extraArgs,
+ logfile=logfile)
+ self.extraArgs = extraArgs
+ self.logfile = logfile
+
+ # build the command
+ leakargs = []
+ if extraArgs:
+ leakargs.append('--')
+ leakargs.extend(extraArgs)
+ if logfile:
+ leakargs.append('-l')
+ leakargs.append(logfile)
+ self.command = ['bash', '-c',
+ WithProperties("LEAKTEST_ARGS='" + ' '.join(leakargs) + \
+ "' python %(basedir)s/build/build/pymake/make.py leaktest")]
def formatBytes(bytes, sigDigits=3):
# Force a float calculation
Please sign in to comment.
Something went wrong with that request. Please try again.