Juan Lang : kernel32: Fix test failures on NT4.

Alexandre Julliard julliard at winehq.org
Fri Feb 13 08:59:13 CST 2009


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

Author: Juan Lang <juan.lang at gmail.com>
Date:   Thu Feb 12 15:14:20 2009 -0800

kernel32: Fix test failures on NT4.

---

 dlls/kernel32/tests/environ.c |   20 ++++++++++++++------
 1 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/dlls/kernel32/tests/environ.c b/dlls/kernel32/tests/environ.c
index 70549e3..aa163b4 100644
--- a/dlls/kernel32/tests/environ.c
+++ b/dlls/kernel32/tests/environ.c
@@ -245,13 +245,14 @@ static void test_ExpandEnvironmentStringsA(void)
     SetEnvironmentVariableA("EnvVar", value);
 
     ret_size = ExpandEnvironmentStringsA(NULL, buf1, sizeof(buf1));
-    ok(ret_size == 1 || ret_size == 0 /* Win9x */,
+    ok(ret_size == 1 || ret_size == 0 /* Win9x */ || ret_size == 2 /* NT4 */,
        "ExpandEnvironmentStrings returned %d\n", ret_size);
 
     /* Try to get the required buffer size 'the natural way' */
     strcpy(buf, "%EnvVar%");
     ret_size = ExpandEnvironmentStringsA(buf, NULL, 0);
     ok(ret_size == strlen(value)+1 || /* win98 */
+       ret_size == (strlen(value)+1)*2 || /* NT4 */
        ret_size == strlen(value)+2 || /* win2k, XP, win2k3 */
        ret_size == 0 /* Win95 */,
        "ExpandEnvironmentStrings returned %d instead of %d, %d or %d\n",
@@ -260,21 +261,24 @@ static void test_ExpandEnvironmentStringsA(void)
     /* Again, side-stepping the Win95 bug */
     ret_size = ExpandEnvironmentStringsA(buf, buf1, 0);
     /* v5.1.2600.2945 (XP SP2) returns len + 2 here! */
-    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2,
+    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2 ||
+       ret_size == (strlen(value)+1)*2 /* NT4 */,
        "ExpandEnvironmentStrings returned %d instead of %d\n",
        ret_size, lstrlenA(value)+1);
 
     /* Try with a buffer that's too small */
     ret_size = ExpandEnvironmentStringsA(buf, buf1, 12);
     /* v5.1.2600.2945 (XP SP2) returns len + 2 here! */
-    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2,
+    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2 ||
+       ret_size == (strlen(value)+1)*2 /* NT4 */,
        "ExpandEnvironmentStrings returned %d instead of %d\n",
        ret_size, lstrlenA(value)+1);
 
     /* Try with a buffer of just the right size */
     /* v5.1.2600.2945 (XP SP2) needs and returns len + 2 here! */
     ret_size = ExpandEnvironmentStringsA(buf, buf1, ret_size);
-    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2,
+    ok(ret_size == strlen(value)+1 || ret_size == strlen(value)+2 ||
+       ret_size == strlen(value)*2 /* NT4 */,
        "ExpandEnvironmentStrings returned %d instead of %d\n",
        ret_size, lstrlenA(value)+1);
     ok(!strcmp(buf1, value), "ExpandEnvironmentStrings returned [%s]\n", buf1);
@@ -282,7 +286,9 @@ static void test_ExpandEnvironmentStringsA(void)
     /* Try with an unset environment variable */
     strcpy(buf, not_an_env_var);
     ret_size = ExpandEnvironmentStringsA(buf, buf1, sizeof(buf1));
-    ok(ret_size == strlen(not_an_env_var)+1, "ExpandEnvironmentStrings returned %d instead of %d\n", ret_size, lstrlenA(value)+1);
+    ok(ret_size == strlen(not_an_env_var)+1 ||
+       ret_size == (strlen(not_an_env_var)+1)*2 /* NT4 */,
+       "ExpandEnvironmentStrings returned %d instead of %d\n", ret_size, lstrlenA(not_an_env_var)+1);
     ok(!strcmp(buf1, not_an_env_var), "ExpandEnvironmentStrings returned [%s]\n", buf1);
 
     /* test a large destination size */
@@ -303,7 +309,9 @@ static void test_ExpandEnvironmentStringsA(void)
     strcpy(buf, "Indirect-%IndirectVar%-Indirect");
     strcpy(buf2, "Indirect-Foo%EnvVar%Bar-Indirect");
     ret_size = ExpandEnvironmentStringsA(buf, buf1, sizeof(buf1));
-    ok(ret_size == strlen(buf2)+1, "ExpandEnvironmentStrings returned %d instead of %d\n", ret_size, lstrlen(buf2)+1);
+    ok(ret_size == strlen(buf2)+1 ||
+       ret_size == (strlen(buf2)+1)*2 /* NT4 */,
+       "ExpandEnvironmentStrings returned %d instead of %d\n", ret_size, lstrlen(buf2)+1);
     ok(!strcmp(buf1, buf2), "ExpandEnvironmentStrings returned [%s]\n", buf1);
     SetEnvironmentVariableA("IndirectVar", NULL);
 




More information about the wine-cvs mailing list