mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-25 06:00:43 +00:00
buildman: Split out testOutput() into separate functions
We want to add a few more tests similar to testOutput(). Split its logic into a function which runs buildman to get the output and another which checks the output. This will make it easier to reuse the code. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
af43065f8d
commit
ce558db34b
1 changed files with 28 additions and 6 deletions
|
@ -178,10 +178,17 @@ class TestBuild(unittest.TestCase):
|
||||||
expect += col.Color(expected_colour, ' %s' % board)
|
expect += col.Color(expected_colour, ' %s' % board)
|
||||||
self.assertEqual(text, expect)
|
self.assertEqual(text, expect)
|
||||||
|
|
||||||
def testOutput(self):
|
def _SetupTest(self, echo_lines=False, **kwdisplay_args):
|
||||||
"""Test basic builder operation and output
|
"""Set up the test by running a build and summary
|
||||||
|
|
||||||
This does a line-by-line verification of the summary output.
|
Args:
|
||||||
|
echo_lines: True to echo lines to the terminal to aid test
|
||||||
|
development
|
||||||
|
kwdisplay_args: Dict of arguemnts to pass to
|
||||||
|
Builder.SetDisplayOptions()
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
Iterator containing the output lines, each a PrintLine() object
|
||||||
"""
|
"""
|
||||||
build = builder.Builder(self.toolchains, self.base_dir, None, 1, 2,
|
build = builder.Builder(self.toolchains, self.base_dir, None, 1, 2,
|
||||||
checkout=False, show_unknown=False)
|
checkout=False, show_unknown=False)
|
||||||
|
@ -201,11 +208,18 @@ class TestBuild(unittest.TestCase):
|
||||||
# We should get two starting messages, then an update for every commit
|
# We should get two starting messages, then an update for every commit
|
||||||
# built.
|
# built.
|
||||||
self.assertEqual(count, len(commits) * len(boards) + 2)
|
self.assertEqual(count, len(commits) * len(boards) + 2)
|
||||||
build.SetDisplayOptions(show_errors=True);
|
build.SetDisplayOptions(**kwdisplay_args);
|
||||||
build.ShowSummary(self.commits, board_selected)
|
build.ShowSummary(self.commits, board_selected)
|
||||||
#terminal.EchoPrintTestLines()
|
if echo_lines:
|
||||||
lines = iter(terminal.GetPrintTestLines())
|
terminal.EchoPrintTestLines()
|
||||||
|
return iter(terminal.GetPrintTestLines())
|
||||||
|
|
||||||
|
def _CheckOutput(self, lines):
|
||||||
|
"""Check for expected output from the build summary
|
||||||
|
|
||||||
|
Args:
|
||||||
|
lines: Iterator containing the lines returned from the summary
|
||||||
|
"""
|
||||||
# Upstream commit: no errors
|
# Upstream commit: no errors
|
||||||
self.assertEqual(next(lines).text, '01: %s' % commits[0][1])
|
self.assertEqual(next(lines).text, '01: %s' % commits[0][1])
|
||||||
|
|
||||||
|
@ -320,6 +334,14 @@ class TestBuild(unittest.TestCase):
|
||||||
'\n'.join(expect).replace('\n', '\nw+'))
|
'\n'.join(expect).replace('\n', '\nw+'))
|
||||||
self.assertEqual(line.colour, col.MAGENTA)
|
self.assertEqual(line.colour, col.MAGENTA)
|
||||||
|
|
||||||
|
def testOutput(self):
|
||||||
|
"""Test basic builder operation and output
|
||||||
|
|
||||||
|
This does a line-by-line verification of the summary output.
|
||||||
|
"""
|
||||||
|
lines = self._SetupTest(show_errors=True)
|
||||||
|
self._CheckOutput(lines)
|
||||||
|
|
||||||
def _testGit(self):
|
def _testGit(self):
|
||||||
"""Test basic builder operation by building a branch"""
|
"""Test basic builder operation by building a branch"""
|
||||||
options = Options()
|
options = Options()
|
||||||
|
|
Loading…
Reference in a new issue