[PATCH] kernel32/tests: Add tests for SetCurrentConsoleFontEx
Jacek Caban
jacek at codeweavers.com
Tue Aug 17 05:38:07 CDT 2021
Hi Hugh,
On 8/16/21 2:27 PM, Hugh McMaster wrote:
> Signed-off-by: Hugh McMaster <hugh.mcmaster at outlook.com>
> ---
> dlls/kernel32/tests/console.c | 149 ++++++++++++++++++++++++++++++++++
> 1 file changed, 149 insertions(+)
>
> diff --git a/dlls/kernel32/tests/console.c b/dlls/kernel32/tests/console.c
> index bd5cad428bc..2097e8e53d3 100644
> --- a/dlls/kernel32/tests/console.c
> +++ b/dlls/kernel32/tests/console.c
> @@ -3536,6 +3536,154 @@ static void test_GetCurrentConsoleFontEx(HANDLE std_output)
> ok(cfix.dwFontSize.Y == cfi.dwFontSize.Y, "expected values to match\n");
> }
>
> +static void test_SetCurrentConsoleFontEx(HANDLE std_output)
> +{
> + HANDLE hmod;
> + BOOL (WINAPI *pGetCurrentConsoleFontEx)(HANDLE, BOOL, CONSOLE_FONT_INFOEX *);
> + BOOL (WINAPI *pSetCurrentConsoleFontEx)(HANDLE, BOOL, CONSOLE_FONT_INFOEX *);
> + CONSOLE_FONT_INFOEX orig_cfix, cfix;
> + BOOL ret;
> + HANDLE pipe1, pipe2;
> + HANDLE std_input = GetStdHandle(STD_INPUT_HANDLE);
> +
> + hmod = GetModuleHandleA("kernel32.dll");
> + pGetCurrentConsoleFontEx = (void *)GetProcAddress(hmod, "GetCurrentConsoleFontEx");
> + pSetCurrentConsoleFontEx = (void *)GetProcAddress(hmod, "SetCurrentConsoleFontEx");
> +
> + if (!pGetCurrentConsoleFontEx || !pSetCurrentConsoleFontEx)
> + {
> + win_skip("GetCurrentConsoleFontEx and SetCurrentConsoleFontEx are not available\n");
> + return;
> + }
Those seem to be available since Vista, so you may just link to them
directly, there is no need for GetProcAddress.
> +
> + cfix.cbSize = sizeof(CONSOLE_FONT_INFOEX);
> +
(...)
> + SetLastError(0xdeadbeef);
> + ret = pSetCurrentConsoleFontEx(std_output, FALSE, &cfix);
> + todo_wine ok(ret, "got %d, expected non-zero\n", ret);
> + todo_wine ok(GetLastError() == 0xdeadbeef, "got %u, expected 0xdeadbeef\n", GetLastError());
You only initialize cbSize of cfix, so other fields are uninitialized.
Maybe those functions accept any input or maybe you're lucky that it
works. In any case I would suggest to initialize entire struct to make
tests more predictable.
Thanks,
Jacek
More information about the wine-devel
mailing list