]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
test: print: Fix hexdump test on 64bit systems
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Fri, 25 Aug 2023 08:19:40 +0000 (10:19 +0200)
committerTom Rini <trini@konsulko.com>
Wed, 6 Sep 2023 17:51:19 +0000 (13:51 -0400)
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>
Reviewed-by: Simon Glass <sjg@chromium.org>
test/print_ut.c

index 47a6ce578405046934208b5ad16fdc71035a208e..b26f6281b0136008a6125cec5a2795a6bfed17b6 100644 (file)
@@ -283,16 +283,21 @@ 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 +305,39 @@ 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 +350,8 @@ 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);