Home | History | Annotate | Download | only in swarming
      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 # TODO(borenet): This module was copied from build.git and heavily modified to
      7 # remove dependencies on other modules in build.git.  It belongs in a different
      8 # repo. Remove this once it has been moved.
      9 
     10 
     11 from recipe_engine import recipe_test_api
     12 
     13 import state
     14 
     15 class SwarmingTestApi(recipe_test_api.RecipeTestApi):
     16 
     17   @recipe_test_api.placeholder_step_data
     18   def summary(self, data):
     19     return self.m.json.output(data)
     20 
     21   def canned_summary_output(
     22       self, shards=1, failure=False, internal_failure=False):
     23     return self.summary({
     24       'shards': [
     25         {
     26           'abandoned_ts': None,
     27           'bot_id': 'vm30',
     28           'completed_ts': '2014-09-25T01:42:00.123',
     29           'created_ts': '2014-09-25T01:41:00.123',
     30           'durations': [5.7, 31.5],
     31           'exit_codes': [0, 0],
     32           'failure': failure,
     33           'id': '148aa78d7aa%02d00' % i,
     34           'internal_failure': internal_failure,
     35           'isolated_out': {
     36             'isolated': 'abc123',
     37             'isolatedserver': 'https://isolateserver.appspot.com',
     38             'namespace': 'default-gzip',
     39             'view_url': 'blah',
     40           },
     41           'modified_ts': '2014-09-25 01:42:00',
     42           'name': 'heartbeat-canary-2014-09-25_01:41:55-os=Windows',
     43           'outputs': [
     44             'Heart beat succeeded on win32.\n',
     45             'Foo',
     46           ],
     47           'outputs_ref': {
     48             'view_url': 'blah',
     49           },
     50           'started_ts': '2014-09-25T01:42:11.123',
     51           'state': state.State.COMPLETED,
     52           'try_number': 1,
     53           'user': 'unknown',
     54         } for i in xrange(shards)
     55       ],
     56     })
     57