mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
binman: Move capture_sys_output() to test_util
This function is useful in various tests. Move it into the common test utility module. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
ba765217ed
commit
c3f9454103
3 changed files with 24 additions and 21 deletions
|
@ -4,33 +4,15 @@
|
|||
#
|
||||
# Test for the elf module
|
||||
|
||||
from contextlib import contextmanager
|
||||
import os
|
||||
import sys
|
||||
import unittest
|
||||
|
||||
try:
|
||||
from StringIO import StringIO
|
||||
except ImportError:
|
||||
from io import StringIO
|
||||
|
||||
import elf
|
||||
import test_util
|
||||
|
||||
binman_dir = os.path.dirname(os.path.realpath(sys.argv[0]))
|
||||
|
||||
# Use this to suppress stdout/stderr output:
|
||||
# with capture_sys_output() as (stdout, stderr)
|
||||
# ...do something...
|
||||
@contextmanager
|
||||
def capture_sys_output():
|
||||
capture_out, capture_err = StringIO(), StringIO()
|
||||
old_out, old_err = sys.stdout, sys.stderr
|
||||
try:
|
||||
sys.stdout, sys.stderr = capture_out, capture_err
|
||||
yield capture_out, capture_err
|
||||
finally:
|
||||
sys.stdout, sys.stderr = old_out, old_err
|
||||
|
||||
|
||||
class FakeEntry:
|
||||
def __init__(self, contents_size):
|
||||
|
@ -110,7 +92,7 @@ class TestElf(unittest.TestCase):
|
|||
entry = FakeEntry(20)
|
||||
section = FakeSection()
|
||||
elf_fname = os.path.join(binman_dir, 'test', 'u_boot_binman_syms')
|
||||
with capture_sys_output() as (stdout, stderr):
|
||||
with test_util.capture_sys_output() as (stdout, stderr):
|
||||
syms = elf.LookupAndWriteSymbols(elf_fname, entry, section)
|
||||
elf.debug = False
|
||||
self.assertTrue(len(stdout.getvalue()) > 0)
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
import unittest
|
||||
|
||||
from image import Image
|
||||
from elf_test import capture_sys_output
|
||||
from test_util import capture_sys_output
|
||||
|
||||
class TestImage(unittest.TestCase):
|
||||
def testInvalidFormat(self):
|
||||
|
|
|
@ -3,12 +3,19 @@
|
|||
# Copyright (c) 2016 Google, Inc
|
||||
#
|
||||
|
||||
from contextlib import contextmanager
|
||||
import glob
|
||||
import os
|
||||
import sys
|
||||
|
||||
import command
|
||||
|
||||
try:
|
||||
from StringIO import StringIO
|
||||
except ImportError:
|
||||
from io import StringIO
|
||||
|
||||
|
||||
def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None):
|
||||
"""Run tests and check that we get 100% coverage
|
||||
|
||||
|
@ -62,3 +69,17 @@ def RunTestCoverage(prog, filter_fname, exclude_list, build_dir, required=None):
|
|||
ok = False
|
||||
if not ok:
|
||||
raise ValueError('Test coverage failure')
|
||||
|
||||
|
||||
# Use this to suppress stdout/stderr output:
|
||||
# with capture_sys_output() as (stdout, stderr)
|
||||
# ...do something...
|
||||
@contextmanager
|
||||
def capture_sys_output():
|
||||
capture_out, capture_err = StringIO(), StringIO()
|
||||
old_out, old_err = sys.stdout, sys.stderr
|
||||
try:
|
||||
sys.stdout, sys.stderr = capture_out, capture_err
|
||||
yield capture_out, capture_err
|
||||
finally:
|
||||
sys.stdout, sys.stderr = old_out, old_err
|
||||
|
|
Loading…
Reference in a new issue