1 // SPDX-License-Identifier: GPL-2.0+
3 * Tests for font command
5 * Copyright 2022 Google LLC
10 #include <video_console.h>
11 #include <test/suites.h>
14 /* Declare a new fdt test */
15 #define FONT_TEST(_name, _flags) UNIT_TEST(_name, _flags, font_test)
17 /* Test 'fdt addr' resizing an fdt */
18 static int font_test_base(struct unit_test_state *uts)
26 ut_assertok(uclass_first_device_err(UCLASS_VIDEO, &dev));
27 ut_assertok(uclass_first_device_err(UCLASS_VIDEO_CONSOLE, &dev));
29 ut_assertok(run_command("font list", 0));
30 ut_assert_nextline("nimbus_sans_l_regular");
31 if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE_CANTORAONE))
32 ut_assert_nextline("cantoraone_regular");
33 ut_assert_console_end();
35 ut_assertok(vidconsole_get_font_size(dev, &name, &size));
36 ut_asserteq_str("nimbus_sans_l_regular", name);
37 ut_asserteq(18, size);
39 if (!IS_ENABLED(CONFIG_CONSOLE_TRUETYPE_CANTORAONE))
43 if (IS_ENABLED(CONFIG_CONSOLE_TRUETYPE))
44 max_metrics = IF_ENABLED_INT(CONFIG_CONSOLE_TRUETYPE,
45 CONFIG_CONSOLE_TRUETYPE_MAX_METRICS);
47 ret = run_command("font select cantoraone_regular 40", 0);
48 if (max_metrics < 2) {
50 ut_assert_nextline("Failed (error -7)");
51 ut_assert_console_end();
56 ut_assert_console_end();
58 ut_assertok(vidconsole_get_font_size(dev, &name, &size));
59 ut_asserteq_str("cantoraone_regular", name);
60 ut_asserteq(40, size);
62 ut_assertok(run_command("font size 30", 0));
63 ut_assert_console_end();
65 ut_assertok(vidconsole_get_font_size(dev, &name, &size));
66 ut_asserteq_str("cantoraone_regular", name);
67 ut_asserteq(30, size);
71 FONT_TEST(font_test_base, UTF_SCAN_PDATA | UTF_SCAN_FDT | UTF_CONSOLE |
74 int do_ut_font(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
76 struct unit_test *tests = UNIT_TEST_SUITE_START(font_Test);
77 const int n_ents = UNIT_TEST_SUITE_COUNT(font_test);
79 return cmd_ut_category("font", "font_test_", tests, n_ents, argc, argv);