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
6# Recipe which runs the Skia gsutils tests.
7
8
9DEPS = [
10  'gsutil',
11  'recipe_engine/path',
12  'recipe_engine/properties',
13  'recipe_engine/python',
14  'recipe_engine/step',
15  'run',
16  'vars',
17]
18
19
20def RunSteps(api):
21  api.gsutil.cp('test file', '/foo/file', 'gs://bar-bucket/file',
22                extra_args=['-Z'], multithread=True)
23
24def GenTests(api):
25  yield (
26      api.test('gsutil_tests') +
27      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
28                     repository='https://skia.googlesource.com/skia.git',
29                     revision='abc123',
30                     path_config='kitchen',
31                     swarm_out_dir='[SWARM_OUT_DIR]')
32  )
33
34  yield (
35    api.test('failed_one_upload') +
36      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
37                     repository='https://skia.googlesource.com/skia.git',
38                     revision='abc123',
39                     path_config='kitchen',
40                     swarm_out_dir='[SWARM_OUT_DIR]') +
41    api.step_data('upload test file', retcode=1)
42  )
43
44  yield (
45    api.test('failed_all_uploads') +
46      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
47                     repository='https://skia.googlesource.com/skia.git',
48                     revision='abc123',
49                     path_config='kitchen',
50                     swarm_out_dir='[SWARM_OUT_DIR]') +
51    api.step_data('upload test file', retcode=1) +
52    api.step_data('upload test file (attempt 2)', retcode=1) +
53    api.step_data('upload test file (attempt 3)', retcode=1) +
54    api.step_data('upload test file (attempt 4)', retcode=1) +
55    api.step_data('upload test file (attempt 5)', retcode=1)
56  )
57