Diff
Modified: trunk/Tools/ChangeLog (273761 => 273762)
--- trunk/Tools/ChangeLog 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/ChangeLog 2021-03-02 22:53:04 UTC (rev 273762)
@@ -1,3 +1,24 @@
+2021-03-02 Jonathan Bedard <[email protected]>
+
+ [run-webkit-tests] Use webkitscmpy when reporting results
+ https://bugs.webkit.org/show_bug.cgi?id=222432
+ <rdar://problem/74755765>
+
+ Rubber-stamped by Aakash Jain.
+
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
+ (Git): The root directory should be treated as if it does not exist.
+ * Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py:
+ (SummarizedResultsTest.test_svn_revision): Use webkitscmpy's mock repository.
+ (SummarizedResultsTest.test_svn_revision_git): Added.
+ * Scripts/webkitpy/port/base.py:
+ (Port.commits_for_upload): Use webkitscmpy instead of webkitpy for repository manipulation.
+ * Scripts/webkitpy/port/base_unittest.py:
+ (PortTest.test_commits_for_upload): Use webkitscmpy's mock repository.
+ (PortTest.test_commits_for_upload_git_svn): Added.
+
2021-03-02 Lauro Moura <[email protected]>
[WPE] Support sending key modifiers after r272572
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (273761 => 273762)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='0.11.3',
+ version='0.11.4',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (273761 => 273762)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 11, 3)
+version = Version(0, 11, 4)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('monotonic', Version(1, 5)))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py (273761 => 273762)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -64,7 +64,7 @@
self.tags = {}
# If the directory provided actually exists, populate it
- if os.path.isdir(self.path):
+ if self.path != '/' and os.path.isdir(self.path):
if not os.path.isdir(os.path.join(self.path, '.git')):
os.mkdir(os.path.join(self.path, '.git'))
with open(os.path.join(self.path, '.git', 'config'), 'w') as config:
Modified: trunk/Tools/Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py (273761 => 273762)
--- trunk/Tools/Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/models/test_run_results_unittest.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -35,7 +35,9 @@
from webkitpy.layout_tests.models import test_run_results
from webkitpy.tool.mocktool import MockOptions
+from webkitscmpy import mocks
+
def get_result(test_name, result_type=test_expectations.PASS, run_time=0):
failures = []
if result_type == test_expectations.TIMEOUT:
@@ -160,10 +162,17 @@
self.assertNotEquals(summary['revision'], '')
def test_svn_revision(self):
- self.port._options.builder_name = 'dummy builder'
- summary = summarized_results(self.port, expected=False, passing=False, flaky=False)
- self.assertEquals(summary['revision'], '2738499')
+ with mocks.local.Svn(path='/'), mocks.local.Git():
+ self.port._options.builder_name = 'dummy builder'
+ summary = summarized_results(self.port, expected=False, passing=False, flaky=False)
+ self.assertEquals(summary['revision'], '6')
+ def test_svn_revision_git(self):
+ with mocks.local.Svn(), mocks.local.Git(path='/', git_svn=True):
+ self.port._options.builder_name = 'dummy builder'
+ summary = summarized_results(self.port, expected=False, passing=False, flaky=False)
+ self.assertEquals(summary['revision'], '9')
+
def test_summarized_results_wontfix(self):
self.port._options.builder_name = 'dummy builder'
summary = summarized_results(self.port, expected=False, passing=False, flaky=False)
Modified: trunk/Tools/Scripts/webkitpy/port/base.py (273761 => 273762)
--- trunk/Tools/Scripts/webkitpy/port/base.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/webkitpy/port/base.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -42,6 +42,7 @@
from collections import OrderedDict
from functools import partial
from webkitcorepy import string_utils, decorators
+from webkitscmpy import local
from webkitpy.common import find_files
from webkitpy.common import read_checksum_from_png
@@ -1511,31 +1512,31 @@
def commits_for_upload(self):
from webkitpy.results.upload import Upload
- self.host.initialize_scm()
repos = {}
if port_config.apple_additions() and getattr(port_config.apple_additions(), 'repos', False):
- repos = port_config.apple_additions().repos()
- repos['webkit'] = self.host.scm().checkout_root
+ repos = {
+ name: local.Scm.from_path(pth)
+ for name, pth in port_config.apple_additions().repos().items()
+ }
+
+ if 'webkit' not in repos:
+ try:
+ repos['webkit'] = local.Scm.from_path(self.host.filesystem.getcwd())
+ except OSError:
+ repos['webkit'] = local.Scm.from_path(self.host.filesystem.dirname(__file__))
+
commits = []
- for repo_id, path in repos.items():
- scm = SCMDetector(self._filesystem, self._executive).detect_scm_system(path)
+ for repo_id, repo in repos.items():
+ commit = repo.commit(include_log=False, include_identifier=False)
- # If using git-svn for WebKit, prefer the SVN branch/revision.
- svn_revision = scm.svn_revision(path)
- if repo_id == 'webkit' and svn_revision:
- used_revision = svn_revision
- else:
- used_revision = scm.native_revision(path)
+ # Special case for WebKit since we have multiple representations at the moment
+ branch = commit.branch
+ if repo_id == 'webkit' and branch in repo.DEFAULT_BRANCHES:
+ branch = 'trunk'
- svn_branch = scm.svn_branch(path)
- if repo_id == 'webkit' and svn_branch:
- used_branch = svn_branch
- else:
- used_branch = scm.native_branch(path)
-
commits.append(Upload.create_commit(
repository_id=repo_id,
- id=used_revision,
- branch=used_branch,
+ id=str(commit.revision or commit.hash),
+ branch=branch,
))
return commits
Modified: trunk/Tools/Scripts/webkitpy/port/base_unittest.py (273761 => 273762)
--- trunk/Tools/Scripts/webkitpy/port/base_unittest.py 2021-03-02 22:51:33 UTC (rev 273761)
+++ trunk/Tools/Scripts/webkitpy/port/base_unittest.py 2021-03-02 22:53:04 UTC (rev 273762)
@@ -41,6 +41,7 @@
from webkitpy.port.test import add_unit_tests_to_mock_filesystem, TestPort
from webkitcorepy import OutputCapture
+from webkitscmpy import mocks
def cmp(a, b):
@@ -323,10 +324,16 @@
)
def test_commits_for_upload(self):
- port = self.make_port(port_name='foo')
- self.assertEqual([{'repository_id': 'webkit', 'id': '2738499', 'branch': 'trunk'}], port.commits_for_upload())
+ with mocks.local.Svn(path='/'), mocks.local.Git():
+ port = self.make_port(port_name='foo')
+ self.assertEqual([{'repository_id': 'webkit', 'id': '6', 'branch': 'trunk'}], port.commits_for_upload())
+ def test_commits_for_upload_git_svn(self):
+ with mocks.local.Svn(), mocks.local.Git(path='/', git_svn=True):
+ port = self.make_port(port_name='foo')
+ self.assertEqual([{'repository_id': 'webkit', 'id': '9', 'branch': 'trunk'}], port.commits_for_upload())
+
class NaturalCompareTest(unittest.TestCase):
def setUp(self):
self._port = TestPort(MockSystemHost())