Diff
Modified: trunk/Tools/ChangeLog (286294 => 286295)
--- trunk/Tools/ChangeLog 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/ChangeLog 2021-11-30 15:24:09 UTC (rev 286295)
@@ -1,3 +1,41 @@
+2021-11-29 Jonathan Bedard <[email protected]>
+
+ [git-webkit] Use info log level instead of warning
+ https://bugs.webkit.org/show_bug.cgi?id=233607
+ <rdar://problem/85840831>
+
+ Reviewed by Ryan Haddad.
+
+ * Scripts/libraries/webkitscmpy/setup.py: Bump version.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
+ (Branch.branch_point): Log to info instead of warning.
+ (Branch.main): Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py:
+ (Checkout.main): Log to info instead of warning.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py:
+ (Land.main): Log to info instead of warning.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
+ (PullRequest.create_commit): Log to info instead of warning.
+ (PullRequest.main): Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
+ (Setup.github): Log to info instead of warning.
+ (Setup.git): Ditto.
+ * Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py:
+ (TestBranch.test_basic_git):
+ (TestBranch.test_prompt_git):
+ * Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
+ (TestLand.test_non_editable):
+ (TestLand.test_with_oops):
+ (TestLand.test_default):
+ (TestLand.test_canonicalize):
+ (TestLand.test_no_svn_canonical_svn):
+ (TestLand.test_svn):
+ * Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
+ * Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
+ (TestSetup.test_svn):
+ (TestSetup.test_github):
+
2021-11-29 Simon Fraser <[email protected]>
Store image resolution in layout test snapshots, and have ImageDiff read it
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -29,7 +29,7 @@
setup(
name='webkitscmpy',
- version='3.0.3',
+ version='3.0.4',
description='Library designed to interact with git and svn repositories.',
long_description=readme(),
classifiers=[
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -46,7 +46,7 @@
"Please install webkitcorepy with `pip install webkitcorepy --extra-index-url <package index URL>`"
)
-version = Version(3, 0, 3)
+version = Version(3, 0, 4)
AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
AutoInstall.register(Package('jinja2', Version(2, 11, 3)))
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -63,9 +63,9 @@
cnt += 1
commit = repository.find(argument='HEAD~{}'.format(cnt), include_log=False, include_identifier=False)
if cnt > 1 or commit.branch != repository.branch or cls.editable(commit.branch, repository=repository):
- log.warning(' Found {}...'.format(string_utils.pluralize(cnt, 'commit')))
+ log.info(' Found {}...'.format(string_utils.pluralize(cnt, 'commit')))
else:
- log.warning(' No commits on editable branch')
+ log.info(' No commits on editable branch')
return commit
@@ -89,7 +89,7 @@
sys.stderr.write("'{}' already exists\n".format(args.issue))
return 1
- log.warning("Creating the local development branch '{}'...".format(args.issue))
+ log.info("Creating the local development branch '{}'...".format(args.issue))
if run([repository.executable(), 'checkout', '-b', args.issue], cwd=repository.root_path).returncode:
sys.stderr.write("Failed to create '{}'\n".format(args.issue))
return 1
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/checkout.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -66,7 +66,7 @@
target = '{}:{}'.format(pr.author.github, pr.head)
else:
target = pr.head
- log.warning("Found associated branch '{}' for '{}'".format(target, pr))
+ log.info("Found associated branch '{}' for '{}'".format(target, pr))
try:
commit = repository.checkout(target)
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/land.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -111,7 +111,7 @@
string_utils.join([p.name for p in pull_request.approvers]),
's' if len(pull_request.approvers) > 1 else '',
), default='Yes') == 'Yes'):
- log.warning("Setting {} as reviewer{}".format(
+ log.info("Setting {} as reviewer{}".format(
string_utils.join([p.name for p in pull_request.approvers]),
's' if len(pull_request.approvers) > 1 else '',
))
@@ -143,7 +143,7 @@
return 1
target = pull_request.base if pull_request else branch_point.branch
- log.warning("Rebasing '{}' from '{}' to '{}'...".format(source_branch, branch_point.branch, target))
+ log.info("Rebasing '{}' from '{}' to '{}'...".format(source_branch, branch_point.branch, target))
if repository.fetch(branch=target, remote=cls.REMOTE):
sys.stderr.write("Failed to fetch '{}' from '{}'\n".format(target, cls.REMOTE))
return 1
@@ -150,7 +150,7 @@
if repository.rebase(target=target, base=branch_point.branch, head=source_branch):
sys.stderr.write("Failed to rebase '{}' onto '{}', please resolve conflicts\n".format(source_branch, target))
return 1
- log.warning("Rebased '{}' from '{}' to '{}'!".format(source_branch, branch_point.branch, target))
+ log.info("Rebased '{}' from '{}' to '{}'!".format(source_branch, branch_point.branch, target))
if run([repository.executable(), 'branch', '-f', target, source_branch], cwd=repository.root_path).returncode:
sys.stderr.write("Failed to move '{}' ref\n".format(target))
@@ -187,7 +187,7 @@
if time.time() - started > cls.MIRROR_TIMEOUT:
sys.stderr.write("Timed out waiting for the git-svn mirror, '{}' landed but not closed\n".format(pull_request or source_branch))
return 1
- log.warning(' Verifying mirror processesed change')
+ log.info(' Verifying mirror processesed change')
time.sleep(5)
run([repository.executable(), 'pull'], cwd=repository.root_path)
latest = repository.find('HEAD', include_log=False, include_identifier=False)
@@ -205,7 +205,7 @@
else:
if pull_request:
- log.warning("Updating '{}' to match landing commits...".format(pull_request))
+ log.info("Updating '{}' to match landing commits...".format(pull_request))
commits = list(repository.commits(begin=dict(argument='{}~{}'.format(source_branch, len(commits))), end=dict(branch=source_branch)))
run([repository.executable(), 'push', '-f', remote_target, source_branch], cwd=repository.root_path)
rmt.pull_requests.update(
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -64,7 +64,7 @@
# Next, add all modified file
for file in set(modified) - set(repository.modified(staged=True)):
- log.warning(' Adding {}...'.format(file))
+ log.info(' Adding {}...'.format(file))
if run([repository.executable(), 'add', file], cwd=repository.root_path).returncode:
sys.stderr.write("Failed to add '{}'\n".format(file))
return 1
@@ -72,7 +72,7 @@
# Then, see if we already have a commit associated with this branch we need to modify
has_commit = repository.commit(include_log=False, include_identifier=False).branch == repository.branch and repository.branch != repository.default_branch
if not modified and has_commit:
- log.warning('Using committed changes...')
+ log.info('Using committed changes...')
return 0
# Otherwise, we need to create a commit
@@ -79,7 +79,7 @@
if not modified:
sys.stderr.write('No modified files\n')
return 1
- log.warning('Amending commit...' if has_commit else 'Creating commit...')
+ log.info('Amending commit...' if has_commit else 'Creating commit...')
if run([repository.executable(), 'commit', '--date=now'] + (['--amend'] if has_commit else []), cwd=repository.root_path).returncode:
sys.stderr.write('Failed to generate commit\n')
return 1
@@ -114,11 +114,11 @@
branch_point = Branch.branch_point(repository)
if args.rebase or (args.rebase is None and repository.config().get('pull.rebase')):
- log.warning("Rebasing '{}' on '{}'...".format(repository.branch, branch_point.branch))
+ log.info("Rebasing '{}' on '{}'...".format(repository.branch, branch_point.branch))
if repository.pull(rebase=True, branch=branch_point.branch):
sys.stderr.write("Failed to rebase '{}' on '{},' please resolve conflicts\n".format(repository.branch, branch_point.branch))
return 1
- log.warning("Rebased '{}' on '{}!'".format(repository.branch, branch_point.branch))
+ log.info("Rebased '{}' on '{}!'".format(repository.branch, branch_point.branch))
branch_point = Branch.branch_point(repository)
rmt = repository.remote()
@@ -126,7 +126,7 @@
sys.stderr.write("'{}' doesn't have a recognized remote\n".format(repository.root_path))
return 1
target = 'fork' if isinstance(rmt, remote.GitHub) else 'origin'
- log.warning("Pushing '{}' to '{}'...".format(repository.branch, target))
+ log.info("Pushing '{}' to '{}'...".format(repository.branch, target))
if run([repository.executable(), 'push', '-f', target, repository.branch], cwd=repository.root_path).returncode:
sys.stderr.write("Failed to push '{}' to '{}'\n".format(repository.branch, target))
return 1
@@ -148,7 +148,7 @@
commits = list(repository.commits(begin=dict(hash=branch_point.hash), end=dict(branch=repository.branch)))
if existing_pr:
- log.warning("Updating pull-request for '{}'...".format(repository.branch))
+ log.info("Updating pull-request for '{}'...".format(repository.branch))
pr = rmt.pull_requests.update(
pull_request=existing_pr,
title=cls.title_for(commits),
@@ -160,9 +160,9 @@
if not pr:
sys.stderr.write("Failed to update pull-request '{}'\n".format(candidates[0]))
return 1
- log.warning("Updated '{}'!".format(pr))
+ print("Updated '{}'!".format(pr))
else:
- log.warning("Creating pull-request for '{}'...".format(repository.branch))
+ log.info("Creating pull-request for '{}'...".format(repository.branch))
pr = rmt.pull_requests.create(
title=cls.title_for(commits),
commits=commits,
@@ -172,6 +172,6 @@
if not pr:
sys.stderr.write("Failed to create pull-request for '{}'\n".format(repository.branch))
return 1
- log.warning("Created '{}'!".format(pr))
+ print("Created '{}'!".format(pr))
return 0
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -36,9 +36,9 @@
@classmethod
def github(cls, args, repository, additional_setup=None, **kwargs):
- log.warning('Saving GitHub credentials in system credential store...')
+ log.info('Saving GitHub credentials in system credential store...')
username, access_token = repository.credentials(required=True)
- log.warning('GitHub credentials saved via Keyring!')
+ log.info('GitHub credentials saved via Keyring!')
# Any additional setup passed to main
result = 0
@@ -45,7 +45,7 @@
if additional_setup:
result += additional_setup(args, repository)
- log.warning('Verifying user owned fork...')
+ log.info('Verifying user owned fork...')
auth = HTTPBasicAuth(username, access_token)
response = requests.get('{}/repos/{}/{}'.format(
repository.api_url,
@@ -53,7 +53,7 @@
repository.name,
), auth=auth, headers=dict(Accept='application/vnd.github.v3+json'))
if response.status_code == 200:
- log.warning("User already owns a fork of '{}'!".format(repository.name))
+ log.info("User already owns a fork of '{}'!".format(repository.name))
return result
if repository.owner == username or args.defaults or Terminal.choose(
@@ -60,7 +60,7 @@
"Create a private fork of '{}' belonging to '{}'".format(repository.name, username),
default='Yes',
) == 'No':
- log.warning("Continuing without forking '{}'".format(repository.name))
+ log.info("Continuing without forking '{}'".format(repository.name))
return 1
response = requests.post('{}/repos/{}/{}/forks'.format(
@@ -75,7 +75,7 @@
if response.status_code not in (200, 202):
sys.stderr.write("Failed to create a fork of '{}' belonging to '{}'\n".format(repository.name, username))
return 1
- log.warning("Created a private fork of '{}' belonging to '{}'!".format(repository.name, username))
+ log.info("Created a private fork of '{}' belonging to '{}'!".format(repository.name, username))
return result
@classmethod
@@ -84,7 +84,7 @@
result = 0
email = global_config.get('user.email')
- log.warning('Setting git user email for {}...'.format(repository.root_path))
+ log.info('Setting git user email for {}...'.format(repository.root_path))
if not email or args.defaults is False or (not args.defaults and Terminal.choose(
"Set '{}' as the git user email".format(email),
default='Yes',
@@ -97,7 +97,7 @@
sys.stderr.write('Failed to set the git user email to {}\n'.format(email))
result += 1
else:
- log.warning("Set git user email to '{}'".format(email))
+ log.info("Set git user email to '{}'".format(email))
name = repository.contributors.get(email)
if name:
@@ -104,7 +104,7 @@
name = name.name
else:
name = global_config.get('user.name')
- log.warning('Setting git user name for {}...'.format(repository.root_path))
+ log.info('Setting git user name for {}...'.format(repository.root_path))
if not name or args.defaults is False or (not args.defaults and Terminal.choose(
"Set '{}' as the git user name".format(name),
default='Yes',
@@ -116,9 +116,9 @@
sys.stderr.write('Failed to set the git user name to {}\n'.format(name))
result += 1
else:
- log.warning("Set git user name to '{}'".format(name))
+ log.info("Set git user name to '{}'".format(name))
- log.warning('Setting better Objective-C diffing behavior...')
+ log.info('Setting better Objective-C diffing behavior...')
result += run(
[local.Git.executable(), 'config', 'diff.objcpp.xfuncname', '^[-+@a-zA-Z_].*$'],
capture_output=True, cwd=repository.root_path,
@@ -127,7 +127,7 @@
[local.Git.executable(), 'config', 'diff.objcppheader.xfuncname', '^[@a-zA-Z_].*$'],
capture_output=True, cwd=repository.root_path,
).returncode
- log.warning('Set better Objective-C diffing behavior!')
+ log.info('Set better Objective-C diffing behavior!')
if args.defaults or Terminal.choose(
'Auto-color status, diff, and branch?',
@@ -139,7 +139,7 @@
capture_output=True, cwd=repository.root_path,
).returncode
- log.warning('Using {} merge strategy'.format('merge commits as a' if args.merge else 'a rebase'))
+ log.info('Using {} merge strategy'.format('merge commits as a' if args.merge else 'a rebase'))
if run(
[local.Git.executable(), 'config', 'pull.rebase', 'false' if args.merge else 'true'],
capture_output=True, cwd=repository.root_path,
@@ -152,7 +152,7 @@
source_path = os.path.join(hooks, hook)
if not os.path.isfile(source_path):
continue
- log.warning('Configuring and copying hook {}'.format(source_path))
+ log.info('Configuring and copying hook {}'.format(source_path))
with open(source_path, 'r') as f:
from jinja2 import Template
contents = Template(f.read()).render(
@@ -169,7 +169,7 @@
f.write('\n')
os.chmod(target, 0o775)
- log.warning('Setting git editor for {}...'.format(repository.root_path))
+ log.info('Setting git editor for {}...'.format(repository.root_path))
editor_name = 'default' if args.defaults else Terminal.choose(
'Pick a commit message editor',
options=['default'] + [program.name for program in Editor.programs()],
@@ -177,7 +177,7 @@
numbered=True,
)
if editor_name == 'default':
- log.warning('Using the default git editor')
+ log.info('Using the default git editor')
elif run(
[local.Git.executable(), 'config', 'core.editor', ' '.join([arg.replace(' ', '\\ ') for arg in Editor.by_name(editor_name).wait])],
capture_output=True,
@@ -186,7 +186,7 @@
sys.stderr.write('Failed to set the git editor to {}\n'.format(editor_name))
result += 1
else:
- log.warning("Set git editor to '{}'".format(editor_name))
+ log.info("Set git editor to '{}'".format(editor_name))
# Pushing to http repositories is difficult, offer to change http checkouts to ssh
http_remote = local.Git.HTTP_REMOTE.match(repository.url())
@@ -221,7 +221,7 @@
return result
username, _ = rmt.credentials(required=True)
- log.warning("Adding forked remote as '{}' and 'fork'...".format(username))
+ log.info("Adding forked remote as '{}' and 'fork'...".format(username))
url = ""
if '://' in url:
@@ -247,11 +247,11 @@
result += 1
else:
available_remotes.append(name)
- log.warning("Added remote '{}'".format(name))
+ log.info("Added remote '{}'".format(name))
if 'fork' not in available_remotes:
return result
- log.warning("Fetching '{}'".format(fork_remote))
+ log.info("Fetching '{}'".format(fork_remote))
return run(
[repository.executable(), 'fetch', 'fork'],
capture_output=True, cwd=repository.root_path,
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/branch_unittest.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -21,6 +21,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import json
+import logging
import os
import shutil
import tempfile
@@ -48,9 +49,9 @@
self.assertEqual(captured.stderr.getvalue(), "Can only 'branch' on a native Git repository\n")
def test_basic_git(self):
- with OutputCapture() as captured, mocks.local.Git(self.path), mocks.local.Svn(), MockTime:
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path), mocks.local.Svn(), MockTime:
self.assertEqual(0, program.main(
- args=('branch', '-i', '1234'),
+ args=('branch', '-i', '1234', '-v'),
path=self.path,
))
self.assertEqual(local.Git(self.path).branch, 'eng/1234')
@@ -58,8 +59,8 @@
self.assertEqual(captured.stdout.getvalue(), "Created the local development branch 'eng/1234'!\n")
def test_prompt_git(self):
- with MockTerminal.input('eng/example'), OutputCapture() as captured, mocks.local.Git(self.path), mocks.local.Svn(), MockTime:
- self.assertEqual(0, program.main(args=('branch',), path=self.path))
+ with MockTerminal.input('eng/example'), OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path), mocks.local.Svn(), MockTime:
+ self.assertEqual(0, program.main(args=('branch', '-v'), path=self.path))
self.assertEqual(local.Git(self.path).branch, 'eng/example')
self.assertEqual(captured.root.log.getvalue(), "Creating the local development branch 'eng/example'...\n")
self.assertEqual(captured.stdout.getvalue(), "Branch name: \nCreated the local development branch 'eng/example'!\n")
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -20,6 +20,7 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import logging
import os
import time
@@ -53,9 +54,9 @@
os.mkdir(os.path.join(self.path, '.svn'))
def test_non_editable(self):
- with OutputCapture() as captured, mocks.local.Git(self.path), mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '5@main')
@@ -69,9 +70,9 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_with_oops(self):
- with OutputCapture() as captured, repository(self.path), mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, repository(self.path), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -90,9 +91,9 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_default(self):
- with OutputCapture() as captured, repository(self.path, has_oops=False), mocks.local.Svn(), MockTerminal.input('n'):
+ with OutputCapture(level=logging.INFO) as captured, repository(self.path, has_oops=False), mocks.local.Svn(), MockTerminal.input('n'):
self.assertEqual(0, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '6@main')
@@ -116,9 +117,9 @@
)
def test_canonicalize(self):
- with OutputCapture() as captured, repository(self.path, has_oops=False), mocks.local.Svn(), MockTerminal.input('n'):
+ with OutputCapture(level=logging.INFO) as captured, repository(self.path, has_oops=False), mocks.local.Svn(), MockTerminal.input('n'):
self.assertEqual(0, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
identifier_template='Canonical link: https://commits.webkit.org/{}',
))
@@ -139,6 +140,7 @@
"Rebasing 'eng/example' from 'main' to 'main'...",
"Rebased 'eng/example' from 'main' to 'main'!",
'1 commit to be editted...',
+ 'Base commit is 5@main (ref d8bce26fa65c6fc8f39c17927abb77f69fab82fc)',
],
)
self.assertEqual(
@@ -148,6 +150,7 @@
self.assertEqual(
captured.stdout.getvalue(),
'Rewrite a5fe8afe9bf7d07158fcd9e9732ff02a712db2fd (1/1) (--- seconds passed, remaining --- predicted)\n'
+ 'Overwriting a5fe8afe9bf7d07158fcd9e9732ff02a712db2fd\n'
'1 commit successfully canonicalized!\n'
'Landed https://commits.webkit.org/6@main (a5fe8afe9bf7d07158fcd9e9732ff02a712db2fd)!\n'
"Delete branch 'eng/example'? ([Yes]/No): \n",
@@ -154,9 +157,9 @@
)
def test_no_svn_canonical_svn(self):
- with OutputCapture() as captured, repository(self.path, has_oops=False), mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, repository(self.path, has_oops=False), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path, canonical_svn=True,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -168,9 +171,9 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_svn(self):
- with MockTime, OutputCapture() as captured, repository(self.path, has_oops=False, git_svn=True), mocks.local.Svn(), MockTerminal.input('n'):
+ with MockTime, OutputCapture(level=logging.INFO) as captured, repository(self.path, has_oops=False, git_svn=True), mocks.local.Svn(), MockTerminal.input('n'):
self.assertEqual(0, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path, canonical_svn=True,
))
self.assertEqual(str(local.Git(self.path).commit()), '6@main')
@@ -242,11 +245,11 @@
return result
def test_no_reviewer(self):
- with OutputCapture() as captured, self.webserver() as remote, \
+ with OutputCapture(level=logging.INFO) as captured, self.webserver() as remote, \
repository(self.path, remote='https://{}'.format(remote.remote)), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -264,11 +267,11 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_blocking_reviewer(self):
- with OutputCapture() as captured, self.webserver(approved=False) as remote, \
+ with OutputCapture(level=logging.INFO) as captured, self.webserver(approved=False) as remote, \
repository(self.path, has_oops=False, remote='https://{}'.format(remote.remote)), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -286,10 +289,10 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_insert_review(self):
- with OutputCapture() 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',),
+ args=('land', '-v'),
path=self.path,
))
@@ -365,13 +368,13 @@
return result
def test_no_reviewer(self):
- with OutputCapture() as captured, self.webserver() as remote, repository(
+ with OutputCapture(level=logging.INFO) as captured, self.webserver() as remote, repository(
self.path, remote='ssh://git@{}/{}/{}.git'.format(
remote.hosts[0], remote.project.split('/')[1], remote.project.split('/')[3],
)), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -389,13 +392,13 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_blocking_reviewer(self):
- with OutputCapture() as captured, self.webserver(approved=False) as remote, repository(
+ with OutputCapture(level=logging.INFO) as captured, self.webserver(approved=False) as remote, repository(
self.path, has_oops=False, remote='ssh://git@{}/{}/{}.git'.format(
remote.hosts[0], remote.project.split('/')[1], remote.project.split('/')[3],
)), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
self.assertEqual(str(local.Git(self.path).commit()), '3.1@eng/example')
@@ -413,13 +416,13 @@
self.assertEqual(captured.stdout.getvalue(), '')
def test_insert_review(self):
- with OutputCapture() as captured, MockTerminal.input('y', 'n'), self.webserver(approved=True) as remote, repository(
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('y', 'n'), self.webserver(approved=True) as remote, repository(
self.path, has_oops=True, remote='ssh://git@{}/{}/{}.git'.format(
remote.hosts[0], remote.project.split('/')[1], remote.project.split('/')[3],
)), mocks.local.Svn():
self.assertEqual(0, program.main(
- args=('land',),
+ args=('land', '-v'),
path=self.path,
))
repo = local.Git(self.path)
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -20,13 +20,14 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import logging
import os
import sys
import unittest
-from webkitcorepy import OutputCapture, testing
+from webkitcorepy import OutputCapture, testing, log as wcplog
from webkitcorepy.mocks import Terminal as MockTerminal
-from webkitscmpy import Contributor, Commit, PullRequest, local, program, mocks, remote
+from webkitscmpy import Contributor, Commit, PullRequest, local, program, mocks, remote, log as wsplog
class TestPullRequest(unittest.TestCase):
@@ -255,7 +256,7 @@
os.mkdir(os.path.join(self.path, '.svn'))
def test_svn(self):
- with OutputCapture() as captured, mocks.local.Git(), mocks.local.Svn(self.path):
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(), mocks.local.Svn(self.path):
self.assertEqual(1, program.main(
args=('pull-request',),
path=self.path,
@@ -264,9 +265,9 @@
self.assertEqual(captured.stderr.getvalue(), "Can only 'pull-request' on a native Git repository\n")
def test_no_modified(self):
- with OutputCapture() as captured, mocks.local.Git(self.path), mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path), mocks.local.Svn():
self.assertEqual(1, program.main(
- args=('pull-request', '-i', 'pr-branch'),
+ args=('pull-request', '-i', 'pr-branch', '-v'),
path=self.path,
))
self.assertEqual(captured.root.log.getvalue(), "Creating the local development branch 'eng/pr-branch'...\n")
@@ -273,10 +274,10 @@
self.assertEqual(captured.stderr.getvalue(), 'No modified files\n')
def test_staged(self):
- with OutputCapture() as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
repo.staged['added.txt'] = 'added'
self.assertEqual(1, program.main(
- args=('pull-request', '-i', 'pr-branch'),
+ args=('pull-request', '-i', 'pr-branch', '-v'),
path=self.path,
))
self.assertDictEqual(repo.staged, {})
@@ -290,13 +291,14 @@
Rebasing 'eng/pr-branch' on 'main'...
Rebased 'eng/pr-branch' on 'main!'
Found 1 commit...""")
+ self.assertEqual(captured.stdout.getvalue(), "Created the local development branch 'eng/pr-branch'!\n")
self.assertEqual(captured.stderr.getvalue(), "'{}' doesn't have a recognized remote\n".format(self.path))
def test_modified(self):
- with OutputCapture() as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
repo.modified['modified.txt'] = 'diff'
self.assertEqual(1, program.main(
- args=('pull-request', '-i', 'pr-branch'),
+ args=('pull-request', '-i', 'pr-branch', '-v'),
path=self.path,
))
self.assertDictEqual(repo.modified, dict())
@@ -315,15 +317,20 @@
Found 1 commit...""")
def test_github(self):
- with OutputCapture() as captured, mocks.remote.GitHub() as remote, \
+ with OutputCapture(level=logging.INFO) as captured, mocks.remote.GitHub() as remote, \
mocks.local.Git(self.path, remote='https://{}'.format(remote.remote)) as repo, mocks.local.Svn():
repo.staged['added.txt'] = 'added'
self.assertEqual(0, program.main(
- args=('pull-request', '-i', 'pr-branch'),
+ args=('pull-request', '-i', 'pr-branch', '-v'),
path=self.path,
))
+ self.assertEqual(
+ captured.stdout.getvalue(),
+ "Created the local development branch 'eng/pr-branch'!\n"
+ "Created 'PR 1 | Created commit'!\n",
+ )
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -336,7 +343,6 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'fork'...",
"Creating pull-request for 'eng/pr-branch'...",
- "Created 'PR 1 | Created commit'!",
],
)
@@ -349,13 +355,14 @@
path=self.path,
))
- with OutputCapture() as captured:
+ with OutputCapture(level=logging.INFO) as captured:
repo.staged['added.txt'] = 'diff'
self.assertEqual(0, program.main(
- args=('pull-request',),
+ args=('pull-request', '-v'),
path=self.path,
))
+ self.assertEqual(captured.stdout.getvalue(), "Updated 'PR 1 | Amended commit'!\n")
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -367,7 +374,6 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'fork'...",
"Updating pull-request for 'eng/pr-branch'...",
- "Updated 'PR 1 | Amended commit'!",
],
)
@@ -383,15 +389,21 @@
local.Git(self.path).remote().pull_requests.get(1).close()
self.assertFalse(local.Git(self.path).remote().pull_requests.get(1).opened)
- with OutputCapture() as captured, MockTerminal.input('n'):
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('n'):
repo.staged['added.txt'] = 'diff'
self.assertEqual(0, program.main(
- args=('pull-request',),
+ args=('pull-request', '-v'),
path=self.path,
))
self.assertTrue(local.Git(self.path).remote().pull_requests.get(1).opened)
+ self.assertEqual(
+ captured.stdout.getvalue(),
+ "'eng/pr-branch' is already associated with 'PR 1 | Created commit', which is closed.\n"
+ 'Would you like to create a new pull-request? (Yes/[No]): \n'
+ "Updated 'PR 1 | Amended commit'!\n",
+ )
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -403,21 +415,25 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'fork'...",
"Updating pull-request for 'eng/pr-branch'...",
- "Updated 'PR 1 | Amended commit'!",
],
)
def test_bitbucket(self):
- with OutputCapture() as captured, mocks.remote.BitBucket() as remote, mocks.local.Git(self.path, remote='ssh://git@{}/{}/{}.git'.format(
+ with OutputCapture(level=logging.INFO) as captured, mocks.remote.BitBucket() as remote, mocks.local.Git(self.path, remote='ssh://git@{}/{}/{}.git'.format(
remote.hosts[0], remote.project.split('/')[1], remote.project.split('/')[3],
)) as repo, mocks.local.Svn():
repo.staged['added.txt'] = 'added'
self.assertEqual(0, program.main(
- args=('pull-request', '-i', 'pr-branch'),
+ args=('pull-request', '-i', 'pr-branch', '-v'),
path=self.path,
))
+ self.assertEqual(
+ captured.stdout.getvalue(),
+ "Created the local development branch 'eng/pr-branch'!\n"
+ "Created 'PR 1 | Created commit'!\n",
+ )
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -430,7 +446,6 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'origin'...",
"Creating pull-request for 'eng/pr-branch'...",
- "Created 'PR 1 | Created commit'!",
],
)
@@ -445,13 +460,14 @@
path=self.path,
))
- with OutputCapture() as captured:
+ with OutputCapture(level=logging.INFO) as captured:
repo.staged['added.txt'] = 'diff'
self.assertEqual(0, program.main(
- args=('pull-request',),
+ args=('pull-request', '-v'),
path=self.path,
))
+ self.assertEqual(captured.stdout.getvalue(), "Updated 'PR 1 | Amended commit'!\n")
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -463,7 +479,6 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'origin'...",
"Updating pull-request for 'eng/pr-branch'...",
- "Updated 'PR 1 | Amended commit'!",
],
)
@@ -481,15 +496,21 @@
local.Git(self.path).remote().pull_requests.get(1).close()
self.assertFalse(local.Git(self.path).remote().pull_requests.get(1).opened)
- with OutputCapture() as captured, MockTerminal.input('n'):
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('n'):
repo.staged['added.txt'] = 'diff'
self.assertEqual(0, program.main(
- args=('pull-request',),
+ args=('pull-request', '-v'),
path=self.path,
))
self.assertTrue(local.Git(self.path).remote().pull_requests.get(1).opened)
+ self.assertEqual(
+ captured.stdout.getvalue(),
+ "'eng/pr-branch' is already associated with 'PR 1 | Created commit', which is closed.\n"
+ 'Would you like to create a new pull-request? (Yes/[No]): \n'
+ "Updated 'PR 1 | Amended commit'!\n",
+ )
self.assertEqual(captured.stderr.getvalue(), '')
log = captured.root.log.getvalue().splitlines()
self.assertEqual(
@@ -501,7 +522,6 @@
" Found 1 commit...",
"Pushing 'eng/pr-branch' to 'origin'...",
"Updating pull-request for 'eng/pr-branch'...",
- "Updated 'PR 1 | Amended commit'!",
],
)
Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py (286294 => 286295)
--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py 2021-11-30 15:00:09 UTC (rev 286294)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py 2021-11-30 15:24:09 UTC (rev 286295)
@@ -20,6 +20,7 @@
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+import logging
import os
import sys
@@ -37,17 +38,17 @@
os.mkdir(os.path.join(self.path, '.svn'))
def test_svn(self):
- with OutputCapture() as captured, mocks.local.Git(), mocks.local.Svn(self.path):
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(), mocks.local.Svn(self.path):
self.assertEqual(1, program.main(
- args=('setup',),
+ args=('setup', '-v'),
path=self.path,
))
self.assertEqual(captured.stderr.getvalue(), 'No setup required for {}\n'.format(self.path))
def test_github(self):
- with OutputCapture() as captured, MockTerminal.input('y'), mocks.remote.GitHub() as remote:
+ with OutputCapture(level=logging.INFO) as captured, MockTerminal.input('y'), mocks.remote.GitHub() as remote:
self.assertEqual(0, program.main(
- args=('-C', 'https://{}'.format(remote.remote), 'setup'),
+ args=('-C', 'https://{}'.format(remote.remote), 'setup', '-v'),
path=self.path,
))
@@ -63,9 +64,9 @@
)
def test_git(self):
- with OutputCapture() as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
+ with OutputCapture(level=logging.INFO) as captured, mocks.local.Git(self.path) as repo, mocks.local.Svn():
self.assertEqual(0, program.main(
- args=('setup', '--defaults'),
+ args=('setup', '--defaults', '-v'),
path=self.path,
))
@@ -94,7 +95,7 @@
)
def test_github_checkout(self):
- with OutputCapture() as captured, mocks.remote.GitHub() as remote, \
+ with OutputCapture(level=logging.INFO) as captured, mocks.remote.GitHub() as remote, \
MockTerminal.input('n', '[email protected]', 'n', 'Committer', 'n', '1', 'y', 'y'), \
mocks.local.Git(self.path, remote='https://{}.git'.format(remote.remote)) as repo:
@@ -101,7 +102,7 @@
self.assertEqual('https://github.example.com/WebKit/WebKit.git', local.Git(self.path).url())
self.assertEqual(0, program.main(
- args=('setup',),
+ args=('setup', '-v'),
path=self.path,
))
@@ -154,9 +155,9 @@
)
def test_commit_message(self):
- with OutputCapture(), mocks.local.Git(self.path) as git, mocks.local.Svn():
+ with OutputCapture(level=logging.INFO), mocks.local.Git(self.path) as git, mocks.local.Svn():
self.assertEqual(0, program.main(
- args=('setup', '--defaults'),
+ args=('setup', '--defaults', '-v'),
path=self.path,
hooks=os.path.join(os.path.abspath(os.path.dirname(__file__)), 'hooks')
))