Index: infra/bots/flavor/coverage_flavor.py |
diff --git a/infra/bots/flavor/coverage_flavor.py b/infra/bots/flavor/coverage_flavor.py |
deleted file mode 100644 |
index 0a11d08ee8acc5e86b2daa7f03528f77bda7cafb..0000000000000000000000000000000000000000 |
--- a/infra/bots/flavor/coverage_flavor.py |
+++ /dev/null |
@@ -1,114 +0,0 @@ |
-#!/usr/bin/env python |
-# |
-# Copyright 2016 Google Inc. |
-# |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
- |
-import default_flavor |
-import os |
-import subprocess |
-import time |
- |
- |
-"""Utils for running coverage tests.""" |
- |
- |
-class CoverageFlavorUtils(default_flavor.DefaultFlavorUtils): |
- def compile(self, target): |
- """Build the given target.""" |
- cmd = [os.path.join(self._bot_info.skia_dir, 'tools', |
- 'llvm_coverage_build'), |
- target] |
- self._bot_info.run(cmd) |
- |
- def step(self, cmd, **kwargs): |
- """Run the given step through coverage.""" |
- # Slice out the 'key' and 'properties' arguments to be reused. |
- key = [] |
- properties = [] |
- current = None |
- for i in xrange(0, len(cmd)): |
- if isinstance(cmd[i], basestring) and cmd[i] == '--key': |
- current = key |
- elif isinstance(cmd[i], basestring) and cmd[i] == '--properties': |
- current = properties |
- elif isinstance(cmd[i], basestring) and cmd[i].startswith('--'): |
- current = None |
- if current is not None: |
- current.append(cmd[i]) |
- |
- results_dir = self._bot_info.out_dir.join('coverage_results') |
- self.create_clean_host_dir(results_dir) |
- |
- # Run DM under coverage. |
- report_file_basename = '%s.cov' % self._bot_info.got_revision |
- report_file = os.path.join(results_dir, report_file_basename) |
- args = [ |
- 'python', |
- os.path.join(self._bot_info.skia_dir, 'tools', 'llvm_coverage_run.py'), |
- ] + cmd + ['--outResultsFile', report_file] |
- self._bot_info.run(args, **kwargs) |
- |
- # Generate nanobench-style JSON output from the coverage report. |
- git_timestamp = subprocess.check_output(['git', 'log', '-n1', |
- self._bot_info.got_revision, '--format=%%ci']).rstrip() |
- nanobench_json = results_dir.join('nanobench_%s_%s.json' % ( |
- self._bot_info.got_revision, git_timestamp)) |
- line_by_line_basename = ('coverage_by_line_%s_%s.json' % ( |
- self._bot_info.got_revision, git_timestamp)) |
- line_by_line = results_dir.join(line_by_line_basename) |
- args = [ |
- 'python', |
- os.path.join(self._bot_info.skia_dir, 'tools', |
- 'parse_llvm_coverage.py'), |
- '--report', report_file, '--nanobench', nanobench_json, |
- '--linebyline', line_by_line] |
- args.extend(key) |
- args.extend(properties) |
- self._bot_info.run(args) |
- |
- # Upload raw coverage data. |
- now = time.utcnow() |
- gs_json_path = '/'.join(( |
- str(now.year).zfill(4), str(now.month).zfill(2), |
- str(now.day).zfill(2), str(now.hour).zfill(2), |
- self._bot_info.name, |
- str(self._bot_info.build_number))) |
- if self._bot_info.is_trybot: |
- gs_json_path = '/'.join(('trybot', gs_json_path, |
- str(self._bot_info.issue))) |
- |
- self._bot_info.gsutil_upload( |
- 'upload raw coverage data', |
- source=report_file, |
- bucket='skia-infra', |
- dest='/'.join(('coverage-raw-v1', gs_json_path, report_file_basename))) |
- |
- # Upload nanobench JSON data. |
- gsutil_path = self._bot_info.m.path['depot_tools'].join( |
- 'third_party', 'gsutil', 'gsutil') |
- upload_args = [self._bot_info.name, |
- self._bot_info.m.properties['buildnumber'], |
- results_dir, |
- self._bot_info.got_revision, gsutil_path] |
- if self._bot_info.is_trybot: |
- upload_args.append(self._bot_info.m.properties['issue']) |
- self._bot_info.run( |
- self._bot_info.m.python, |
- 'upload nanobench coverage results', |
- script=self._bot_info.resource('upload_bench_results.py'), |
- args=upload_args, |
- cwd=self._bot_info.m.path['checkout'], |
- abort_on_failure=False, |
- infra_step=True) |
- |
- # Upload line-by-line coverage data. |
- self._bot_info.gsutil_upload( |
- 'upload line-by-line coverage data', |
- source=line_by_line, |
- bucket='skia-infra', |
- dest='/'.join(('coverage-json-v1', gs_json_path, |
- line_by_line_basename))) |
- |