5PYTHON_VERSION_COMPATIBILITY =
"PY3"
9 'recipe_engine/platform',
10 'recipe_engine/properties',
11 'recipe_engine/raw_io',
19 api.flavor.copy_directory_contents_to_device(
'src',
'dst')
23 api.flavor.copy_directory_contents_to_host(
'src',
'dst')
27 api.flavor.copy_file_to_device(
'src',
'dst')
35 builder = api.properties[
'buildername']
37 if 'SkottieTracing' in builder:
39 elif 'Test' in builder:
41 elif 'Perf' in builder:
45 if api.properties.get(
'is_testing_exceptions') ==
'True':
49 api.flavor.copy_file_to_device(
'file.txt',
'file.txt')
50 api.flavor.read_file_on_device(
'file.txt')
51 api.flavor.remove_file_on_device(
'file.txt')
52 api.flavor.create_clean_host_dir(
'results_dir')
53 api.flavor.create_clean_device_dir(
'device_results_dir')
55 if 'Lottie' in builder:
56 api.flavor.install(lotties=
True)
57 elif 'Mskp' in builder:
58 api.flavor.install(mskps=
True)
59 elif all(v
in builder
for v
in [
'Perf',
'Android',
'CPU']):
60 api.flavor.install(skps=
True, images=
True, svgs=
True,
61 resources=
True, texttraces=
True)
63 api.flavor.install(skps=
True, images=
True, lotties=
False,
64 svgs=
True, resources=
True)
66 api.flavor.step(
'dm', [
'dm',
'--some-flag'])
67 api.flavor.copy_directory_contents_to_host(
68 api.flavor.device_dirs.dm_dir, api.flavor.host_dirs.dm_dir)
69 elif 'Perf' in builder:
70 if 'SkottieTracing' in builder:
71 api.flavor.step(
'dm', [
'dm',
'--some-flag'])
73 api.flavor.step(
'nanobench', [
'nanobench',
'--some-flag'])
74 api.flavor.copy_directory_contents_to_host(
75 api.flavor.device_dirs.perf_data_dir,
76 api.flavor.host_dirs.perf_data_dir)
78 api.flavor.cleanup_steps()
79 api.run.check_failure()
83 'Perf-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android_SkottieTracing',
84 'Perf-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android',
85 'Perf-Android-Clang-NVIDIA_Shield-CPU-TegraX1-arm64-Release-All-Android',
86 'Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android',
87 'Perf-Android-Clang-Pixel2XL-GPU-Adreno540-arm64-Release-All-Android_Skpbench_Mskp',
88 'Perf-Android-Clang-GalaxyS20-GPU-MaliG77-arm64-Release-All-Android_Vulkan',
89 'Perf-Android-Clang-Pixel6-GPU-Adreno620-arm64-Release-All-Android',
90 'Perf-ChromeOS-Clang-SamsungChromebookPlus-GPU-MaliT860-arm-Release-All',
91 'Perf-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-MSAN',
92 'Perf-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-ASAN',
93 'Perf-Win2019-Clang-GCE-CPU-AVX2-x86_64-Debug-All-ASAN',
94 'Test-Android-Clang-AndroidOne-GPU-Mali400MP2-arm-Release-All-Android',
95 'Test-Android-Clang-GalaxyS7_G930FD-GPU-MaliT880-arm64-Debug-All-Android',
96 'Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All-Android',
97 'Test-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release-All-Android_ASAN',
98 'Test-Android-Clang-Pixel3a-GPU-Adreno615-arm64-Debug-All-Android_Vulkan',
99 'Test-ChromeOS-Clang-SamsungChromebookPlus-GPU-MaliT860-arm-Release-All',
100 'Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Debug-All-Coverage',
101 'Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-Lottie',
102 'Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All-TSAN',
103 'Test-Debian10-Clang-GCE-GPU-SwiftShader-x86_64-Debug-All-SwiftShader',
104 'Test-Debian10-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-Vulkan',
105 'Test-Mac10.13-Clang-MacBookPro11.5-CPU-AVX2-x86_64-Debug-All-ASAN',
106 (
'Test-Ubuntu18-Clang-Golo-GPU-QuadroP400-x86_64-Release-All'
107 '-Valgrind_AbandonGpuContext_SK_CPU_LIMIT_SSE41'),
108 'Test-Debian10-Clang-NUC7i5BNK-GPU-IntelIris640-x86_64-Debug-All-ASAN_Vulkan',
109 'Test-Debian11-Clang-NUC11TZi5-GPU-IntelIrisXe-x86_64-Debug-All',
110 'Test-Win10-Clang-NUC5i7RYH-CPU-AVX2-x86_64-Debug-All-NativeFonts_DWriteCore',
114defaultProps =
lambda buildername: dict(
115 buildername=buildername,
116 repository=
'https://skia.googlesource.com/skia.git',
118 path_config=
'kitchen',
120 swarm_out_dir=
'[SWARM_OUT_DIR]'
124 for buildername
in TEST_BUILDERS:
126 api.test(buildername) +
129 if 'Win' in buildername:
130 test += api.platform(
'win', 64)
133 builder =
'Test-Debian10-Clang-GCE-CPU-AVX2-x86_64-Release-All'
135 api.test(
'exceptions') +
136 api.properties(buildername=builder,
137 repository=
'https://skia.googlesource.com/skia.git',
139 path_config=
'kitchen',
140 swarm_out_dir=
'[SWARM_OUT_DIR]',
141 is_testing_exceptions=
'True')
144 builder = (
'Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All'
147 api.test(
'failed_infra_step') +
148 api.properties(buildername=builder,
149 repository=
'https://skia.googlesource.com/skia.git',
151 path_config=
'kitchen',
152 swarm_out_dir=
'[SWARM_OUT_DIR]') +
153 api.step_data(
'get swarming bot id',
154 stdout=api.raw_io.output(
'build123-m2--device5')) +
155 api.step_data(
'dump log', retcode=1)
159 api.test(
'failed_read_version') +
160 api.properties(buildername=builder,
161 repository=
'https://skia.googlesource.com/skia.git',
163 path_config=
'kitchen',
164 swarm_out_dir=
'[SWARM_OUT_DIR]') +
165 api.step_data(
'read /sdcard/revenge_of_the_skiabot/SK_IMAGE_VERSION',
170 api.test(
'retry_adb_command') +
171 api.properties(buildername=builder,
172 repository=
'https://skia.googlesource.com/skia.git',
174 path_config=
'kitchen',
175 swarm_out_dir=
'[SWARM_OUT_DIR]') +
176 api.step_data(
'mkdir /sdcard/revenge_of_the_skiabot/resources',
180 fail_step_name =
'mkdir /sdcard/revenge_of_the_skiabot/resources'
182 api.test(
'retry_adb_command_retries_exhausted') +
183 api.properties(buildername=builder,
184 repository=
'https://skia.googlesource.com/skia.git',
186 path_config=
'kitchen',
187 swarm_out_dir=
'[SWARM_OUT_DIR]') +
188 api.step_data(
'get swarming bot id',
189 stdout=api.raw_io.output(
'build123-m2--device5')) +
190 api.step_data(fail_step_name, retcode=1) +
191 api.step_data(fail_step_name +
' (attempt 2)', retcode=1) +
192 api.step_data(fail_step_name +
' (attempt 3)', retcode=1)
195 builder =
'Test-iOS-Clang-iPhone7-GPU-PowerVRGT7600-arm64-Release-All'
196 fail_step_name =
'install dm'
198 api.test(
'retry_ios_install') +
199 api.properties(buildername=builder,
200 repository=
'https://skia.googlesource.com/skia.git',
202 path_config=
'kitchen',
203 swarm_out_dir=
'[SWARM_OUT_DIR]') +
204 api.step_data(fail_step_name, retcode=1)
208 api.test(
'retry_ios_install_retries_exhausted') +
209 api.properties(buildername=builder,
210 repository=
'https://skia.googlesource.com/skia.git',
212 path_config=
'kitchen',
213 swarm_out_dir=
'[SWARM_OUT_DIR]') +
214 api.step_data(fail_step_name, retcode=1) +
215 api.step_data(fail_step_name +
' (attempt 2)', retcode=1)
217 fail_step_name =
'dm'
219 api.test(
'ios_rerun_with_debug') +
220 api.properties(buildername=builder,
221 repository=
'https://skia.googlesource.com/skia.git',
223 path_config=
'kitchen',
224 swarm_out_dir=
'[SWARM_OUT_DIR]') +
225 api.step_data(fail_step_name, retcode=1)
228 builder = (
'Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Debug-All'
231 api.test(
'cpu_scale_failed_once') +
232 api.properties(buildername=builder,
234 path_config=
'kitchen',
235 swarm_out_dir=
'[SWARM_OUT_DIR]') +
236 api.step_data(
'Scale CPU 4 to 0.600000', retcode=1)
240 api.test(
'cpu_scale_failed') +
241 api.properties(buildername=builder,
243 path_config=
'kitchen',
244 swarm_out_dir=
'[SWARM_OUT_DIR]') +
245 api.step_data(
'get swarming bot id',
246 stdout=api.raw_io.output(
'skia-rpi-022')) +
247 api.step_data(
'Scale CPU 4 to 0.600000', retcode=1)+
248 api.step_data(
'Scale CPU 4 to 0.600000 (attempt 2)', retcode=1)+
249 api.step_data(
'Scale CPU 4 to 0.600000 (attempt 3)', retcode=1)
252 builder = (
'Perf-Android-Clang-Nexus5x-GPU-Adreno418-arm64-Release'
255 api.test(
'cpu_scale_failed_golo') +
256 api.properties(buildername=builder,
258 path_config=
'kitchen',
259 swarm_out_dir=
'[SWARM_OUT_DIR]') +
260 api.step_data(
'get swarming bot id',
261 stdout=api.raw_io.output(
'build123-m2--device5')) +
262 api.step_data(
'Scale CPU 4 to 0.600000', retcode=1)+
263 api.step_data(
'Scale CPU 4 to 0.600000 (attempt 2)', retcode=1)+
264 api.step_data(
'Scale CPU 4 to 0.600000 (attempt 3)', retcode=1)