msvcrt:locale Properly fix setlocale and clean up tests

Alexandre Goujon ale.goujon at gmail.com
Fri Aug 27 11:16:48 CDT 2010


I removed all broken() and ran the tests on all WineTestBot machines
(https://testbot.winehq.org/JobDetails.pl?Key=4829)
Then, I cleaned up tests accordingly : removed superflous broken() and extending ok().
(https://testbot.winehq.org/JobDetails.pl?Key=4831)

I thought broken() meant "a result very specific to a Windows version so considered as buggy".
But now, I see it as "a wrong result due to broken driver for instance"

However, I'm not sure how to consider the result of setlocale uk
Most of machines return United Kingdom but some of them return Ukraine.
What do you think ?
broken() or ok() ?

---
 dlls/kernel32/nls/chs.nls  |    2 +-
 dlls/kernel32/nls/cht.nls  |    2 +-
 dlls/kernel32/nls/non.nls  |    2 +-
 dlls/msvcrt/tests/locale.c |  107 +++++++++++++++++++-------------------------
 4 files changed, 49 insertions(+), 64 deletions(-)

diff --git a/dlls/kernel32/nls/chs.nls b/dlls/kernel32/nls/chs.nls
index c3e7bf8..65cf50c 100644
--- a/dlls/kernel32/nls/chs.nls
+++ b/dlls/kernel32/nls/chs.nls
@@ -97,7 +97,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED
   LOCALE_SDECIMAL "."
   LOCALE_SENGCOUNTRY "People's Republic of China"
   LOCALE_SENGCURRNAME "PRC Yuan Renminbi"
-  LOCALE_SENGLANGUAGE "Chinese"
+  LOCALE_SENGLANGUAGE "Chinese (Simplified)"
   LOCALE_SGROUPING "3;0"
   LOCALE_SINTLSYMBOL "CNY"
   LOCALE_SISO3166CTRYNAME "CN"
diff --git a/dlls/kernel32/nls/cht.nls b/dlls/kernel32/nls/cht.nls
index b99fe42..129cd90 100644
--- a/dlls/kernel32/nls/cht.nls
+++ b/dlls/kernel32/nls/cht.nls
@@ -97,7 +97,7 @@ STRINGTABLE LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_TRADITIONAL
   LOCALE_SDECIMAL "."
   LOCALE_SENGCOUNTRY "Taiwan"
   LOCALE_SENGCURRNAME "New Taiwan Dollar"
-  LOCALE_SENGLANGUAGE "Chinese"
+  LOCALE_SENGLANGUAGE "Chinese (Traditional)"
   LOCALE_SGROUPING "3;0"
   LOCALE_SINTLSYMBOL "TWD"
   LOCALE_SISO3166CTRYNAME "TW"
diff --git a/dlls/kernel32/nls/non.nls b/dlls/kernel32/nls/non.nls
index e33611b..23520da 100644
--- a/dlls/kernel32/nls/non.nls
+++ b/dlls/kernel32/nls/non.nls
@@ -97,7 +97,7 @@ STRINGTABLE LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_NYNORSK
   LOCALE_SDECIMAL ","
   LOCALE_SENGCOUNTRY "Norway"
   LOCALE_SENGCURRNAME "Norwegian Krone"
-  LOCALE_SENGLANGUAGE "Norwegian (Nynorsk)"
+  LOCALE_SENGLANGUAGE "Norwegian-Nynorsk"
   LOCALE_SGROUPING "3;0"
   LOCALE_SINTLSYMBOL "NOK"
   LOCALE_SISO3166CTRYNAME "NO"
diff --git a/dlls/msvcrt/tests/locale.c b/dlls/msvcrt/tests/locale.c
index 2496ebc..dbf0db7 100644
--- a/dlls/msvcrt/tests/locale.c
+++ b/dlls/msvcrt/tests/locale.c
@@ -110,33 +110,33 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "chinese");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
-        || broken(!strcmp(ret, "Chinese_Taiwan.950")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
+        || !strcmp(ret, "Chinese_Taiwan.950"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "chinese-simplified");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
-        || broken(!strcmp(ret, "Chinese_People's Republic of China.936"))
-        || broken(!strcmp(ret, "Chinese_Taiwan.950")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
+        || !strcmp(ret, "Chinese_People's Republic of China.936")
+        || !strcmp(ret, "Chinese_Taiwan.950"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "chinese-traditional");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Chinese (Traditional)_Taiwan.950")
-        || broken(!strcmp(ret, "Chinese_Taiwan.950")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Chinese (Traditional)_Taiwan.950")
+        || !strcmp(ret, "Chinese_Taiwan.950"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "chs");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
-        || broken(!strcmp(ret, "Chinese_People's Republic of China.936")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Chinese (Simplified)_People's Republic of China.936")
+        || !strcmp(ret, "Chinese_People's Republic of China.936"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "cht");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Chinese (Traditional)_Taiwan.950")
-        || broken(!strcmp(ret, "Chinese_Taiwan.950")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Chinese (Traditional)_Taiwan.950")
+        || !strcmp(ret, "Chinese_Taiwan.950"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "csy");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -182,13 +182,12 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "Dutch_Belgium.1252")
-        || broken(!strcmp(ret, "Dutch_Netherlands.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "Dutch_Netherlands.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "ena");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "English_Australia.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "English_Australia.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "ell");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -198,14 +197,12 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "enc");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "English_Canada.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "English_Canada.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "eng");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "English_United Kingdom.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "English_United Kingdom.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "enu");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -215,8 +212,7 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "enz");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "English_New Zealand.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "English_New Zealand.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "english");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -232,25 +228,25 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "English_Australia.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "English_United States.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "english-can");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "English_Canada.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "English_United States.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "english-nz");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "English_New Zealand.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "English_United States.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "english-uk");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "English_United Kingdom.1252")
-        || broken(!strcmp(ret, "English_United States.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "English_United States.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "english-us");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -271,13 +267,13 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "Spanish_Spain.1252")
-        || broken(!strcmp(ret, "Spanish - Modern Sort_Spain.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "Spanish - Modern Sort_Spain.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "esp");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "Spanish_Spain.1252")
-        || broken(!strcmp(ret, "Spanish - Traditional Sort_Spain.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "Spanish - Traditional Sort_Spain.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "fin");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -297,14 +293,12 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "frb");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "French_Belgium.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "French_Belgium.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "frc");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "French_Canada.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "French_Canada.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "french");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -315,25 +309,24 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "French_Belgium.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "French_France.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "french-canadian");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "French_Canada.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "French_France.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "french-swiss");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "French_Switzerland.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "French_France.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "frs");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "French_Switzerland.1252")
-        || broken(!strcmp(ret, "French_France.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "French_Switzerland.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "german");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -344,13 +337,13 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "German_Austria.1252")
-        || broken(!strcmp(ret, "German_Germany.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "German_Germany.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "german-swiss");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "German_Switzerland.1252")
-        || broken(!strcmp(ret, "German_Germany.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "German_Germany.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "greek");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -390,12 +383,13 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "italian-swiss");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "Italian_Switzerland.1252") || broken(!strcmp(ret, "Italian_Italy.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Italian_Switzerland.1252")
+        || !strcmp(ret, "Italian_Italy.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "its");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "Italian_Switzerland.1252") || broken(!strcmp(ret, "Italian_Italy.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Italian_Switzerland.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "japanese");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -420,8 +414,7 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "nlb");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "Dutch_Belgium.1252")
-        || broken(!strcmp(ret, "Dutch_Netherlands.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Dutch_Belgium.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "nld");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -431,33 +424,25 @@ static void test_setlocale(void)
     ret = setlocale(LC_ALL, "non");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok((!strcmp( ret, "Norwegian-Nynorsk_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian (Nynorsk)_Norway.1252")), "ret = %s\n", ret);
+        ok(!strcmp( ret, "Norwegian-Nynorsk_Norway.1252")
+        || !strcmp(ret, "Norwegian (Nynorsk)_Norway.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "nor");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252")
-        || broken(!strcmp(ret, "Norwegian (Bokmal)_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian_Norway.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "norwegian-bokmal");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        ok(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252")
-        || broken(!strcmp(ret, "Norwegian (Bokmal)_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian_Norway.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "norwegian-nynorsk");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Norwegian-Nynorsk_Norway.1252")
-        || broken(!strcmp(ret, "Norwegian_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian (Nynorsk)_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian (Bokmal)_Norway.1252"))
-        || broken(!strcmp(ret, "Norwegian (Bokmål)_Norway.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Norwegian-Nynorsk_Norway.1252")
+        || !strcmp(ret, "Norwegian (Nynorsk)_Norway.1252")
+        || !strcmp(ret, "Norwegian (Bokmål)_Norway.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "plk");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -513,19 +498,19 @@ static void test_setlocale(void)
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "Spanish_Spain.1252")
-        || broken(!strcmp(ret, "Spanish - Traditional Sort_Spain.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "Spanish - Traditional Sort_Spain.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "spanish-mexican");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "Spanish_Mexico.1252")
-        || broken(!strcmp(ret, "Spanish_Spain.1252")), "ret = %s\n", ret);
+        || !strcmp(ret, "Spanish_Spain.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "spanish-modern");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
     if(ret)
-        todo_wine ok(!strcmp(ret, "Spanish - Modern Sort_Spain.1252")
-        || broken(!strcmp(ret, "Spanish_Spain.1252")), "ret = %s\n", ret);
+        ok(!strcmp(ret, "Spanish - Modern Sort_Spain.1252")
+        || !strcmp(ret, "Spanish_Spain.1252"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "sve");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
@@ -556,7 +541,7 @@ static void test_setlocale(void)
     ok(ret != NULL, "ret == NULL\n");
     if(ret)
         ok(!strcmp(ret, "English_United Kingdom.1252")
-        || broken(!strcmp(ret, "Ukrainian_Ukraine.1251")), "ret = %s\n", ret);
+        || !strcmp(ret, "Ukrainian_Ukraine.1251"), "ret = %s\n", ret);
 
     ret = setlocale(LC_ALL, "us");
     ok(ret != NULL || broken (ret == NULL), "ret == NULL\n");
-- 
1.7.0.4




More information about the wine-patches mailing list