Convert this file to snake case and update all files which use it.
Signed-off-by: Simon Glass <sjg@chromium.org>
from patman import command
from patman import gitutil
from patman import terminal
-from patman.terminal import Tprint
+from patman.terminal import tprint
# This indicates an new int or hex Kconfig property with no default
# It hangs the build since the 'conf' tool cannot proceed without valid input.
if result.already_done:
self.already_done += 1
if self._verbose:
- terminal.PrintClear()
+ terminal.print_clear()
boards_selected = {target : result.brd}
self.ResetResultSummary(boards_selected)
self.ProduceResultSummary(result.commit_upto, self.commits,
line += '%s : ' % self._complete_delay
line += target
- terminal.PrintClear()
- Tprint(line, newline=False, limit_to_line=True)
+ terminal.print_clear()
+ tprint(line, newline=False, limit_to_line=True)
def _GetOutputDir(self, commit_upto):
"""Get the name of the output directory for a commit number
if line.strip():
size, type, name = line[:-1].split()
except:
- Tprint("Invalid line in file '%s': '%s'" % (fname, line[:-1]))
+ tprint("Invalid line in file '%s': '%s'" % (fname, line[:-1]))
continue
if type in 'tTdDbB':
# function names begin with '.' on 64-bit powerpc
return
args = [self.ColourNum(x) for x in args]
indent = ' ' * 15
- Tprint('%s%s: add: %s/%s, grow: %s/%s bytes: %s/%s (%s)' %
+ tprint('%s%s: add: %s/%s, grow: %s/%s bytes: %s/%s (%s)' %
tuple([indent, self.col.build(self.col.YELLOW, fname)] + args))
- Tprint('%s %-38s %7s %7s %+7s' % (indent, 'function', 'old', 'new',
+ tprint('%s %-38s %7s %7s %+7s' % (indent, 'function', 'old', 'new',
'delta'))
for diff, name in delta:
if diff:
color = self.col.RED if diff > 0 else self.col.GREEN
msg = '%s %-38s %7s %7s %+7d' % (indent, name,
old.get(name, '-'), new.get(name,'-'), diff)
- Tprint(msg, colour=color)
+ tprint(msg, colour=color)
def PrintSizeDetail(self, target_list, show_bloat):
color = self.col.RED if diff > 0 else self.col.GREEN
msg = ' %s %+d' % (name, diff)
if not printed_target:
- Tprint('%10s %-15s:' % ('', result['_target']),
+ tprint('%10s %-15s:' % ('', result['_target']),
newline=False)
printed_target = True
- Tprint(msg, colour=color, newline=False)
+ tprint(msg, colour=color, newline=False)
if printed_target:
- Tprint()
+ tprint()
if show_bloat:
target = result['_target']
outcome = result['_outcome']
color = self.col.RED if avg_diff > 0 else self.col.GREEN
msg = ' %s %+1.1f' % (name, avg_diff)
if not printed_arch:
- Tprint('%10s: (for %d/%d boards)' % (arch, count,
+ tprint('%10s: (for %d/%d boards)' % (arch, count,
arch_count[arch]), newline=False)
printed_arch = True
- Tprint(msg, colour=color, newline=False)
+ tprint(msg, colour=color, newline=False)
if printed_arch:
- Tprint()
+ tprint()
if show_detail:
self.PrintSizeDetail(target_list, show_bloat)
col = self.col.RED
elif line[0] == 'c':
col = self.col.YELLOW
- Tprint(' ' + line, newline=True, colour=col)
+ tprint(' ' + line, newline=True, colour=col)
def _OutputErrLines(err_lines, colour):
"""Output the line of error/warning lines, if not empty
else:
out = self.col.build(colour, line.char + line.errline)
out_list.append(out)
- Tprint('\n'.join(out_list))
+ tprint('\n'.join(out_list))
self._error_lines += 1
self.AddOutcome(board_selected, arch_list, unknown_boards, '?',
self.col.MAGENTA)
for arch, target_list in arch_list.items():
- Tprint('%10s: %s' % (arch, target_list))
+ tprint('%10s: %s' % (arch, target_list))
self._error_lines += 1
_OutputErrLines(better_err, colour=self.col.GREEN)
_OutputErrLines(worse_err, colour=self.col.RED)
_AddConfig(lines, 'all', all_plus, all_minus, all_change)
#arch_summary[target] = '\n'.join(lines)
if lines:
- Tprint('%s:' % arch)
+ tprint('%s:' % arch)
_OutputConfigInfo(lines)
for lines, targets in lines_by_target.items():
if not lines:
continue
- Tprint('%s :' % ' '.join(sorted(targets)))
+ tprint('%s :' % ' '.join(sorted(targets)))
_OutputConfigInfo(lines.split('\n'))
if not board in board_dict:
not_built.append(board)
if not_built:
- Tprint("Boards not built (%d): %s" % (len(not_built),
+ tprint("Boards not built (%d): %s" % (len(not_built),
', '.join(not_built)))
def ProduceResultSummary(self, commit_upto, commits, board_selected):
if commits:
msg = '%02d: %s' % (commit_upto + 1,
commits[commit_upto].subject)
- Tprint(msg, colour=self.col.BLUE)
+ tprint(msg, colour=self.col.BLUE)
self.PrintResultSummary(board_selected, board_dict,
err_lines if self._show_errors else [], err_line_boards,
warn_lines if self._show_errors else [], warn_line_boards,
for commit_upto in range(0, self.commit_count, self._step):
self.ProduceResultSummary(commit_upto, commits, board_selected)
if not self._error_lines:
- Tprint('(no errors to report)', colour=self.col.GREEN)
+ tprint('(no errors to report)', colour=self.col.GREEN)
def SetupBuild(self, board_selected, commits):
if os.path.isdir(git_dir):
# This is a clone of the src_dir repo, we can keep using
# it but need to fetch from src_dir.
- Tprint('\rFetching repo for thread %d' % thread_num,
+ tprint('\rFetching repo for thread %d' % thread_num,
newline=False)
gitutil.fetch(git_dir, thread_dir)
- terminal.PrintClear()
+ terminal.print_clear()
elif os.path.isfile(git_dir):
# This is a worktree of the src_dir repo, we don't need to
# create it again or update it in any way.
raise ValueError('Git dir %s exists, but is not a file '
'or a directory.' % git_dir)
elif setup_git == 'worktree':
- Tprint('\rChecking out worktree for thread %d' % thread_num,
+ tprint('\rChecking out worktree for thread %d' % thread_num,
newline=False)
gitutil.add_worktree(src_dir, thread_dir)
- terminal.PrintClear()
+ terminal.print_clear()
elif setup_git == 'clone' or setup_git == True:
- Tprint('\rCloning repo for thread %d' % thread_num,
+ tprint('\rCloning repo for thread %d' % thread_num,
newline=False)
gitutil.clone(src_dir, thread_dir)
- terminal.PrintClear()
+ terminal.print_clear()
else:
raise ValueError("Can't setup git repo with %s." % setup_git)
"""
to_remove = self._GetOutputSpaceRemovals()
if to_remove:
- Tprint('Removing %d old build directories...' % len(to_remove),
+ tprint('Removing %d old build directories...' % len(to_remove),
newline=False)
for dirname in to_remove:
shutil.rmtree(dirname)
- terminal.PrintClear()
+ terminal.print_clear()
def BuildBoards(self, commits, board_selected, keep_outputs, verbose):
"""Build all commits for a list of boards
self._PrepareWorkingSpace(min(self.num_threads, len(board_selected)),
commits is not None)
self._PrepareOutputSpace()
- Tprint('\rStarting build...', newline=False)
+ tprint('\rStarting build...', newline=False)
self.SetupBuild(board_selected, commits)
self.ProcessResult(None)
self.thread_exceptions = []
# Wait until we have processed all output
self.out_queue.join()
- Tprint()
+ tprint()
msg = 'Completed: %d total built' % self.count
if self.already_done:
duration = duration - timedelta(microseconds=duration.microseconds)
rate = float(self.count) / duration.total_seconds()
msg += ', duration %s, rate %1.2f' % (duration, rate)
- Tprint(msg)
+ tprint(msg)
if self.thread_exceptions:
- Tprint('Failed: %d thread exceptions' % len(self.thread_exceptions),
+ tprint('Failed: %d thread exceptions' % len(self.thread_exceptions),
colour=self.col.RED)
return (self.fail, self.warned, self.thread_exceptions)
from patman import patchstream
from patman import terminal
from patman import tools
-from patman.terminal import Tprint
+from patman.terminal import tprint
def GetPlural(count):
"""Returns a plural 's' if count is not 1"""
else:
commits = None
- Tprint(GetActionSummary(options.summary, commits, board_selected,
+ tprint(GetActionSummary(options.summary, commits, board_selected,
options))
# We can't show function sizes without board details at present
self._test_branch = TEST_BRANCH
# Avoid sending any output and clear all terminal output
- terminal.SetPrintTestMode()
- terminal.GetPrintTestLines()
+ terminal.set_print_test_mode()
+ terminal.get_print_test_lines()
def tearDown(self):
shutil.rmtree(self._base_dir)
print(len(lines))
for line in lines:
print(line)
- #self.print_lines(terminal.GetPrintTestLines())
+ #self.print_lines(terminal.get_print_test_lines())
def testNoBoards(self):
"""Test that buildman aborts when there are no boards"""
"""Very simple test to invoke buildman on the current source"""
self.setupToolchains();
self._RunControl('-o', self._output_dir)
- lines = terminal.GetPrintTestLines()
+ lines = terminal.get_print_test_lines()
self.assertIn('Building current source for %d boards' % len(boards),
lines[0].text)
"""Test that missing toolchains are detected"""
self.setupToolchains();
ret_code = self._RunControl('-b', TEST_BRANCH, '-o', self._output_dir)
- lines = terminal.GetPrintTestLines()
+ lines = terminal.get_print_test_lines()
# Buildman always builds the upstream commit as well
self.assertIn('Building %d commits for %d boards' %
self.toolchains.Add('gcc', test=False)
# Avoid sending any output
- terminal.SetPrintTestMode()
+ terminal.set_print_test_mode()
self._col = terminal.Color()
self.base_dir = tempfile.mkdtemp()
# associated with each. This calls our Make() to inject the fake output.
build.BuildBoards(self.commits, board_selected, keep_outputs=False,
verbose=False)
- lines = terminal.GetPrintTestLines()
+ lines = terminal.get_print_test_lines()
count = 0
for line in lines:
if line.text.strip():
build.SetDisplayOptions(**kwdisplay_args);
build.ShowSummary(self.commits, board_selected)
if echo_lines:
- terminal.EchoPrintTestLines()
- return iter(terminal.GetPrintTestLines())
+ terminal.echo_print_test_lines()
+ return iter(terminal.get_print_test_lines())
def _CheckOutput(self, lines, list_error_boards=False,
filter_dtb_warnings=False,
def tearDown(self):
shutil.rmtree(self.tmpdir)
- terminal.SetPrintTestMode(False)
+ terminal.set_print_test_mode(False)
@staticmethod
def _get_path(fname):
series = Series()
series.commits = [commit1, commit2]
- terminal.SetPrintTestMode()
+ terminal.set_print_test_mode()
status.check_patchwork_status(series, '1234', None, None, False, False,
None, self._fake_patchwork2)
- lines = iter(terminal.GetPrintTestLines())
+ lines = iter(terminal.get_print_test_lines())
col = terminal.Color()
self.assertEqual(terminal.PrintLine(' 1 Subject 1', col.BLUE),
next(lines))
# 4 responses added from patchwork into new branch 'first2'
# <unittest.result.TestResult run=8 errors=0 failures=0>
- terminal.SetPrintTestMode()
+ terminal.set_print_test_mode()
status.check_patchwork_status(series, '1234', branch, dest_branch,
False, False, None, self._fake_patchwork3,
repo)
- lines = terminal.GetPrintTestLines()
+ lines = terminal.get_print_test_lines()
self.assertEqual(12, len(lines))
self.assertEqual(
"4 responses added from patchwork into new branch 'first2'",
series = Series()
series.commits = [commit1, commit2]
- terminal.SetPrintTestMode()
+ terminal.set_print_test_mode()
status.check_patchwork_status(series, '1234', None, None, False, True,
None, self._fake_patchwork2)
- lines = iter(terminal.GetPrintTestLines())
+ lines = iter(terminal.get_print_test_lines())
col = terminal.Color()
self.assertEqual(terminal.PrintLine(' 1 Subject 1', col.BLUE),
next(lines))
args.dest_branch, args.force,
args.show_comments, args.patchwork_url)
except Exception as e:
- terminal.Tprint('patman: %s: %s' % (type(e).__name__, e),
+ terminal.tprint('patman: %s: %s' % (type(e).__name__, e),
colour=terminal.Color.RED)
if args.debug:
print()
for tag in sorted(rtags.keys()):
people = rtags[tag]
for who in sorted(people):
- terminal.Tprint(indent + '%s %s: ' % ('+' if is_new else ' ', tag),
+ terminal.tprint(indent + '%s %s: ' % ('+' if is_new else ' ', tag),
newline=False, colour=col.GREEN, bright=is_new)
- terminal.Tprint(who, colour=col.WHITE, bright=is_new)
+ terminal.tprint(who, colour=col.WHITE, bright=is_new)
count += 1
return count
patch = patch_for_commit.get(seq)
if not patch:
continue
- terminal.Tprint('%3d %s' % (patch.seq, patch.subject[:50]),
+ terminal.tprint('%3d %s' % (patch.seq, patch.subject[:50]),
colour=col.BLUE)
cmt = series.commits[seq]
base_rtags = cmt.rtags
num_to_add += show_responses(new_rtags, indent, True)
if show_comments:
for review in review_list[seq]:
- terminal.Tprint('Review: %s' % review.meta, colour=col.RED)
+ terminal.tprint('Review: %s' % review.meta, colour=col.RED)
for snippet in review.snippets:
for line in snippet:
quoted = line.startswith('>')
- terminal.Tprint(' %s' % line,
+ terminal.tprint(' %s' % line,
colour=col.MAGENTA if quoted else None)
- terminal.Tprint()
+ terminal.tprint()
- terminal.Tprint("%d new response%s available in patchwork%s" %
+ terminal.tprint("%d new response%s available in patchwork%s" %
(num_to_add, 's' if num_to_add != 1 else '',
'' if dest_branch
else ' (use -d to write them to a new branch)'))
if dest_branch:
num_added = create_branch(series, new_rtag_list, branch,
dest_branch, force, test_repo)
- terminal.Tprint(
+ terminal.tprint(
"%d response%s added from patchwork into new branch '%s'" %
(num_added, 's' if num_added != 1 else '', dest_branch))
(self.newline, self.colour, self.bright, self.text))
-def CalcAsciiLen(text):
+def calc_ascii_len(text):
"""Calculate the length of a string, ignoring any ANSI sequences
When displayed on a terminal, ANSI sequences don't take any space, so we
>>> text = col.build(Color.RED, 'abc')
>>> len(text)
14
- >>> CalcAsciiLen(text)
+ >>> calc_ascii_len(text)
3
>>>
>>> text += 'def'
- >>> CalcAsciiLen(text)
+ >>> calc_ascii_len(text)
6
>>> text += col.build(Color.RED, 'abc')
- >>> CalcAsciiLen(text)
+ >>> calc_ascii_len(text)
9
"""
result = ansi_escape.sub('', text)
return len(result)
-def TrimAsciiLen(text, size):
+def trim_ascii_len(text, size):
"""Trim a string containing ANSI sequences to the given ASCII length
The string is trimmed with ANSI sequences being ignored for the length
>>> text = col.build(Color.RED, 'abc')
>>> len(text)
14
- >>> CalcAsciiLen(TrimAsciiLen(text, 4))
+ >>> calc_ascii_len(trim_ascii_len(text, 4))
3
- >>> CalcAsciiLen(TrimAsciiLen(text, 2))
+ >>> calc_ascii_len(trim_ascii_len(text, 2))
2
>>> text += 'def'
- >>> CalcAsciiLen(TrimAsciiLen(text, 4))
+ >>> calc_ascii_len(trim_ascii_len(text, 4))
4
>>> text += col.build(Color.RED, 'ghi')
- >>> CalcAsciiLen(TrimAsciiLen(text, 7))
+ >>> calc_ascii_len(trim_ascii_len(text, 7))
7
"""
- if CalcAsciiLen(text) < size:
+ if calc_ascii_len(text) < size:
return text
pos = 0
out = ''
return out
-def Tprint(text='', newline=True, colour=None, limit_to_line=False, bright=True):
+def tprint(text='', newline=True, colour=None, limit_to_line=False, bright=True):
"""Handle a line of output to the terminal.
In test mode this is recorded in a list. Otherwise it is output to the
else:
if limit_to_line:
cols = shutil.get_terminal_size().columns
- text = TrimAsciiLen(text, cols)
+ text = trim_ascii_len(text, cols)
print(text, end='', flush=True)
- last_print_len = CalcAsciiLen(text)
+ last_print_len = calc_ascii_len(text)
-def PrintClear():
+def print_clear():
"""Clear a previously line that was printed with no newline"""
global last_print_len
print('\r%s\r' % (' '* last_print_len), end='', flush=True)
last_print_len = None
-def SetPrintTestMode(enable=True):
+def set_print_test_mode(enable=True):
"""Go into test mode, where all printing is recorded"""
global print_test_mode
print_test_mode = enable
- GetPrintTestLines()
+ get_print_test_lines()
-def GetPrintTestLines():
- """Get a list of all lines output through Tprint()
+def get_print_test_lines():
+ """Get a list of all lines output through tprint()
Returns:
A list of PrintLine objects
print_test_list = []
return ret
-def EchoPrintTestLines():
+def echo_print_test_lines():
"""Print out the text lines collected"""
for line in print_test_list:
if line.colour:
except:
self._enabled = False
- def Start(self, color, bright=True):
+ def start(self, color, bright=True):
"""Returns a start color code.
Args:
return base % (color + 30)
return ''
- def Stop(self):
+ def stop(self):
"""Returns a stop color code.
Returns: