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

Unified Diff: third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py

Issue 2583723002: Use LocalWPT.test_patch when filtering exportable commits (Closed)
Patch Set: Fix test_exporter_unittest Created 4 years 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: third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py
diff --git a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py
index 4700f29bd9d8d955969bf80d4b6da4ff8303e039..212453413352c96cde1c985a0212939d9583146b 100644
--- a/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py
+++ b/third_party/WebKit/Tools/Scripts/webkitpy/w3c/test_exporter.py
@@ -6,10 +6,8 @@ import logging
from webkitpy.w3c.local_wpt import LocalWPT
from webkitpy.w3c.chromium_commit import ChromiumCommit
-from webkitpy.w3c.deps_updater import DepsUpdater
_log = logging.getLogger(__name__)
-
CHROMIUM_WPT_DIR = 'third_party/WebKit/LayoutTests/imported/wpt/'
@@ -18,6 +16,7 @@ class TestExporter(object):
def __init__(self, host, wpt_github, dry_run=False):
self.host = host
self.wpt_github = wpt_github
+ self.local_wpt = LocalWPT(self.host)
self.dry_run = dry_run
def run(self):
@@ -46,15 +45,14 @@ class TestExporter(object):
# Second, look for exportable commits in Chromium
# At this point, no in-flight PRs should exist
# If there was an issue merging, it should have errored out
- local_wpt = LocalWPT(self.host, use_github=False)
# TODO(jeffcarp): have the script running this fetch Chromium origin/master
# TODO(jeffcarp): move WPT fetch out of its constructor to match planned ChromiumWPT pattern
- wpt_commit, chromium_commit = local_wpt.most_recent_chromium_commit()
+ wpt_commit, chromium_commit = self.local_wpt.most_recent_chromium_commit()
assert chromium_commit, 'No Chromium commit found, this is impossible'
- wpt_behind_master = local_wpt.commits_behind_master(wpt_commit)
+ wpt_behind_master = self.local_wpt.commits_behind_master(wpt_commit)
_log.info('\nLast Chromium export commit in web-platform-tests:')
_log.info('web-platform-tests@%s', wpt_commit)
@@ -91,7 +89,7 @@ class TestExporter(object):
_log.info(patch)
return
- local_branch_name = local_wpt.create_branch_with_patch(message, patch)
+ local_branch_name = self.local_wpt.create_branch_with_patch(message, patch)
response_data = self.wpt_github.create_pr(
local_branch_name=local_branch_name,
@@ -118,21 +116,12 @@ class TestExporter(object):
chromium_commits = [ChromiumCommit(self.host, sha=c) for c in commits]
def is_exportable(chromium_commit):
- message = chromium_commit.message()
+ patch = chromium_commit.format_patch()
return (
- 'NOEXPORT=true' not in message
- and not message.startswith('Import ')
- # TODO(jeffcarp): change this to allow any commit with
- # any non-expectation changes to be exportable
- and not self._has_expectations(chromium_commit)
+ patch
+ and self.local_wpt.test_patch(patch)
+ and 'NOEXPORT=true' not in chromium_commit.message()
+ and not chromium_commit.message().startswith('Import ')
)
- return filter(is_exportable, chromium_commits)
-
- def _has_expectations(self, chromium_commit):
- files = self.host.executive.run_command([
- 'git', 'diff-tree', '--no-commit-id',
- '--name-only', '-r', chromium_commit.sha
- ]).splitlines()
-
- return any(DepsUpdater.is_baseline(f) for f in files)
+ return [c for c in chromium_commits if is_exportable(c)]

Powered by Google App Engine
This is Rietveld 408576698