Alexandre Julliard : kernel32/tests: Don' t check every single Unicode char if the tables are clearly not compatible.

Alexandre Julliard julliard at winehq.org
Wed Jun 4 06:35:34 CDT 2008


Module: wine
Branch: master
Commit: ebb8311a4baee0a0da4a7e710170247167833a95
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ebb8311a4baee0a0da4a7e710170247167833a95

Author: Alexandre Julliard <julliard at winehq.org>
Date:   Wed Jun  4 12:33:38 2008 +0200

kernel32/tests: Don't check every single Unicode char if the tables are clearly not compatible.

---

 dlls/kernel32/tests/locale.c |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c
index 1475ebe..0c10bb4 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 */




More information about the wine-cvs mailing list