Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(606)

Unified Diff: infra/bots/flavor/coverage_flavor.py

Issue 1827413002: Fixes for Swarming recipes (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Reinstate tmp_dir Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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)))
-

Powered by Google App Engine
This is Rietveld 408576698