blob: d888b723225be3810f76c88dc1c17b6408960bbe [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
DEPS = [
'chromium',
'recipe_engine/json',
'recipe_engine/path',
'recipe_engine/platform',
'recipe_engine/properties',
'recipe_engine/runtime',
]
def RunSteps(api):
api.chromium.set_config(
api.properties.get('chromium_config', 'chromium'),
TARGET_PLATFORM=api.properties.get('target_platform', 'linux'))
for config in api.properties.get('chromium_apply_config', []):
api.chromium.apply_config(config)
kwargs = {}
if api.properties.get('annotate'):
kwargs.update({
'annotate': api.properties.get(
'annotate',
api.chromium.get_annotate_by_test_name('base_unittests')),
'args': [api.chromium.test_launcher_filter('AtExit*')],
'test_launcher_summary_output': api.json.output(),
})
elif api.properties.get('use_histograms', False):
kwargs.update({
'use_histograms': True,
})
else:
kwargs.update({
'chartjson_file': True,
})
api.chromium.runtest(
'base_unittests',
python_mode=api.properties.get('python_mode', False),
point_id=123456,
revision='some_sha',
test_type='base_unittests',
results_url='https://example/url',
perf_dashboard_id='test_perf_dashboard_id',
perf_id='test_perf_id',
perf_config={'a_default_rev': 'some_sha'},
tee_stdout_file=api.path['tmp_base'].join('stdout.log'),
**kwargs)
def GenTests(api):
yield (
api.test('basic') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id')
)
yield (
api.test('histograms') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
use_histograms=True)
)
yield (
api.test('android') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
target_platform='android')
)
# In order to get coverage of the LUCI-specific code in runtest.
yield (
api.test('luci') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
target_platform='android') +
api.runtime(is_luci=True, is_experimental=False)
)
yield (
api.test('win') +
api.platform('win', 64) +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
target_platform='win')
)
yield (
api.test('annotate') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
annotate='gtest')
)
yield (
api.test('python_mode') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
python_mode=True)
)
yield (
api.test('memcheck') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
chromium_apply_config=['memcheck'])
)
yield (
api.test('tsan') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
chromium_config='chromium_clang',
chromium_apply_config=['tsan2'])
)
yield (
api.test('msan') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
chromium_config='chromium_msan')
)
yield (
api.test('lsan') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
chromium_config='chromium_clang',
chromium_apply_config=['lsan'])
)
yield (
api.test('asan') +
api.properties(
buildername='test_buildername',
buildnumber=123,
bot_id='test_bot_id',
chromium_apply_config=['chromium_win_asan'])
)