]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
efi_selftest: Add geometric shapes character selftest
authorJanne Grunau <j@jannau.net>
Sat, 16 Mar 2024 21:50:23 +0000 (22:50 +0100)
committerHeinrich Schuchardt <heinrich.schuchardt@canonical.com>
Thu, 21 Mar 2024 05:56:13 +0000 (06:56 +0100)
Draw symbols from Unicode's "Geometric shapes" page which translate to
code page 437 code points 1-31. These are used by UEFI applications to
draw user interfaces using EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.
The output has to be checked manually on the screen for correctness.

Signed-off-by: Janne Grunau <j@jannau.net>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
lib/efi_selftest/efi_selftest_textoutput.c

index 889b2678ff55d81d2b60781a320d06b07c57942a..a3023c82567ca817001856d26ccf9fbc2a46a399 100644 (file)
@@ -60,6 +60,13 @@ static int execute(void)
                u"\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"
                u"\u2500\u2500\u2500\u2500\u2518\n";
 
+       const u16 shapes[] =
+               u"Geometric shapes as described\n"
+               u"U+25B2 \u25B2 - Black up-pointing triangle\n"
+               u"U+25BA \u25BA - Black right-pointing pointer\n"
+               u"U+25BC \u25BC - Black down-pointing triangle\n"
+               u"U+25C4 \u25C4 - Black left-pointing pointer\n";
+
        /* SetAttribute */
        efi_st_printf("\nColor palette\n");
        for (foreground = 0; foreground < 0x10; ++foreground) {
@@ -160,6 +167,12 @@ static int execute(void)
                return EFI_ST_FAILURE;
        }
        efi_st_printf("\n");
+       ret = con_out->output_string(con_out, shapes);
+       if (ret != EFI_ST_SUCCESS) {
+               efi_st_error("OutputString failed for geometric shapes\n");
+               return EFI_ST_FAILURE;
+       }
+       efi_st_printf("\n");
 
        return EFI_ST_SUCCESS;
 }