| OLD | NEW | 
|   1 # Copyright 2016 The Chromium Authors. All rights reserved. |   1 # Copyright 2016 The Chromium Authors. All rights reserved. | 
|   2 # Use of this source code is governed by a BSD-style license that can be |   2 # Use of this source code is governed by a BSD-style license that can be | 
|   3 # found in the LICENSE file. |   3 # found in the LICENSE file. | 
|   4  |   4  | 
|   5  |   5  | 
|   6 # Recipe which runs the Skia infra tests. |   6 # Recipe which runs the Skia infra tests. | 
|   7  |   7  | 
|   8  |   8  | 
|   9 DEPS = [ |   9 DEPS = [ | 
|  10   'core', |  10   'core', | 
 |  11   'infra', | 
|  11   'recipe_engine/path', |  12   'recipe_engine/path', | 
|  12   'recipe_engine/properties', |  13   'recipe_engine/properties', | 
|  13   'recipe_engine/step', |  14   'recipe_engine/step', | 
 |  15   'run', | 
|  14   'vars', |  16   'vars', | 
|  15 ] |  17 ] | 
|  16  |  18  | 
|  17  |  19  | 
|  18 UPDATE_GO_ATTEMPTS = 5 |  | 
|  19  |  | 
|  20  |  | 
|  21 def RunSteps(api): |  20 def RunSteps(api): | 
|  22   api.vars.setup() |  21   api.vars.setup() | 
|  23   api.core.checkout_steps() |  22   api.core.checkout_steps() | 
|  24  |  23   api.infra.update_go_deps() | 
|  25   # Attempt to update go dependencies. This fails flakily sometimes, so perform |  | 
|  26   # multiple attempts. |  | 
|  27   gopath = api.vars.checkout_root.join('gopath') |  | 
|  28   env = {'GOPATH': gopath} |  | 
|  29   name = 'update go pkgs' |  | 
|  30   for attempt in xrange(UPDATE_GO_ATTEMPTS): |  | 
|  31     step_name = name |  | 
|  32     if attempt > 0: |  | 
|  33       step_name += ' (attempt %d)' % (attempt + 1) |  | 
|  34     try: |  | 
|  35       api.step(step_name, |  | 
|  36                cmd=['go', 'get', '-u', 'go.skia.org/infra/...'], |  | 
|  37                env=env) |  | 
|  38       break |  | 
|  39     except api.step.StepFailure: |  | 
|  40       if attempt == UPDATE_GO_ATTEMPTS - 1: |  | 
|  41         raise |  | 
|  42  |  24  | 
|  43   # Run the infra tests. |  25   # Run the infra tests. | 
|  44   infra_tests = api.vars.skia_dir.join( |  26   infra_tests = api.vars.skia_dir.join( | 
|  45       'infra', 'bots', 'infra_tests.py') |  27       'infra', 'bots', 'infra_tests.py') | 
|  46   api.step('infra_tests', |  28   api.step('infra_tests', | 
|  47            cmd=['python', infra_tests], |  29            cmd=['python', infra_tests], | 
|  48            cwd=api.vars.skia_dir, |  30            cwd=api.vars.skia_dir, | 
|  49            env=env) |  31            env=api.infra.go_env) | 
|  50  |  32  | 
|  51  |  33  | 
|  52 def GenTests(api): |  34 def GenTests(api): | 
|  53   yield ( |  35   yield ( | 
|  54       api.test('infra_tests') + |  36       api.test('infra_tests') + | 
|  55       api.properties(buildername='Housekeeper-PerCommit-InfraTests', |  37       api.properties(buildername='Housekeeper-PerCommit-InfraTests', | 
|  56                      mastername='client.skia.fyi', |  38                      mastername='client.skia.fyi', | 
|  57                      slavename='dummy-slave', |  39                      slavename='dummy-slave', | 
|  58                      buildnumber=5, |  40                      buildnumber=5, | 
|  59                      revision='abc123', |  41                      revision='abc123', | 
| (...skipping 21 matching lines...) Expand all  Loading... | 
|  81                      buildnumber=5, |  63                      buildnumber=5, | 
|  82                      revision='abc123', |  64                      revision='abc123', | 
|  83                      path_config='kitchen', |  65                      path_config='kitchen', | 
|  84                      swarm_out_dir='[SWARM_OUT_DIR]') + |  66                      swarm_out_dir='[SWARM_OUT_DIR]') + | 
|  85     api.step_data('update go pkgs', retcode=1) + |  67     api.step_data('update go pkgs', retcode=1) + | 
|  86     api.step_data('update go pkgs (attempt 2)', retcode=1) + |  68     api.step_data('update go pkgs (attempt 2)', retcode=1) + | 
|  87     api.step_data('update go pkgs (attempt 3)', retcode=1) + |  69     api.step_data('update go pkgs (attempt 3)', retcode=1) + | 
|  88     api.step_data('update go pkgs (attempt 4)', retcode=1) + |  70     api.step_data('update go pkgs (attempt 4)', retcode=1) + | 
|  89     api.step_data('update go pkgs (attempt 5)', retcode=1) |  71     api.step_data('update go pkgs (attempt 5)', retcode=1) | 
|  90   ) |  72   ) | 
| OLD | NEW |