summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-12-29 06:34:49 +0300
committerSimon Glass <sjg@chromium.org>2021-01-05 22:26:35 +0300
commitde846cbb307486a1533dcf4d5c28568412149ddb (patch)
treeb7ce16bdefa75178bf34d2566eae63a1ccba1eb0 /tools
parentf62cea0e205c905632be3aefa82b10ef36ce8a25 (diff)
downloadu-boot-de846cbb307486a1533dcf4d5c28568412149ddb.tar.xz
dtoc: Test the stdout output
Normally dtoc outputs to a file but it also offers a way to write output to stdout. At present the test for that does not actually check that the output is correct. Add this to the test. This uses a member variable to hold the expected text, so it can be used in muitiple places. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'tools')
-rwxr-xr-xtools/dtoc/test_dtoc.py37
1 files changed, 22 insertions, 15 deletions
diff --git a/tools/dtoc/test_dtoc.py b/tools/dtoc/test_dtoc.py
index 41a10eb400..7cf2a5187c 100755
--- a/tools/dtoc/test_dtoc.py
+++ b/tools/dtoc/test_dtoc.py
@@ -188,14 +188,7 @@ class TestDtoc(unittest.TestCase):
self.assertEqual(C_HEADER.splitlines() + [''] +
C_EMPTY_POPULATE_PHANDLE_DATA.splitlines(), lines)
- def test_simple(self):
- """Test output from some simple nodes with various types of data"""
- dtb_file = get_dtb_file('dtoc_test_simple.dts')
- output = tools.GetOutputFilename('output')
- self.run_test(['struct'], dtb_file, output)
- with open(output) as infile:
- data = infile.read()
- self._check_strings(HEADER + '''
+ struct_text = HEADER + '''
struct dtd_sandbox_i2c_test {
};
struct dtd_sandbox_pmic_test {
@@ -214,12 +207,9 @@ struct dtd_sandbox_spl_test {
\tconst char *\tstringarray[3];
\tconst char *\tstringval;
};
-''', data)
+'''
- self.run_test(['platdata'], dtb_file, output)
- with open(output) as infile:
- data = infile.read()
- self._check_strings(C_HEADER + '''
+ platdata_text = C_HEADER + '''
/* Node /i2c@0 index 0 */
static struct dtd_sandbox_i2c_test dtv_i2c_at_0 = {
};
@@ -294,7 +284,23 @@ U_BOOT_DEVICE(spl_test3) = {
\t.parent_idx\t= -1,
};
-''' + C_EMPTY_POPULATE_PHANDLE_DATA, data)
+''' + C_EMPTY_POPULATE_PHANDLE_DATA
+
+ def test_simple(self):
+ """Test output from some simple nodes with various types of data"""
+ dtb_file = get_dtb_file('dtoc_test_simple.dts')
+ output = tools.GetOutputFilename('output')
+ self.run_test(['struct'], dtb_file, output)
+ with open(output) as infile:
+ data = infile.read()
+
+ self._check_strings(self.struct_text, data)
+
+ self.run_test(['platdata'], dtb_file, output)
+ with open(output) as infile:
+ data = infile.read()
+
+ self._check_strings(self.platdata_text, data)
def test_driver_alias(self):
"""Test output from a device tree file with a driver alias"""
@@ -874,8 +880,9 @@ U_BOOT_DEVICE(spl_test2) = {
def test_stdout(self):
"""Test output to stdout"""
dtb_file = get_dtb_file('dtoc_test_simple.dts')
- with test_util.capture_sys_output() as _:
+ with test_util.capture_sys_output() as (stdout, _):
self.run_test(['struct'], dtb_file, None)
+ self._check_strings(self.struct_text, stdout.getvalue())
def test_no_command(self):
"""Test running dtoc without a command"""