I'm adding tests for SetCurrentConsoleFontEx to dlls/kernel32/tests/console.c.
The behaviour is unusual on Windows and changes on 32-bit and 64-bit systems.
For example, when deliberately testing failure, the 32-bit function returns ERROR_INVALID_HANDLE, while the 64-bit equivalent returns ERROR_INVALID_PARAMETER.
In one particular test, the 32-bit function even returns non-zero (success), while the 64-bit function correctly returns zero (failure).
Should I mark the the 32-bit return codes as broken?
And what should I do about the zero/non-zero difference? Writing something like ok(!ret || broken(ret), ...) seems rather strange.
I'm also wondering how to manage this when implementing the function.
Thanks