diff mbox series

test: print: Fix hexdump test on 64bit systems

Message ID 20230823193815.64213-1-marek.vasut+renesas@mailbox.org
State Superseded
Delegated to: Tom Rini
Headers show
Series test: print: Fix hexdump test on 64bit systems | expand

Commit Message

Marek Vasut Aug. 23, 2023, 7:38 p.m. UTC
Use the following regex to make this test compatible with
both 32bit and 64bit systems. The trick is to use %0*lx
format string for the address prefix in the test.

"
s@\(ut_assert_nextline("\)0\+\([^:]\+\)\(:.*"\)\();\)@\1%0*lx\3, IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x\2UL\4
"

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
---
Cc: Mario Six <mario.six@gdsys.cc>
Cc: Simon Glass <sjg@chromium.org>
---
 test/print_ut.c | 28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

Comments

Simon Glass Aug. 23, 2023, 11:57 p.m. UTC | #1
Hi Marek,

On Wed, 23 Aug 2023 at 13:38, Marek Vasut
<marek.vasut+renesas@mailbox.org> wrote:
>
> Use the following regex to make this test compatible with
> both 32bit and 64bit systems. The trick is to use %0*lx
> format string for the address prefix in the test.
>
> "
> s@\(ut_assert_nextline("\)0\+\([^:]\+\)\(:.*"\)\();\)@\1%0*lx\3, IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x\2UL\4
> "
>
> Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
> ---
> Cc: Mario Six <mario.six@gdsys.cc>
> Cc: Simon Glass <sjg@chromium.org>
> ---
>  test/print_ut.c | 28 ++++++++++++++--------------
>  1 file changed, 14 insertions(+), 14 deletions(-)
>
> diff --git a/test/print_ut.c b/test/print_ut.c
> index 47a6ce57840..0a994a05cf6 100644
> --- a/test/print_ut.c
> +++ b/test/print_ut.c
> @@ -283,16 +283,16 @@ static int print_do_hex_dump(struct unit_test_state *uts)
>         /* bytes */
>         console_record_reset();
>         print_hex_dump_bytes("", DUMP_PREFIX_ADDRESS, buf, 0x12);
> -       ut_assert_nextline("00000000: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff  ..\"3DUfw........");
> -       ut_assert_nextline("00000010: 10 00                                            ..");
> +       ut_assert_nextline("%0*lx: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);

Can you put the arg on the next line and perhaps put it at the top of
the file as a #define ?

> +       ut_assert_nextline("%0*lx: 10 00                                            ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
>         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_nextline("%0*lx: 00 11 22 33 44 55 66 77  ..\"3DUfw", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
> +       ut_assert_nextline("%0*lx: 88 99 aa bb cc dd ee ff  ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x8UL);
> +       ut_assert_nextline("%0*lx: 10 00                    ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
>         ut_assert_console_end();
>         unmap_sysmem(buf);
>
> @@ -300,31 +300,31 @@ static int print_do_hex_dump(struct unit_test_state *uts)
>         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_nextline("%0*lx: 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........................................................", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
> +       ut_assert_nextline("%0*lx: 00 41                                                                                                                                                                                            .A", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x40UL);
>         ut_assert_console_end();
>
>         /* 16-bit */
>         console_record_reset();
>         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_nextline("%0*lx: 1100 3322 5544 7766 9988 bbaa ddcc ffee  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
> +       ut_assert_nextline("%0*lx: 0010                                     ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
>         ut_assert_console_end();
>         unmap_sysmem(buf);
>
>         /* 32-bit */
>         console_record_reset();
>         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_nextline("%0*lx: 33221100 77665544 bbaa9988 ffeeddcc  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
> +       ut_assert_nextline("%0*lx: 00000010                             ....", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
>         ut_assert_console_end();
>         unmap_sysmem(buf);
>
>         /* 64-bit */
>         console_record_reset();
>         print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 8, buf, 0x18, true);
> -       ut_assert_nextline("00000000: 7766554433221100 ffeeddccbbaa9988  ..\"3DUfw........");
> -       ut_assert_nextline("00000010: 0000000000000010                   ........");
> +       ut_assert_nextline("%0*lx: 7766554433221100 ffeeddccbbaa9988  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
> +       ut_assert_nextline("%0*lx: 0000000000000010                   ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
>         ut_assert_console_end();
>         unmap_sysmem(buf);
>
> @@ -337,7 +337,7 @@ static int print_do_hex_dump(struct unit_test_state *uts)
>                 buf[4 + i] = 126 + i;
>         buf[8] = 255;
>         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_nextline("%0*lx: 00 1f 20 21 7e 7f 80 81 ff 99                    .. !~.....", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
>         ut_assert_console_end();
>         unmap_sysmem(buf);
>
> --
> 2.40.1
>

Regards,
Simon
diff mbox series

Patch

diff --git a/test/print_ut.c b/test/print_ut.c
index 47a6ce57840..0a994a05cf6 100644
--- a/test/print_ut.c
+++ b/test/print_ut.c
@@ -283,16 +283,16 @@  static int print_do_hex_dump(struct unit_test_state *uts)
 	/* bytes */
 	console_record_reset();
 	print_hex_dump_bytes("", DUMP_PREFIX_ADDRESS, buf, 0x12);
-	ut_assert_nextline("00000000: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff  ..\"3DUfw........");
-	ut_assert_nextline("00000010: 10 00                                            ..");
+	ut_assert_nextline("%0*lx: 00 11 22 33 44 55 66 77 88 99 aa bb cc dd ee ff  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 10 00                                            ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
 	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_nextline("%0*lx: 00 11 22 33 44 55 66 77  ..\"3DUfw", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 88 99 aa bb cc dd ee ff  ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x8UL);
+	ut_assert_nextline("%0*lx: 10 00                    ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
 	ut_assert_console_end();
 	unmap_sysmem(buf);
 
@@ -300,31 +300,31 @@  static int print_do_hex_dump(struct unit_test_state *uts)
 	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_nextline("%0*lx: 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........................................................", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 00 41                                                                                                                                                                                            .A", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x40UL);
 	ut_assert_console_end();
 
 	/* 16-bit */
 	console_record_reset();
 	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_nextline("%0*lx: 1100 3322 5544 7766 9988 bbaa ddcc ffee  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 0010                                     ..", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
 	ut_assert_console_end();
 	unmap_sysmem(buf);
 
 	/* 32-bit */
 	console_record_reset();
 	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_nextline("%0*lx: 33221100 77665544 bbaa9988 ffeeddcc  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 00000010                             ....", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
 	ut_assert_console_end();
 	unmap_sysmem(buf);
 
 	/* 64-bit */
 	console_record_reset();
 	print_hex_dump("", DUMP_PREFIX_ADDRESS, 16, 8, buf, 0x18, true);
-	ut_assert_nextline("00000000: 7766554433221100 ffeeddccbbaa9988  ..\"3DUfw........");
-	ut_assert_nextline("00000010: 0000000000000010                   ........");
+	ut_assert_nextline("%0*lx: 7766554433221100 ffeeddccbbaa9988  ..\"3DUfw........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
+	ut_assert_nextline("%0*lx: 0000000000000010                   ........", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x10UL);
 	ut_assert_console_end();
 	unmap_sysmem(buf);
 
@@ -337,7 +337,7 @@  static int print_do_hex_dump(struct unit_test_state *uts)
 		buf[4 + i] = 126 + i;
 	buf[8] = 255;
 	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_nextline("%0*lx: 00 1f 20 21 7e 7f 80 81 ff 99                    .. !~.....", IS_ENABLED(CONFIG_PHYS_64BIT) ? 16 : 8, 0x0UL);
 	ut_assert_console_end();
 	unmap_sysmem(buf);