Home | History | Annotate | Download | only in recipes
      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
      3 # found in the LICENSE file.
      4 
      5 
      6 # Recipe which runs the Skia infra tests.
      7 
      8 
      9 DEPS = [
     10   'recipe_engine/context',
     11   'recipe_engine/path',
     12   'recipe_engine/properties',
     13   'recipe_engine/step',
     14   'core',
     15   'infra',
     16   'run',
     17   'vars',
     18 ]
     19 
     20 
     21 def RunSteps(api):
     22   api.vars.setup()
     23   api.core.checkout_steps()
     24   api.infra.update_go_deps()
     25 
     26   # Run the infra tests.
     27   repo_name = api.properties['repository'].split('/')[-1]
     28   if repo_name.endswith('.git'):
     29     repo_name = repo_name[:-len('.git')]
     30   with api.context(cwd=api.vars.checkout_root.join(repo_name),
     31                    env=api.infra.go_env):
     32     api.step('infra_tests', cmd=['make', '-C', 'infra/bots', 'test'])
     33 
     34 
     35 def GenTests(api):
     36   yield (
     37       api.test('infra_tests') +
     38       api.properties(buildername='Housekeeper-PerCommit-InfraTests',
     39                      repository='https://skia.googlesource.com/skia.git',
     40                      revision='abc123',
     41                      path_config='kitchen',
     42                      swarm_out_dir='[SWARM_OUT_DIR]')
     43   )
     44 
     45   yield (
     46     api.test('failed_one_update') +
     47       api.properties(buildername='Housekeeper-PerCommit-InfraTests',
     48                      repository='https://skia.googlesource.com/skia.git',
     49                      revision='abc123',
     50                      path_config='kitchen',
     51                      swarm_out_dir='[SWARM_OUT_DIR]') +
     52     api.step_data('update go pkgs', retcode=1)
     53   )
     54 
     55   yield (
     56     api.test('failed_all_updates') +
     57       api.properties(buildername='Housekeeper-PerCommit-InfraTests',
     58                      repository='https://skia.googlesource.com/skia.git',
     59                      revision='abc123',
     60                      path_config='kitchen',
     61                      swarm_out_dir='[SWARM_OUT_DIR]') +
     62     api.step_data('update go pkgs', retcode=1) +
     63     api.step_data('update go pkgs (attempt 2)', retcode=1) +
     64     api.step_data('update go pkgs (attempt 3)', retcode=1) +
     65     api.step_data('update go pkgs (attempt 4)', retcode=1) +
     66     api.step_data('update go pkgs (attempt 5)', retcode=1)
     67   )
     68