Diff
Modified: trunk/Tools/ChangeLog (277614 => 277615)
--- trunk/Tools/ChangeLog 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/ChangeLog 2021-05-17 23:45:13 UTC (rev 277615)
@@ -1,3 +1,20 @@
+2021-05-17 Jonathan Bedard <jbed...@apple.com>
+
+ [webkitscmpy] Support testing on machines without svn installed
+ https://bugs.webkit.org/show_bug.cgi?id=225891
+ <rdar://problem/78126369>
+
+ Reviewed by Dewei Zhu.
+
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py:
+ * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py:
+ (Scm.executable): Ensure whichcraft import support mock.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:
+ (Git.__enter__): Mock git executable location.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py:
+ (Svn.__enter__): Mock svn executable location.
+
2021-05-17 Alex Christensen <achristen...@webkit.org>
Remove API::Object::Type::BundlePageGroup
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (277614 => 277615)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-05-17 23:45:13 UTC (rev 277615)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='0.14.1',
+ version='0.14.2',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (277614 => 277615)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-05-17 23:45:13 UTC (rev 277615)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(0, 14, 1)
+version = Version(0, 14, 2)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('monotonic', Version(1, 5)))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py (277614 => 277615)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py 2021-05-17 23:45:13 UTC (rev 277615)
@@ -28,8 +28,6 @@
from webkitcorepy import run
from webkitscmpy import ScmBase
-# TODO: Use shutil directly when Python 2.7 is removed
-from whichcraft import which
class Scm(ScmBase):
# Projects can define for themselves what constitutes a development vs a production branch,
@@ -39,6 +37,8 @@
@classmethod
def executable(cls, program):
+ # TODO: Use shutil directly when Python 2.7 is removed
+ from whichcraft import which
path = which(program)
if path is None:
raise OSError("Cannot find '{}' program".format(program))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py (277614 => 277615)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py 2021-05-17 23:45:13 UTC (rev 277615)
@@ -26,6 +26,8 @@
import time
from datetime import datetime
+from mock import patch
+
from webkitcorepy import mocks, OutputCapture, StringIO
from webkitscmpy import local, Commit, Contributor
from webkitscmpy.program.canonicalize.committer import main as committer_main
@@ -328,6 +330,12 @@
), *git_svn_routes
)
+ def __enter__(self):
+ # TODO: Use shutil directly when Python 2.7 is removed
+ from whichcraft import which
+ self.patches.append(patch('whichcraft.which', lambda cmd: dict(git=self.executable).get(cmd, which(cmd))))
+ return super(Git, self).__enter__()
+
@property
def branch(self):
return self.head.branch
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py (277614 => 277615)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py 2021-05-17 23:24:23 UTC (rev 277614)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/svn.py 2021-05-17 23:45:13 UTC (rev 277615)
@@ -25,6 +25,7 @@
import re
from datetime import datetime
+from mock import patch
from webkitcorepy import mocks
from webkitscmpy import local
@@ -155,6 +156,12 @@
),
)
+ def __enter__(self):
+ # TODO: Use shutil directly when Python 2.7 is removed
+ from whichcraft import which
+ self.patches.append(patch('whichcraft.which', lambda cmd: dict(svn=self.executable).get(cmd, which(cmd))))
+ return super(Svn, self).__enter__()
+
@property
def branch(self):
return self.head.branch