Module: wine Branch: master Commit: d1dc7e5be42ad5ec789a6c7c74c3b94ff05dc5e7 URL: http://source.winehq.org/git/wine.git/?a=commit;h=d1dc7e5be42ad5ec789a6c7c74...
Author: Juan Lang juan.lang@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);