From ebb8311a4baee0a0da4a7e710170247167833a95 Mon Sep 17 00:00:00 2001 From: Alexandre Julliard Date: Wed, 4 Jun 2008 12:33:38 +0200 Subject: [PATCH] kernel32/tests: Don't check every single Unicode char if the tables are clearly not compatible. --- dlls/kernel32/tests/locale.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 1475ebe57b7..0c10bb4cc93 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -1620,7 +1620,7 @@ static void test_FoldStringA(void) static void test_FoldStringW(void) { int ret; - unsigned int i, j; + unsigned int i, j, failures; WCHAR src[256], dst[256], ch, prev_ch = 1; static const DWORD badFlags[] = { @@ -1907,7 +1907,7 @@ static void test_FoldStringW(void) } /* MAP_FOLDCZONE */ - for (ch = 1; ch <0xffff; ch++) + for (ch = 1, failures = 0; ch <0xffff; ch++) { WCHAR expected = 0; @@ -1939,6 +1939,11 @@ static void test_FoldStringW(void) ch == 0xff9e || ch == 0xff9f, "MAP_FOLDCZONE: ch %d 0x%04x Expected 0x%04x got 0x%04x\n", ch, ch, expected, dst[0]); + if (dst[0] != expected && ch < 0xf000 && ++failures > 50) + { + trace( "MAP_FOLDCZONE: Too many failures, giving up\n" ); + break; + } } /* MAP_EXPAND_LIGATURES */