|
@@ -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)
|