Re: [PATCH v7 10/10] video console: add 12x22 console simple font test

2023-03-02 Thread Dzmitry Sankouski
чт, 2 мар. 2023 г. в 01:20, Anatolij Gustschin :
>
> Hi Dzmitry,
>
> On Mon, 27 Feb 2023 20:37:10 +0300
> Dzmitry Sankouski dsankou...@gmail.com wrote:
>
> > Tests fonts wider than a byte.
> >
> > Signed-off-by: Dzmitry Sankouski 
> > Reviewed-by: Simon Glass 
> > ---
> > Changes for v2: N/A
> > Changes for v2: none
> > Charges for v4: N/A
> > Charges for v5: N/A
> > Charges for v6:
> > - rebase
> > - move sandbox defconfig change to separate patch
> > - run savedefconfig
> > Charges for v7: none
> >
> >  test/dm/video.c | 41 +
> >  1 file changed, 41 insertions(+)
>
> I've applied this patch series for build testing, this test fails:
>
>  https://source.denx.de/u-boot/custodians/u-boot-video/-/jobs/587666
>
> Could you please fix it? Thanks!
>
Seems like CONFIG_VIDEO_FONT_SUN12X22 should be enabled
somewhere


Re: [PATCH v7 10/10] video console: add 12x22 console simple font test

2023-03-01 Thread Anatolij Gustschin
Hi Dzmitry,

On Mon, 27 Feb 2023 20:37:10 +0300
Dzmitry Sankouski dsankou...@gmail.com wrote:

> Tests fonts wider than a byte.
> 
> Signed-off-by: Dzmitry Sankouski 
> Reviewed-by: Simon Glass 
> ---
> Changes for v2: N/A
> Changes for v2: none
> Charges for v4: N/A
> Charges for v5: N/A
> Charges for v6:
> - rebase
> - move sandbox defconfig change to separate patch
> - run savedefconfig
> Charges for v7: none
> 
>  test/dm/video.c | 41 +
>  1 file changed, 41 insertions(+)

I've applied this patch series for build testing, this test fails:

 https://source.denx.de/u-boot/custodians/u-boot-video/-/jobs/587666

Could you please fix it? Thanks!
 
--
Anatolij


[PATCH v7 10/10] video console: add 12x22 console simple font test

2023-02-27 Thread Dzmitry Sankouski
Tests fonts wider than a byte.

Signed-off-by: Dzmitry Sankouski 
Reviewed-by: Simon Glass 
---
Changes for v2: N/A
Changes for v2: none
Charges for v4: N/A
Charges for v5: N/A
Charges for v6:
- rebase
- move sandbox defconfig change to separate patch
- run savedefconfig
Charges for v7: none

 test/dm/video.c | 41 +
 1 file changed, 41 insertions(+)

diff --git a/test/dm/video.c b/test/dm/video.c
index 17a33cc7af..30778157d9 100644
--- a/test/dm/video.c
+++ b/test/dm/video.c
@@ -151,6 +151,8 @@ static int dm_test_video_text(struct unit_test_state *uts)
 
ut_assertok(select_vidconsole(uts, "vidconsole0"));
ut_assertok(video_get_nologo(uts, ));
+   ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   ut_assertok(vidconsole_select_font(con, "8x16", 0));
ut_asserteq(46, compress_frame_buffer(uts, dev));
 
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
@@ -175,6 +177,42 @@ static int dm_test_video_text(struct unit_test_state *uts)
 }
 DM_TEST(dm_test_video_text, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
 
+static int dm_test_video_text_12x22(struct unit_test_state *uts)
+{
+   struct udevice *dev, *con;
+   int i;
+
+#define WHITE  0x
+#define SCROLL_LINES   100
+
+   ut_assertok(select_vidconsole(uts, "vidconsole0"));
+   ut_assertok(video_get_nologo(uts, ));
+   ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   ut_assertok(vidconsole_select_font(con, "12x22", 0));
+   ut_asserteq(46, compress_frame_buffer(uts, dev));
+
+   ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   vidconsole_putc_xy(con, 0, 0, 'a');
+   ut_asserteq(89, compress_frame_buffer(uts, dev));
+
+   vidconsole_putc_xy(con, 0, 0, ' ');
+   ut_asserteq(46, compress_frame_buffer(uts, dev));
+
+   for (i = 0; i < 20; i++)
+   vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
+   ut_asserteq(363, compress_frame_buffer(uts, dev));
+
+   vidconsole_set_row(con, 0, WHITE);
+   ut_asserteq(46, compress_frame_buffer(uts, dev));
+
+   for (i = 0; i < 20; i++)
+   vidconsole_putc_xy(con, VID_TO_POS(i * 8), 0, ' ' + i);
+   ut_asserteq(363, compress_frame_buffer(uts, dev));
+
+   return 0;
+}
+DM_TEST(dm_test_video_text_12x22, UT_TESTF_SCAN_PDATA | UT_TESTF_SCAN_FDT);
+
 /* Test handling of special characters in the console */
 static int dm_test_video_chars(struct unit_test_state *uts)
 {
@@ -184,6 +222,7 @@ static int dm_test_video_chars(struct unit_test_state *uts)
ut_assertok(select_vidconsole(uts, "vidconsole0"));
ut_assertok(video_get_nologo(uts, ));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   ut_assertok(vidconsole_select_font(con, "8x16", 0));
vidconsole_put_string(con, test_string);
ut_asserteq(466, compress_frame_buffer(uts, dev));
 
@@ -201,6 +240,7 @@ static int dm_test_video_ansi(struct unit_test_state *uts)
ut_assertok(select_vidconsole(uts, "vidconsole0"));
ut_assertok(video_get_nologo(uts, ));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   ut_assertok(vidconsole_select_font(con, "8x16", 0));
 
/* reference clear: */
video_clear(con->parent);
@@ -249,6 +289,7 @@ static int check_vidconsole_output(struct unit_test_state 
*uts, int rot,
 
ut_assertok(video_get_nologo(uts, ));
ut_assertok(uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, ));
+   ut_assertok(vidconsole_select_font(con, "8x16", 0));
ut_asserteq(46, compress_frame_buffer(uts, dev));
 
/* Check display wrap */
-- 
2.30.2