[PATCH v2 0/3] MR1897: kernel32/tests: Call newer functions not on Windows XP or 2003 via function addresses (locale)
There are times when it is useful to test changes on the Windows XP and 2003 VMs, but the direct use of functions not on those platforms makes this impossible. -- v2: kernel32/tests: Call CompareStringEx via function address (locale.c) kernel32/tests: Call LCIDToLocaleName via function address (locale.c) kernel32/tests: Call LCMapStringEx via function address (locale.c) https://gitlab.winehq.org/wine/wine/-/merge_requests/1897
From: Hugh McMaster <hugh.mcmaster(a)outlook.com> Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com> --- dlls/kernel32/tests/locale.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 886240cc22c..dbcc5bb5a8f 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -8271,7 +8271,15 @@ static void dump_sortkeys( char *argv[] ) BYTE key[256]; unsigned int i, val, pos, res, flags = 0; char *p, *end, buffer[1024]; - FILE *f = fopen( argv[1], "r" ); + FILE *f; + + if (!pLCMapStringEx) + { + win_skip("LCMapStringEx not available.\n"); + return; + } + + f = fopen( argv[1], "r" ); locale[0] = 0; if (argv[2]) @@ -8306,8 +8314,8 @@ static void dump_sortkeys( char *argv[] ) while (*p == ' ' || *p == '\t') p++; } *p = 0; - res = LCMapStringEx( locale, flags | LCMAP_SORTKEY, data, pos, - (WCHAR *)key, sizeof(key), NULL, NULL, 0 ); + res = pLCMapStringEx( locale, flags | LCMAP_SORTKEY, data, pos, + (WCHAR *)key, sizeof(key), NULL, NULL, 0 ); printf( "%s:", buffer ); for (i = 0; i < res; i++) printf( " %02x", key[i] ); printf( "\n" ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1897
From: Hugh McMaster <hugh.mcmaster(a)outlook.com> Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com> --- dlls/kernel32/tests/locale.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index dbcc5bb5a8f..e5d9cc6a078 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -2864,9 +2864,9 @@ static void test_LocaleNameToLCID(void) WCHAR expbuff[LOCALE_NAME_MAX_LENGTH]; const struct neutralsublang_name_t *ptr; - if (!pLocaleNameToLCID) + if (!pLCIDToLocaleName || !pLocaleNameToLCID) { - win_skip( "LocaleNameToLCID not available\n" ); + win_skip( "LCIDToLocaleName or LocaleNameToLCID not available.\n" ); return; } @@ -3128,7 +3128,7 @@ static void test_LocaleNameToLCID(void) status = pRtlLcidToLocaleName( LOCALE_SYSTEM_DEFAULT, &str, 0, 0 ); ok( status == STATUS_SUCCESS, "wrong error %lx\n", status ); ok( str.Length == wcslen(buffer) * sizeof(WCHAR), "wrong len %u\n", str.Length ); - LCIDToLocaleName( GetSystemDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); + pLCIDToLocaleName( GetSystemDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); ok( !wcscmp( buffer, expect ), "wrong name %s / %s\n", debugstr_w(buffer), debugstr_w(expect) ); ok( !IsValidLocale( LOCALE_USER_DEFAULT, 0 ), "expected invalid\n" ); @@ -3136,7 +3136,7 @@ static void test_LocaleNameToLCID(void) status = pRtlLcidToLocaleName( LOCALE_USER_DEFAULT, &str, 0, 0 ); ok( status == STATUS_SUCCESS, "wrong error %lx\n", status ); ok( str.Length == wcslen(buffer) * sizeof(WCHAR), "wrong len %u\n", str.Length ); - LCIDToLocaleName( GetUserDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); + pLCIDToLocaleName( GetUserDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); ok( !wcscmp( buffer, expect ), "wrong name %s / %s\n", debugstr_w(buffer), debugstr_w(expect) ); ok( IsValidLocale( LOCALE_INVARIANT, 0 ), "expected valid\n" ); @@ -3150,7 +3150,7 @@ static void test_LocaleNameToLCID(void) status = pRtlLcidToLocaleName( LOCALE_CUSTOM_DEFAULT, &str, 0, 0 ); ok( status == STATUS_SUCCESS, "wrong error %lx\n", status ); ok( str.Length == wcslen(buffer) * sizeof(WCHAR), "wrong len %u\n", str.Length ); - LCIDToLocaleName( GetUserDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); + pLCIDToLocaleName( GetUserDefaultLCID(), expect, ARRAY_SIZE(expect), 0 ); ok( !wcscmp( buffer, expect ), "wrong name %s / %s\n", debugstr_w(buffer), debugstr_w(expect) ); status = pRtlLcidToLocaleName( LOCALE_CUSTOM_UI_DEFAULT, &str, 0, 0 ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1897
From: Hugh McMaster <hugh.mcmaster(a)outlook.com> Signed-off-by: Hugh McMaster <hugh.mcmaster(a)outlook.com> --- dlls/kernel32/tests/locale.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index e5d9cc6a078..6a29c6c09be 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -3722,9 +3722,9 @@ static void test_unicode_sorting(void) int ret1; int ret2; BYTE buffer[1000]; - if (!pLCMapStringEx) + if (!pCompareStringEx || !pLCMapStringEx) { - win_skip("LCMapStringEx not available\n"); + win_skip("CompareStringEx or LCMapStringEx not available.\n"); return; } for (i = 0; i < ARRAY_SIZE(unicode_sorting_tests); i++) @@ -3747,7 +3747,7 @@ static void test_unicode_sorting(void) ok (result == entry->result_sortkey, "Test %d (%s, %s) - Expected %d, got %d\n", i, wine_dbgstr_w(entry->first), wine_dbgstr_w(entry->second), entry->result_sortkey, result); - result = CompareStringEx(entry->locale, entry->flags, entry->first, -1, entry->second, -1, NULL, NULL, 0); + result = pCompareStringEx(entry->locale, entry->flags, entry->first, -1, entry->second, -1, NULL, NULL, 0); ok (result == entry->result_compare, "Test %d (%s, %s) - Expected %d, got %d\n", i, wine_dbgstr_w(entry->first), wine_dbgstr_w(entry->second), entry->result_compare, result); } -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/1897
This merge request was closed by Hugh McMaster. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/1897
participants (2)
-
Hugh McMaster -
Hugh McMaster (@hmc)