1# Copyright 2017 The Chromium Authors. All rights reserved.
2# Use of this source code is governed by a BSD-style license that can be
3# found in the LICENSE file.
4
5
6DEPS = [
7  'build',
8  'recipe_engine/path',
9  'recipe_engine/properties',
10  'recipe_engine/raw_io',
11  'run',
12  'vars',
13]
14
15
16def RunSteps(api):
17  api.vars.setup()
18  checkout_root = api.vars.cache_dir.join('work')
19  out_dir = checkout_root.join(
20      'skia', 'out', api.vars.builder_name, api.vars.configuration)
21  api.build(checkout_root=checkout_root, out_dir=out_dir)
22  dst = api.vars.swarming_out_dir.join('out', api.vars.configuration)
23  api.build.copy_build_products(out_dir=out_dir, dst=dst)
24  api.run.check_failure()
25
26
27TEST_BUILDERS = [
28  'Build-Debian9-Clang-arm-Release-Android_API26',
29  'Build-Debian9-Clang-arm-Release-Android_ASAN',
30  'Build-Debian9-Clang-arm-Release-Chromebook_GLES',
31  'Build-Debian9-Clang-arm-Release-Flutter_Android',
32  'Build-Debian9-Clang-x86-devrel-Android_SKQP',
33  'Build-Debian9-Clang-x86_64-Debug-Chromebook_GLES',
34  'Build-Debian9-Clang-x86_64-Debug-Coverage',
35  'Build-Debian9-Clang-x86_64-Debug-MSAN',
36  'Build-Debian9-Clang-x86_64-Debug-OpenCL',
37  'Build-Debian9-Clang-x86_64-Debug-SK_CPU_LIMIT_SSE41',
38  'Build-Debian9-Clang-x86_64-Debug-SafeStack',
39  'Build-Debian9-Clang-x86_64-Debug-Tidy',
40  'Build-Debian9-Clang-x86_64-Release-ASAN',
41  'Build-Debian9-Clang-x86_64-Release-CMake',
42  'Build-Debian9-Clang-x86_64-Release-Fast',
43  'Build-Debian9-Clang-x86_64-Release-NoDEPS',
44  'Build-Debian9-Clang-x86_64-Release-Static',
45  'Build-Debian9-Clang-x86_64-Release-SwiftShader',
46  'Build-Debian9-Clang-x86_64-Release-Vulkan',
47  'Build-Debian9-EMCC-asmjs-Debug-PathKit',
48  'Build-Debian9-EMCC-asmjs-Release-PathKit',
49  'Build-Debian9-EMCC-wasm-Debug-CanvasKit',
50  'Build-Debian9-EMCC-wasm-Debug-PathKit',
51  'Build-Debian9-EMCC-wasm-Release-CanvasKit_CPU',
52  'Build-Debian9-EMCC-wasm-Release-PathKit',
53  'Build-Debian9-GCC-arm-Release-Chromecast',
54  'Build-Debian9-GCC-loongson3a-Release',
55  'Build-Debian9-GCC-x86_64-Release-ANGLE',
56  'Build-Debian9-GCC-x86_64-Release-NoGPU',
57  'Build-Debian9-GCC-x86_64-Release-Shared',
58  'Build-Mac-Clang-arm64-Debug-Android_Vulkan',
59  'Build-Mac-Clang-arm64-Debug-iOS',
60  'Build-Mac-Clang-x86_64-Debug-ASAN',
61  'Build-Mac-Clang-x86_64-Debug-CommandBuffer',
62  'Build-Mac-Clang-x86_64-Debug-Metal',
63  'Build-Mac-Clang-x86_64-Release-MoltenVK_Vulkan',
64  'Build-Win-Clang-arm64-Release-Android',
65  'Build-Win-Clang-x86-Debug-Exceptions',
66  'Build-Win-Clang-x86_64-Debug-OpenCL',
67  'Build-Win-Clang-x86_64-Release-Vulkan',
68  'Test-Debian9-Clang-GCE-CPU-AVX2-universal-devrel-All-Android_SKQP',
69  'Housekeeper-PerCommit-CheckGeneratedFiles',
70]
71
72# Default properties used for TEST_BUILDERS.
73defaultProps = lambda buildername: dict(
74  buildername=buildername,
75  repository='https://skia.googlesource.com/skia.git',
76  revision='abc123',
77  path_config='kitchen',
78  patch_set=2,
79  swarm_out_dir='[SWARM_OUT_DIR]'
80)
81
82def GenTests(api):
83  for buildername in TEST_BUILDERS:
84    test = (
85      api.test(buildername) +
86      api.properties(**defaultProps(buildername))
87    )
88    yield test
89