git-webkit land should apply the merge-queue label
https://bugs.webkit.org/show_bug.cgi?id=240308
<rdar://problem/93501363>
Reviewed by Ryan Haddad.
* Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py: Ditto.
* Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py:
(NoAction.__call__): Support --un along with --no- to invert option.
* Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
(Land.parser): Invoke PullRequest's parser.
(Land.merge_queue): Update (or create) pull-request and add merge-queue label to.
(Land.main): Support PullRequest options including automatic commit creation, squashing and PR creation.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest): Add merge-queue and unsafe-merge-queue labels.
(PullRequest.parser): Add --no-squash option.
(PullRequest.create_pull_request): Remove merge-queue labels, allow caller to specify a callback.
(PullRequest.main): Create commit even when squashing.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository):
(TestLand.test_with_oops):
(TestLand.test_default):
(TestLand.test_canonicalize):
(TestLand.test_svn):
(TestLand.test_default_with_radar):
(TestLand.test_canonicalize_with_bugzilla):
(TestLand.test_svn_with_bugzilla):
(TestLandGitHub.webserver):
(TestLandGitHub):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:
(test_update):
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py:
(TestSquash.test_github_with_previous_history):
(TestSquash.test_github_without_previous_history):
Canonical link: https://commits.webkit.org/251766@main
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@295761 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Tools/Scripts/libraries/webkitcorepy/setup.py b/Tools/Scripts/libraries/webkitcorepy/setup.py
index 90d227d..6fdb639 100644
--- a/Tools/Scripts/libraries/webkitcorepy/setup.py
+++ b/Tools/Scripts/libraries/webkitcorepy/setup.py
@@ -30,7 +30,7 @@
setup(
name='webkitcorepy',
- version='0.13.9',
+ version='0.13.10',
description='Library containing various Python support classes and functions.',
long_description=readme(),
classifiers=[
diff --git a/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py b/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
index 7d1c611..2ebd95e 100644
--- a/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
+++ b/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/__init__.py
@@ -44,7 +44,7 @@
from webkitcorepy.editor import Editor
from webkitcorepy.file_lock import FileLock
-version = Version(0, 13, 9)
+version = Version(0, 13, 10)
from webkitcorepy.autoinstall import Package, AutoInstall
if sys.version_info > (3, 0):
diff --git a/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py b/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py
index aeca845..63da67d 100644
--- a/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py
+++ b/Tools/Scripts/libraries/webkitcorepy/webkitcorepy/arguments.py
@@ -31,7 +31,7 @@
super(NoAction, self).__init__(option_strings, dest, nargs=0, **kwargs)
def __call__(self, parser, namespace, values, option_string=None):
- setattr(namespace, self.dest, False if option_string.startswith('--no') else True)
+ setattr(namespace, self.dest, False if option_string.startswith('--no') or option_string.startswith('--un') else True)
def CountAction(value=1):
diff --git a/Tools/Scripts/libraries/webkitscmpy/setup.py b/Tools/Scripts/libraries/webkitscmpy/setup.py
index 1c730cd..e7257e4 100644
--- a/Tools/Scripts/libraries/webkitscmpy/setup.py
+++ b/Tools/Scripts/libraries/webkitscmpy/setup.py
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='5.1.1',
+ version='5.2.0',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
index 348e11d..d5db3ff 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(5, 1, 1)
+version = Version(5, 2, 0)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('jinja2', Version(2, 11, 3)))
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py
index 378ddb5..a64363b 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py
@@ -57,6 +57,7 @@
@classmethod
def parser(cls, parser, loggers=None):
+ PullRequest.parser(parser, loggers=loggers)
parser.add_argument(
'--no-force-review', '--force-review', '--no-review',
dest='review', default=True,
@@ -70,8 +71,48 @@
action=arguments.NoAction,
)
parser.add_argument(
- '--defaults', '--no-defaults', action=arguments.NoAction, default=None,
- help='Do not prompt the user for defaults, always use (or do not use) them',
+ '--safe', '--unsafe',
+ dest='safe', default=None,
+ help='Land change via safe (or unsafe) merge queue, if available.',
+ action=arguments.NoAction,
+ )
+
+ @classmethod
+ def merge_queue(cls, args, repository, branch_point, merge_labels=None):
+ log.info('Detected merging automation, using that instead of local git tooling')
+ merge_type = {
+ True: 'safe',
+ False: 'unsafe',
+ }.get(args.safe, sorted(merge_labels.keys())[0])
+ merge_label = merge_labels.get(merge_type)
+ if not merge_label:
+ sys.stderr.write("No {} merge-queue available for this repository\n".format(merge_type))
+ return 1
+
+ def callback(pr):
+ pr_issue = pr._metadata.get('issue')
+ if not pr_issue:
+ sys.stderr.write("Cannot set any labels on '{}' because the service doesn't support labels\n".format(pr))
+ return 1
+
+ labels = pr_issue.labels
+ if PullRequest.BLOCKED_LABEL in labels and merge_type == 'unsafe':
+ log.info("Removing '{}' from PR {}...".format(cls.BLOCKED_LABEL, existing_pr.number))
+ labels.remove(PullRequest.BLOCKED_LABEL)
+ log.info("Adding '{}' to '{}'".format(merge_label, pr))
+ labels.append(merge_label)
+ if pr_issue.set_labels(labels):
+ print("Added '{}' to '{}', change is in the queue to be landed".format(merge_label, pr))
+ return 0
+ sys.stderr.write("Failed to add '{}' to '{}', change is not landing\n".format(merge_label, pr))
+ if pr.url:
+ sys.stderr.write("See if you can add the label manually on '{}'".format(pr.url))
+ return 1
+
+ return PullRequest.create_pull_request(
+ repository, args, branch_point,
+ callback=callback,
+ unblock=True if merge_type == 'unsafe' else False,
)
@classmethod
@@ -92,18 +133,55 @@
sys.stderr.write("Cannot 'land' on a canonical SVN repository that is not configured as git-svn\n")
return 1
+ if not PullRequest.check_pull_request_args(repository, args):
+ return 1
+
+ modified_files = [] if args.will_add is False else repository.modified()
+ if args.will_add:
+ modified_files = list(set(modified_files).union(set(repository.modified(staged=False))))
+ if not Branch.editable(repository.branch, repository=repository) and not modified_files:
+ sys.stderr.write("Can only 'land' editable branches\n")
+ return 1
+
+ branch_point = PullRequest.pull_request_branch_point(repository, args, **kwargs)
+ if not branch_point:
+ return 1
source_branch = repository.branch
if not Branch.editable(source_branch, repository=repository):
sys.stderr.write("Can only 'land' editable branches\n")
return 1
- branch_point = Branch.branch_point(repository)
+
+ result = PullRequest.create_commit(args, repository, **kwargs)
+ if result:
+ return result
+
commits = list(repository.commits(begin=dict(hash=branch_point.hash), end=dict(branch=source_branch)))
if not commits:
sys.stderr.write('Failed to find commits to land\n')
return 1
- pull_request = None
+ if args.squash or (args.squash is None and len(commits) > 1):
+ result = Squash.squash_commit(args, repository, branch_point, **kwargs)
+ if result:
+ return result
+ commits = list(repository.commits(begin=dict(hash=branch_point.hash), end=dict(branch=source_branch)))
+
rmt = repository.remote()
+ if rmt and isinstance(rmt, remote.GitHub):
+ merge_labels = dict()
+ for name in rmt.tracker.labels.keys():
+ if name in PullRequest.MERGE_LABELS:
+ merge_labels['safe'] = name
+ if name in PullRequest.UNSAFE_MERGE_LABELS:
+ merge_labels['unsafe'] = name
+ if merge_labels:
+ return cls.merge_queue(args, repository, branch_point, merge_labels=merge_labels)
+
+ if args.safe is not None:
+ sys.stderr.write("No merge-queue available for this repository\n")
+ return 1
+
+ pull_request = None
if rmt and rmt.pull_requests:
candidates = list(rmt.pull_requests.find(opened=True, head=source_branch))
if len(candidates) == 1:
@@ -148,7 +226,7 @@
elif not pull_request:
sys.stderr.write("Failed to find pull-request associated with '{}'\n".format(source_branch))
- if not args.oops and any([cls.OOPS_RE.search(commit.message) for commit in commits]):
+ if not args.oops and any([cls.OOPS_RE.search(commit.message) for commit in commits if commit.message]):
sys.stderr.write("Found '(OOPS!)' message in commit messages, please resolve before committing\n")
return 1
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py
index cf04d27..b19bf8b 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py
@@ -38,6 +38,8 @@
aliases = ['pr', 'pfr', 'upload']
help = 'Push the current checkout state as a pull-request'
BLOCKED_LABEL = 'merging-blocked'
+ MERGE_LABELS = ['merge-queue']
+ UNSAFE_MERGE_LABELS = ['unsafe-merge-queue']
@classmethod
def parser(cls, parser, loggers=None):
@@ -56,10 +58,10 @@
action=arguments.NoAction,
)
parser.add_argument(
- '--squash',
- dest='squash', default=False,
- action='store_true',
+ '--squash', '--no-squash',
+ dest='squash', default=None,
help='Combine all commits on the current development branch into a single commit before pushing',
+ action=arguments.NoAction,
)
parser.add_argument(
'--defaults', '--no-defaults', action=arguments.NoAction, default=None,
@@ -260,7 +262,7 @@
return 0
@classmethod
- def create_pull_request(cls, repository, args, branch_point):
+ def create_pull_request(cls, repository, args, branch_point, callback=None, unblock=True):
# FIXME: We can do better by inferring the remote from the branch point, if it's not specified
source_remote = args.remote or 'origin'
if not repository.config().get('remote.{}.url'.format(source_remote)):
@@ -279,8 +281,6 @@
return 1
log.info("Rebased '{}' on '{}!'".format(repository.branch, branch_point.branch))
branch_point = Branch.branch_point(repository)
- else:
- branch_point = Branch.branch_point(repository)
if args.checks is None:
args.checks = repository.config().get('webkitscmpy.auto-check', 'false') == 'true'
@@ -303,15 +303,19 @@
) == 'Yes'):
existing_pr = None
- # Remove "merging-blocked" label
+ # Remove any active labels
if existing_pr and existing_pr._metadata and existing_pr._metadata.get('issue'):
- log.info("Checking PR labels for '{}'...".format(cls.BLOCKED_LABEL))
+ log.info("Checking PR labels for active labels...")
pr_issue = existing_pr._metadata['issue']
labels = pr_issue.labels
- if cls.BLOCKED_LABEL in labels:
- log.info("Removing '{}' from PR {}...".format(cls.BLOCKED_LABEL, existing_pr.number))
- labels.remove(cls.BLOCKED_LABEL)
- pr_issue.set_labels([])
+ did_remove = False
+ for to_remove in cls.MERGE_LABELS + cls.UNSAFE_MERGE_LABELS + ([cls.BLOCKED_LABEL] if unblock else []):
+ if to_remove in labels:
+ log.info("Removing '{}' from PR {}...".format(to_remove, existing_pr.number))
+ labels.remove(to_remove)
+ did_remove = True
+ if did_remove:
+ pr_issue.set_labels(labels)
if isinstance(remote_repo, remote.GitHub):
target = 'fork' if source_remote == 'origin' else '{}-fork'.format(source_remote)
@@ -429,6 +433,8 @@
if pr.url:
print(pr.url)
+ if callback:
+ return callback(pr)
return 0
@classmethod
@@ -443,10 +449,11 @@
if not branch_point:
return 1
+ result = cls.create_commit(args, repository, **kwargs)
+ if result:
+ return result
if args.squash:
result = Squash.squash_commit(args, repository, branch_point, **kwargs)
- else:
- result = cls.create_commit(args, repository, **kwargs)
if result:
return result
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py
index f7fe934..444d1cf 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py
@@ -31,9 +31,9 @@
from webkitscmpy import Contributor, Commit, local, program, mocks
-def repository(path, has_oops=True, remote=None, git_svn=False, issue_url=None):
+def repository(path, has_oops=True, remote=None, remotes=None, git_svn=False, issue_url=None):
branch = 'eng/example'
- result = mocks.local.Git(path, remote=remote, git_svn=git_svn)
+ result = mocks.local.Git(path, remote=remote, remotes=remotes, git_svn=git_svn)
result.commits[branch] = [
result.commits[result.default_branch][2],
Commit(
@@ -101,6 +101,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...'
],
)
self.assertEqual(
@@ -122,6 +123,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
],
@@ -157,6 +159,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
'1 commit to be edited...',
@@ -202,6 +205,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
' Verifying mirror processesed change',
@@ -237,6 +241,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
],
@@ -286,6 +291,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
'1 commit to be edited...',
@@ -332,6 +338,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
' Verifying mirror processesed change',
@@ -347,6 +354,7 @@
"Delete branch 'eng/example'? ([Yes]/No): \n",
)
+
class TestLandGitHub(testing.PathTestCase):
basepath = 'mock/repository'
@@ -356,8 +364,8 @@
os.mkdir(os.path.join(self.path, '.svn'))
@classmethod
- def webserver(cls, approved=None):
- result = mocks.remote.GitHub()
+ def webserver(cls, approved=None, labels=None):
+ result = mocks.remote.GitHub(labels=labels)
result.users.create('Ricky Reviewer', 'rreviewer', ['rreviewer@webkit.org'])
result.users.create('Tim Contributor', 'tcontributor', ['tcontributor@webkit.org'])
result.issues = {
@@ -411,6 +419,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
],
)
self.assertEqual(
@@ -433,6 +442,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
],
)
self.assertEqual(
@@ -442,7 +452,8 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_insert_review(self):
- with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('y', 'n'), self.webserver(approved=True) as remote, \
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('y', 'n'), self.webserver(
+ approved=True) as remote, \
repository(self.path, has_oops=True, remote='https://{}'.format(remote.remote)), mocks.local.Svn():
self.assertEqual(0, program.main(
args=('land', '-v'),
@@ -460,6 +471,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
'Setting Ricky Reviewer as reviewer',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
@@ -474,6 +486,46 @@
"Delete branch 'eng/example'? ([Yes]/No): \n",
)
+ def test_merge_queue(self):
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('y', 'n'), self.webserver(
+ approved=True, labels={'merge-queue': dict(color='3AE653', description="Send PR to merge-queue")},
+ ) as remote, mocks.local.Svn(), repository(
+ self.path, has_oops=True,
+ remote='https://{}'.format(remote.remote),
+ remotes=dict(fork='https://{}/Contributor/WebKit'.format(remote.hosts[0])),
+ ):
+ self.assertEqual(0, program.main(
+ args=('land', '-v'),
+ path=self.path,
+ ))
+
+ log = captured.root.log.getvalue().splitlines()
+ self.assertEqual(
+ [line for line in log if 'Mock process' not in line], [
+ ' Found 1 commit...',
+ 'Using committed changes...',
+ 'Detected merging automation, using that instead of local git tooling',
+ "Rebasing 'eng/example' on 'main'...",
+ "Rebased 'eng/example' on 'main!'",
+ ' Found 1 commit...',
+ 'Running pre-PR checks...',
+ 'No pre-PR checks to run',
+ 'Checking PR labels for active labels...',
+ "Pushing 'eng/example' to 'fork'...",
+ "Syncing 'main' to remote 'fork'",
+ "Creating 'eng/example-1' as a reference branch",
+ "Updating pull-request for 'eng/example'...",
+ "Adding 'merge-queue' to 'PR 1 | To Be Committed'",
+ ],
+ )
+ self.assertEqual(captured.stderr.getvalue(), '')
+ self.assertEqual(
+ captured.stdout.getvalue(),
+ "Updated 'PR 1 | To Be Committed'!\n"
+ "https://github.example.com/WebKit/WebKit/pull/1\n"
+ "Added 'merge-queue' to 'PR 1 | To Be Committed', change is in the queue to be landed\n",
+ )
+
class TestLandBitBucket(testing.PathTestCase):
basepath = 'mock/repository'
@@ -536,6 +588,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
],
)
self.assertEqual(
@@ -560,6 +613,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
],
)
self.assertEqual(
@@ -589,6 +643,7 @@
self.assertEqual(
[line for line in log if 'Mock process' not in line], [
' Found 1 commit...',
+ 'Using committed changes...',
'Setting Ricky Reviewer as reviewer',
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py
index e9cf42cb..3957108 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py
@@ -76,7 +76,6 @@
self.assertEqual(commits[0].message, '[scoping] Bug to fix\n\nReviewed by Tim Contributor.')
def test_create_body_multiple_linked(self):
- self.maxDiff = None
self.assertEqual(
PullRequest.create_body(None, [Commit(
hash='11aa76f9fc380e9fe06157154f32b304e8dc4749',
@@ -460,7 +459,7 @@
" Found 1 commit...",
'Running pre-PR checks...',
'No pre-PR checks to run',
- "Checking PR labels for 'merging-blocked'...",
+ 'Checking PR labels for active labels...',
"Removing 'merging-blocked' from PR 1...",
"Pushing 'eng/pr-branch' to 'fork'...",
"Syncing 'main' to remote 'fork'",
@@ -504,7 +503,7 @@
' Found 2 commits...',
'Running pre-PR checks...',
'No pre-PR checks to run',
- "Checking PR labels for 'merging-blocked'...",
+ 'Checking PR labels for active labels...',
"Pushing 'eng/pr-branch' to 'fork'...",
"Syncing 'main' to remote 'fork'",
"Updating pull-request for 'eng/pr-branch'...",
@@ -553,7 +552,7 @@
" Found 1 commit...",
'Running pre-PR checks...',
'No pre-PR checks to run',
- "Checking PR labels for 'merging-blocked'...",
+ 'Checking PR labels for active labels...',
"Pushing 'eng/pr-branch' to 'fork'...",
"Syncing 'main' to remote 'fork'",
"Updating pull-request for 'eng/pr-branch'...",
@@ -628,7 +627,6 @@
)
def test_github_branch_bugzilla(self):
- self.maxDiff = None
with OutputCapture(level=logging.INFO) as captured, mocks.remote.GitHub(
projects=bmocks.PROJECTS) as remote, bmocks.Bugzilla(
self.BUGZILLA.split('://')[-1],
@@ -687,7 +685,6 @@
)
def test_github_branch_bugzilla_redacted(self):
- self.maxDiff = None
with OutputCapture(level=logging.INFO) as captured, mocks.remote.GitHub(projects=bmocks.PROJECTS) as remote, bmocks.Bugzilla(
self.BUGZILLA.split('://')[-1],
projects=bmocks.PROJECTS, issues=bmocks.ISSUES,
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py
index c11ed9c..2a518e6 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py
@@ -198,7 +198,7 @@
' Found 1 commit...',
'Running pre-PR checks...',
'No pre-PR checks to run',
- "Checking PR labels for 'merging-blocked'...",
+ 'Checking PR labels for active labels...',
"Pushing 'eng/pr-branch' to 'fork'...",
"Syncing 'main' to remote 'fork'",
"Updating pull-request for 'eng/pr-branch'..."
diff --git a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py
index 7538fee..0d639d7 100644
--- a/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py
+++ b/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py
@@ -73,6 +73,7 @@
' Found 1 commit...',
' Found 2 commits...',
' Found 3 commits...',
+ 'Using committed changes...',
' Squashed 3 commits',
"Rebasing 'eng/squash-branch' on 'main'...",
"Rebased 'eng/squash-branch' on 'main!'",
@@ -119,6 +120,7 @@
' Found 1 commit...',
' Found 2 commits...',
' Found 3 commits...',
+ 'Using committed changes...',
' Squashed 3 commits',
"Rebasing 'eng/squash-branch' on 'main'...",
"Rebased 'eng/squash-branch' on 'main!'",