1cb93a386Sopenharmony_ci# Copyright 2017 The Chromium Authors. All rights reserved.
2cb93a386Sopenharmony_ci# Use of this source code is governed by a BSD-style license that can be
3cb93a386Sopenharmony_ci# found in the LICENSE file.
4cb93a386Sopenharmony_ci
5cb93a386Sopenharmony_ci
6cb93a386Sopenharmony_ci# Recipe which runs the Skia gsutils tests.
7cb93a386Sopenharmony_ci
8cb93a386Sopenharmony_ciPYTHON_VERSION_COMPATIBILITY = "PY2+3"
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ciDEPS = [
11cb93a386Sopenharmony_ci  'gsutil',
12cb93a386Sopenharmony_ci  'recipe_engine/path',
13cb93a386Sopenharmony_ci  'recipe_engine/properties',
14cb93a386Sopenharmony_ci  'recipe_engine/python',
15cb93a386Sopenharmony_ci  'recipe_engine/step',
16cb93a386Sopenharmony_ci  'run',
17cb93a386Sopenharmony_ci  'vars',
18cb93a386Sopenharmony_ci]
19cb93a386Sopenharmony_ci
20cb93a386Sopenharmony_ci
21cb93a386Sopenharmony_cidef RunSteps(api):
22cb93a386Sopenharmony_ci  api.vars.setup()
23cb93a386Sopenharmony_ci  api.gsutil.cp('test file', '/foo/file', 'gs://bar-bucket/file',
24cb93a386Sopenharmony_ci                extra_args=['-Z'], multithread=True)
25cb93a386Sopenharmony_ci
26cb93a386Sopenharmony_cidef GenTests(api):
27cb93a386Sopenharmony_ci  yield (
28cb93a386Sopenharmony_ci      api.test('gsutil_tests') +
29cb93a386Sopenharmony_ci      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
30cb93a386Sopenharmony_ci                     repository='https://skia.googlesource.com/skia.git',
31cb93a386Sopenharmony_ci                     revision='abc123',
32cb93a386Sopenharmony_ci                     path_config='kitchen',
33cb93a386Sopenharmony_ci                     swarm_out_dir='[SWARM_OUT_DIR]')
34cb93a386Sopenharmony_ci  )
35cb93a386Sopenharmony_ci
36cb93a386Sopenharmony_ci  yield (
37cb93a386Sopenharmony_ci      api.test('gsutil_win_tests') +
38cb93a386Sopenharmony_ci      api.properties(buildername='Test-Win10-MSVC-ShuttleA-GPU-GTX660-x86_64-Debug-All',
39cb93a386Sopenharmony_ci                     repository='https://skia.googlesource.com/skia.git',
40cb93a386Sopenharmony_ci                     revision='abc123',
41cb93a386Sopenharmony_ci                     path_config='kitchen',
42cb93a386Sopenharmony_ci                     swarm_out_dir='[SWARM_OUT_DIR]')
43cb93a386Sopenharmony_ci  )
44cb93a386Sopenharmony_ci
45cb93a386Sopenharmony_ci  yield (
46cb93a386Sopenharmony_ci    api.test('failed_one_upload') +
47cb93a386Sopenharmony_ci      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
48cb93a386Sopenharmony_ci                     repository='https://skia.googlesource.com/skia.git',
49cb93a386Sopenharmony_ci                     revision='abc123',
50cb93a386Sopenharmony_ci                     path_config='kitchen',
51cb93a386Sopenharmony_ci                     swarm_out_dir='[SWARM_OUT_DIR]') +
52cb93a386Sopenharmony_ci    api.step_data('upload test file', retcode=1)
53cb93a386Sopenharmony_ci  )
54cb93a386Sopenharmony_ci
55cb93a386Sopenharmony_ci  yield (
56cb93a386Sopenharmony_ci    api.test('failed_all_uploads') +
57cb93a386Sopenharmony_ci      api.properties(buildername='Housekeeper-PerCommit-InfraTests',
58cb93a386Sopenharmony_ci                     repository='https://skia.googlesource.com/skia.git',
59cb93a386Sopenharmony_ci                     revision='abc123',
60cb93a386Sopenharmony_ci                     path_config='kitchen',
61cb93a386Sopenharmony_ci                     swarm_out_dir='[SWARM_OUT_DIR]') +
62cb93a386Sopenharmony_ci    api.step_data('upload test file', retcode=1) +
63cb93a386Sopenharmony_ci    api.step_data('upload test file (attempt 2)', retcode=1) +
64cb93a386Sopenharmony_ci    api.step_data('upload test file (attempt 3)', retcode=1) +
65cb93a386Sopenharmony_ci    api.step_data('upload test file (attempt 4)', retcode=1) +
66cb93a386Sopenharmony_ci    api.step_data('upload test file (attempt 5)', retcode=1)
67cb93a386Sopenharmony_ci  )
68