Managing test differences on 32/64-bit systems

Hugh McMaster hugh.mcmaster at outlook.com
Fri Aug 13 08:46:12 CDT 2021


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



More information about the wine-devel mailing list