12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Copyright (c) 2012 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from pylib.base import base_test_result
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class InstrumentationTestResult(base_test_result.BaseTestResult):
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  """Result information for a single instrumentation test."""
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  def __init__(self, full_name, test_type, start_date, dur, log=''):
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    """Construct an InstrumentationTestResult object.
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    Args:
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      full_name: Full name of the test.
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      test_type: Type of the test result as defined in ResultType.
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      start_date: Date in milliseconds when the test began running.
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      dur: Duration of the test run in milliseconds.
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      log: A string listing any errors.
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    """
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    super(InstrumentationTestResult, self).__init__(full_name, test_type, log)
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    name_pieces = full_name.rsplit('#')
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    if len(name_pieces) > 1:
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      self._test_name = name_pieces[1]
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      self._class_name = name_pieces[0]
262a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    else:
272a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      self._class_name = full_name
282a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      self._test_name = full_name
292a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    self._start_date = start_date
302a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    self._dur = dur
312a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
322a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  def GetDur(self):
332a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    """Get the test duration."""
342a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return self._dur
35