Module: wine Branch: master Commit: 42a18cf5fa201c44249589cf4631cc28e05c7509 URL: https://source.winehq.org/git/wine.git/?a=commit;h=42a18cf5fa201c44249589cf4...
Author: Zebediah Figura z.figura12@gmail.com Date: Mon May 4 18:29:41 2020 -0500
kernel32/tests: Account for unsupported NLSVERSIONINFOEX.
Signed-off-by: Zebediah Figura z.figura12@gmail.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/tests/locale.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-)
diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 4c1e1b4d73..a8efb60eb5 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -6653,17 +6653,29 @@ static void test_NLSVersion(void) win_skip( "GetNLSVersion not available\n" ); return; } + SetLastError( 0xdeadbeef ); memset( &info, 0xcc, sizeof(info) ); - info.dwNLSVersionInfoSize = sizeof(info); + info.dwNLSVersionInfoSize = offsetof( NLSVERSIONINFO, dwEffectiveId ); ret = pGetNLSVersion( COMPARE_STRING, MAKELANGID( LANG_FRENCH, SUBLANG_FRENCH_CANADIAN ), (NLSVERSIONINFO *)&info ); ok( ret, "GetNLSVersion failed err %u\n", GetLastError() ); - ok( info.dwEffectiveId == MAKELANGID( LANG_FRENCH, SUBLANG_FRENCH_CANADIAN ), - "wrong id %x\n", info.dwEffectiveId ); - ok( IsEqualIID( &info.guidCustomVersion, &guid_fr ) || - broken( IsEqualIID( &info.guidCustomVersion, &guid_null )), /* <= win7 */ - "wrong guid %s\n", debugstr_guid(&info.guidCustomVersion) ); + + SetLastError( 0xdeadbeef ); + memset( &info, 0xcc, sizeof(info) ); + info.dwNLSVersionInfoSize = sizeof(info); + ret = pGetNLSVersion( COMPARE_STRING, MAKELANGID( LANG_FRENCH, SUBLANG_FRENCH_CANADIAN ), + (NLSVERSIONINFO *)&info ); + ok( ret || GetLastError() == ERROR_INSUFFICIENT_BUFFER /* < Vista */, + "GetNLSVersion failed err %u\n", GetLastError() ); + if (ret) + { + ok( info.dwEffectiveId == MAKELANGID( LANG_FRENCH, SUBLANG_FRENCH_CANADIAN ), + "wrong id %x\n", info.dwEffectiveId ); + ok( IsEqualIID( &info.guidCustomVersion, &guid_fr ) || + broken( IsEqualIID( &info.guidCustomVersion, &guid_null )), /* <= win7 */ + "wrong guid %s\n", debugstr_guid(&info.guidCustomVersion) ); + }
SetLastError( 0xdeadbeef ); info.dwNLSVersionInfoSize = 8;