summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-05-08 16:00:03 +0300
committerTom Rini <trini@konsulko.com>2021-06-08 18:39:09 +0300
commit5d6d2b88389a99c9e20618593e64a9dd74862c8a (patch)
treeec4b3d88f4d0f8b4a8b1060823a28ddb07ad72ea /test
parent19edf139e900ed61825b32bc7a261e5f6606b8b1 (diff)
downloadu-boot-5d6d2b88389a99c9e20618593e64a9dd74862c8a.tar.xz
hexdump: Support any rowsize
At present print_hex_dump() only supports either 16- or 32-byte lines. With U-Boot we want to support any line length up to a maximum of 64. Update the function to support this, with 0 defaulting to 16, as with print_buffer(). Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/print_ut.c23
1 files changed, 20 insertions, 3 deletions
diff --git a/test/print_ut.c b/test/print_ut.c
index b9c4b1142c..86b1a5477e 100644
--- a/test/print_ut.c
+++ b/test/print_ut.c
@@ -244,9 +244,26 @@ static int print_do_hex_dump(struct unit_test_state *uts)
ut_assert_nextline("00000010: 10 00 ..");
ut_assert_console_end();
+ /* line length */
+ console_record_reset();
+ print_hex_dump("", DUMP_PREFIX_ADDRESS, 8, 1, buf, 0x12, true);
+ ut_assert_nextline("00000000: 00 11 22 33 44 55 66 77 ..\"3DUfw");
+ ut_assert_nextline("00000008: 88 99 aa bb cc dd ee ff ........");
+ ut_assert_nextline("00000010: 10 00 ..");
+ ut_assert_console_end();
+ unmap_sysmem(buf);
+
+ /* long line */
+ console_record_reset();
+ buf[0x41] = 0x41;
+ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0x40, 1, buf, 0x42, true);
+ ut_assert_nextline("00000000: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..\"3DUfw........................................................");
+ ut_assert_nextline("00000040: 00 41 .A");
+ ut_assert_console_end();
+
/* 16-bit */
console_record_reset();
- print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 2, buf, 0x12, true);
+ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 2, buf, 0x12, true);
ut_assert_nextline("00000000: 1100 3322 5544 7766 9988 bbaa ddcc ffee ..\"3DUfw........");
ut_assert_nextline("00000010: 0010 ..");
ut_assert_console_end();
@@ -254,7 +271,7 @@ static int print_do_hex_dump(struct unit_test_state *uts)
/* 32-bit */
console_record_reset();
- print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 4, buf, 0x14, true);
+ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 4, buf, 0x14, true);
ut_assert_nextline("00000000: 33221100 77665544 bbaa9988 ffeeddcc ..\"3DUfw........");
ut_assert_nextline("00000010: 00000010 ....");
ut_assert_console_end();
@@ -276,7 +293,7 @@ static int print_do_hex_dump(struct unit_test_state *uts)
for (i = 0; i < 4; i++)
buf[4 + i] = 126 + i;
buf[8] = 255;
- print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 1, buf, 10, true);
+ print_hex_dump("", DUMP_PREFIX_ADDRESS, 0, 1, buf, 10, true);
ut_assert_nextline("00000000: 00 1f 20 21 7e 7f 80 81 ff 99 .. !~.....");
ut_assert_console_end();
unmap_sysmem(buf);