old_contents: #!/usr/bin/env python
  # Copyright (c) 2013 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  """Run the Skia benchmarking executable."""
  
  import os
  import sys
  
  from build_step import BuildStep
  
  GIT = 'git.bat' if os.name == 'nt' else 'git'
  GIT_SVN_ID_MATCH_STR = r'git-svn-id: http://skia.googlecode.com/svn/trunk@(\d+)'
  
  
  def BenchArgs(data_file):
    """Builds a list containing arguments to pass to bench.
  
    Args:
      data_file: filepath to store the log output
    Returns:
      list containing arguments to pass to bench
    """
    return ['--timers', 'wcg', '--logFile', data_file]
  
  # Device name -> extra arguments
  EXTRA_ARGS = {
      'GalaxyNexus': ['--match', '~DeferredSurfaceCopy'],
      'Nexus4': ['--config', 'defaults', 'MSAA4'],
  }
  
  
  class RunBench(BuildStep):
    """A BuildStep that runs bench."""
  
    def __init__(self, timeout=9600, no_output_timeout=9600, **kwargs):
      super(RunBench, self).__init__(timeout=timeout,
                                     no_output_timeout=no_output_timeout,
                                     **kwargs)
  
    def _BuildDataFile(self):
      return os.path.join(self._device_dirs.PerfDir(),
                          'bench_%s_data' % self._got_revision)
  
    def _Run(self):
      args = ['-i', self._device_dirs.ResourceDir()]
      if self._perf_data_dir:
        args.extend(BenchArgs(self._BuildDataFile()))
      for device in EXTRA_ARGS:
        if device in self._builder_name:
          args.extend(EXTRA_ARGS[device])
      self._flavor_utils.RunFlavoredCmd('bench', args + self._bench_args)
  
  
  if '__main__' == __name__:
    sys.exit(BuildStep.RunBuildStep(RunBench))
  
new_contents: #!/usr/bin/env python
  # Copyright (c) 2013 The Chromium Authors. All rights reserved.
  # Use of this source code is governed by a BSD-style license that can be
  # found in the LICENSE file.
  
  """Run the Skia benchmarking executable."""
  
  import os
  import sys
  
  from build_step import BuildStep
  
  GIT = 'git.bat' if os.name == 'nt' else 'git'
  GIT_SVN_ID_MATCH_STR = r'git-svn-id: http://skia.googlecode.com/svn/trunk@(\d+)'
  
  
  def BenchArgs(data_file):
    """Builds a list containing arguments to pass to bench.
  
    Args:
      data_file: filepath to store the log output
    Returns:
      list containing arguments to pass to bench
    """
    return ['--timers', 'wcg', '--logFile', data_file]
  
  # Device name -> extra arguments
  EXTRA_ARGS = {
      'GalaxyNexus': ['--match', '~DeferredSurfaceCopy'],  # Crash: skbug.com/1687
      'Nexus4': ['--config', 'defaults', 'MSAA4'],
      'NexusS': ['--match', '~DeferredSurfaceCopy'],       # Crash: skbug.com/1687
  }
  
  
  class RunBench(BuildStep):
    """A BuildStep that runs bench."""
  
    def __init__(self, timeout=9600, no_output_timeout=9600, **kwargs):
      super(RunBench, self).__init__(timeout=timeout,
                                     no_output_timeout=no_output_timeout,
                                     **kwargs)
  
    def _BuildDataFile(self):
      return os.path.join(self._device_dirs.PerfDir(),
                          'bench_%s_data' % self._got_revision)
  
    def _Run(self):
      args = ['-i', self._device_dirs.ResourceDir()]
      if self._perf_data_dir:
        args.extend(BenchArgs(self._BuildDataFile()))
      for device in EXTRA_ARGS:
        if device in self._builder_name:
          args.extend(EXTRA_ARGS[device])
      self._flavor_utils.RunFlavoredCmd('bench', args + self._bench_args)
  
  
  if '__main__' == __name__:
    sys.exit(BuildStep.RunBuildStep(RunBench))
  
subject: Exclude NexusS from DeferredSurfaceCopy benches too.