patman: Fix remaining pylint3 warnings in func_test

This fixes all but the ones about too many variables/statements.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass 2020-10-29 21:46:15 -06:00
parent 366954fdd7
commit fca99117a5

View file

@ -4,6 +4,8 @@
# Copyright 2017 Google, Inc
#
"""Functional tests for checking that patman behaves correctly"""
import os
import re
import shutil
@ -27,6 +29,7 @@ except ModuleNotFoundError:
class TestFunctional(unittest.TestCase):
"""Functional tests for checking that patman behaves correctly"""
def setUp(self):
self.tmpdir = tempfile.mkdtemp(prefix='patman.')
self.gitdir = os.path.join(self.tmpdir, 'git')
@ -36,33 +39,69 @@ class TestFunctional(unittest.TestCase):
shutil.rmtree(self.tmpdir)
@staticmethod
def GetPath(fname):
def _get_path(fname):
"""Get the path to a test file
Args:
fname (str): Filename to obtain
Returns:
str: Full path to file in the test directory
"""
return os.path.join(os.path.dirname(os.path.realpath(sys.argv[0])),
'test', fname)
@classmethod
def GetText(self, fname):
return open(self.GetPath(fname), encoding='utf-8').read()
def _get_text(cls, fname):
"""Read a file as text
Args:
fname (str): Filename to read
Returns:
str: Contents of file
"""
return open(cls._get_path(fname), encoding='utf-8').read()
@classmethod
def GetPatchName(self, subject):
def _get_patch_name(cls, subject):
"""Get the filename of a patch given its subject
Args:
subject (str): Patch subject
Returns:
str: Filename for that patch
"""
fname = re.sub('[ :]', '-', subject)
return fname.replace('--', '-')
def CreatePatchesForTest(self, series):
def _create_patches_for_test(self, series):
"""Create patch files for use by tests
This copies patch files from the test directory as needed by the series
Args:
series (Series): Series containing commits to convert
Returns:
tuple:
str: Cover-letter filename, or None if none
fname_list: list of str, each a patch filename
"""
cover_fname = None
fname_list = []
for i, commit in enumerate(series.commits):
clean_subject = self.GetPatchName(commit.subject)
clean_subject = self._get_patch_name(commit.subject)
src_fname = '%04d-%s.patch' % (i + 1, clean_subject[:52])
fname = os.path.join(self.tmpdir, src_fname)
shutil.copy(self.GetPath(src_fname), fname)
shutil.copy(self._get_path(src_fname), fname)
fname_list.append(fname)
if series.get('cover'):
src_fname = '0000-cover-letter.patch'
cover_fname = os.path.join(self.tmpdir, src_fname)
fname = os.path.join(self.tmpdir, src_fname)
shutil.copy(self.GetPath(src_fname), fname)
shutil.copy(self._get_path(src_fname), fname)
return cover_fname, fname_list
@ -137,7 +176,8 @@ class TestFunctional(unittest.TestCase):
stefan = b'Stefan Br\xc3\xbcns <stefan.bruens@rwth-aachen.de>'.decode('utf-8')
rick = 'Richard III <richard@palace.gov>'
mel = b'Lord M\xc3\xablchett <clergy@palace.gov>'.decode('utf-8')
ed = b'Lond Edmund Blackadd\xc3\xabr <weasel@blackadder.org'.decode('utf-8')
leb = (b'Lond Edmund Blackadd\xc3\xabr <weasel@blackadder.org'.
decode('utf-8'))
fred = 'Fred Bloggs <f.bloggs@napier.net>'
add_maintainers = [stefan, rick]
dry_run = True
@ -146,13 +186,13 @@ class TestFunctional(unittest.TestCase):
settings.alias = {
'fdt': ['simon'],
'u-boot': ['u-boot@lists.denx.de'],
'simon': [ed],
'simon': [leb],
'fred': [fred],
}
text = self.GetText('test01.txt')
text = self._get_text('test01.txt')
series = patchstream.GetMetaDataForTest(text)
cover_fname, args = self.CreatePatchesForTest(series)
cover_fname, args = self._create_patches_for_test(series)
with capture_sys_output() as out:
patchstream.FixPatches(series, args)
if cover_fname and series.get('cover'):
@ -177,7 +217,7 @@ class TestFunctional(unittest.TestCase):
self.assertIn('Dry run', lines[5])
self.assertIn('Send a total of %d patches' % count, lines[7])
line = 8
for i, commit in enumerate(series.commits):
for i in range(len(series.commits)):
self.assertEqual(' %s' % args[i], lines[line + 0])
line += 1
while 'Cc:' in lines[line]:
@ -190,7 +230,7 @@ class TestFunctional(unittest.TestCase):
self.assertEqual('Cover: 4 lines', lines[line + 4])
line += 5
self.assertEqual(' Cc: %s' % fred, lines[line + 0])
self.assertEqual(' Cc: %s' % tools.FromUnicode(ed),
self.assertEqual(' Cc: %s' % tools.FromUnicode(leb),
lines[line + 1])
self.assertEqual(' Cc: %s' % tools.FromUnicode(mel),
lines[line + 2])
@ -206,7 +246,7 @@ class TestFunctional(unittest.TestCase):
self.assertEqual(('%s %s\0%s' % (args[0], rick, stefan)),
tools.ToUnicode(cc_lines[0]))
self.assertEqual(
'%s %s\0%s\0%s\0%s' % (args[1], fred, ed, rick, stefan),
'%s %s\0%s\0%s\0%s' % (args[1], fred, leb, rick, stefan),
tools.ToUnicode(cc_lines[1]))
expected = '''
@ -311,7 +351,7 @@ Changes in v2:
'second' has base as upstream and three more: video, serial, bootm
Returns:
pygit2 repository
pygit2.Repository: repository
"""
repo = pygit2.init_repository(self.gitdir)
self.repo = repo
@ -319,8 +359,8 @@ Changes in v2:
author = pygit2.Signature('Test user', 'test@email.com')
committer = author
commit = repo.create_commit('HEAD', author, committer,
'Created master', new_tree, [])
_ = repo.create_commit('HEAD', author, committer, 'Created master',
new_tree, [])
self.make_commit_with_file('Initial commit', '''
Add a README