# Copyright 2016 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. # Recipe module for Skia Swarming perf. DEPS = [ 'recipe_engine/json', 'recipe_engine/path', 'recipe_engine/platform', 'recipe_engine/properties', 'recipe_engine/raw_io', 'skia', ] TEST_BUILDERS = { 'client.skia': { 'skiabot-linux-swarm-000': [ 'Perf-Win-MSVC-GCE-CPU-AVX2-x86_64-Release', 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot', 'Test-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-Valgrind', 'Perf-Android-GCC-Nexus7-GPU-Tegra3-Arm7-Release', 'Perf-Ubuntu-GCC-ShuttleA-GPU-GTX550Ti-x86_64-Release-VisualBench', ], }, } def RunSteps(api): api.skia.setup() api.skia.perf_steps() api.skia.cleanup_steps() api.skia.check_failure() def GenTests(api): def AndroidTestData(builder): test_data = ( api.step_data( 'get EXTERNAL_STORAGE dir', stdout=api.raw_io.output('/storage/emulated/legacy')) + api.step_data( 'adb root', stdout=api.raw_io.output('restarting adbd as root')) + api.step_data( 'read SKP_VERSION', stdout=api.raw_io.output('42')) + api.step_data( 'read SK_IMAGE_VERSION', stdout=api.raw_io.output('42')) + api.step_data( 'exists skia_perf', stdout=api.raw_io.output('')) + api.step_data( 'which adb', retcode=1) ) return test_data for mastername, slaves in TEST_BUILDERS.iteritems(): for slavename, builders_by_slave in slaves.iteritems(): for builder in builders_by_slave: test = ( api.test(builder) + api.properties(buildername=builder, mastername=mastername, slavename=slavename, buildnumber=5, revision='abc123', path_config='kitchen', swarm_out_dir='[SWARM_OUT_DIR]') + api.path.exists( api.path['slave_build'].join('skia'), api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', 'skimage', 'VERSION'), api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', 'skp', 'VERSION'), api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') ) ) if ('Android' in builder and ('Test' in builder or 'Perf' in builder) and not 'Appurify' in builder): test += AndroidTestData(builder) if 'Trybot' in builder: test += api.properties(issue=500, patchset=1, rietveld='https://codereview.chromium.org') if 'Win' in builder: test += api.platform('win', 64) yield test builder = 'Perf-Win8-MSVC-ShuttleB-GPU-HD4600-x86_64-Release-Trybot' yield ( api.test('big_issue_number') + api.properties(buildername=builder, mastername='client.skia.compile', slavename='skiabot-linux-swarm-000', buildnumber=5, revision='abc123', path_config='kitchen', swarm_out_dir='[SWARM_OUT_DIR]', rietveld='https://codereview.chromium.org', patchset=1, issue=2147533002L) + api.path.exists( api.path['slave_build'].join('skia'), api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', 'skimage', 'VERSION'), api.path['slave_build'].join('skia', 'infra', 'bots', 'assets', 'skp', 'VERSION'), api.path['slave_build'].join('tmp', 'uninteresting_hashes.txt') ) + api.platform('win', 64) )