Alexandre Julliard : ntdll/tests: Fix a couple of tests on NT4.
Alexandre Julliard
julliard at winehq.org
Thu Nov 6 08:25:56 CST 2008
Module: wine
Branch: master
Commit: 0f9283437c98df89f91ec7a49342a4c88c7ef3f3
URL: http://source.winehq.org/git/wine.git/?a=commit;h=0f9283437c98df89f91ec7a49342a4c88c7ef3f3
Author: Alexandre Julliard <julliard at winehq.org>
Date: Wed Nov 5 19:58:21 2008 +0100
ntdll/tests: Fix a couple of tests on NT4.
---
dlls/ntdll/tests/path.c | 36 +++++++++++++-----------------------
1 files changed, 13 insertions(+), 23 deletions(-)
diff --git a/dlls/ntdll/tests/path.c b/dlls/ntdll/tests/path.c
index fd6e40f..9d39cdc 100644
--- a/dlls/ntdll/tests/path.c
+++ b/dlls/ntdll/tests/path.c
@@ -231,6 +231,8 @@ static void test_RtlGetFullPathName_U(void)
const char *path;
const char *rname;
const char *rfile;
+ const char *alt_rname;
+ const char *alt_rfile;
};
static const struct test tests[] =
@@ -251,8 +253,11 @@ static void test_RtlGetFullPathName_U(void)
{ "c:/test/\\.\\.\\file", "c:\\test\\file", "file"},
{ "c:/test\\\\.\\.\\file", "c:\\test\\file", "file"},
{ "c:/test\\test1\\..\\.\\file", "c:\\test\\file", "file"},
- { "c:///test\\.\\.\\file//", "c:\\test\\file\\", NULL},
+ { "c:///test\\.\\.\\file//", "c:\\test\\file\\", NULL,
+ "c:\\test\\file", "file"}, /* nt4 */
{ "c:///test\\..\\file\\..\\//", "c:\\", NULL},
+ { "c:/test../file", "c:\\test.\\file", "file",
+ "c:\\test..\\file", "file"}, /* vista */
{ NULL, NULL, NULL}
};
@@ -260,7 +265,6 @@ static void test_RtlGetFullPathName_U(void)
WCHAR pathbufW[2*MAX_PATH], rbufferW[MAX_PATH];
CHAR rbufferA[MAX_PATH], rfileA[MAX_PATH];
ULONG ret;
- NTSTATUS status;
WCHAR *file_part;
DWORD reslen;
UINT len;
@@ -270,39 +274,25 @@ static void test_RtlGetFullPathName_U(void)
len= strlen(test->rname) * sizeof(WCHAR);
pRtlMultiByteToUnicodeN(pathbufW , sizeof(pathbufW), NULL, test->path, strlen(test->path)+1 );
ret = pRtlGetFullPathName_U( pathbufW,MAX_PATH, rbufferW, &file_part);
- ok( ret == len, "Wrong result %d/%d for \"%s\"\n", ret, len, test->path );
+ ok( ret == len || (test->alt_rname && ret == strlen(test->alt_rname)*sizeof(WCHAR)),
+ "Wrong result %d/%d for \"%s\"\n", ret, len, test->path );
ok(pRtlUnicodeToMultiByteN(rbufferA,MAX_PATH,&reslen,rbufferW,(lstrlenW(rbufferW) + 1) * sizeof(WCHAR)) == STATUS_SUCCESS,
"RtlUnicodeToMultiByteN failed\n");
- ok(lstrcmpiA(rbufferA,test->rname) == 0, "Got \"%s\" expected \"%s\"\n",rbufferA,test->rname);
+ ok(!lstrcmpiA(rbufferA,test->rname) || (test->alt_rname && !lstrcmpiA(rbufferA,test->alt_rname)),
+ "Got \"%s\" expected \"%s\"\n",rbufferA,test->rname);
if (file_part)
{
ok(pRtlUnicodeToMultiByteN(rfileA,MAX_PATH,&reslen,file_part,(lstrlenW(file_part) + 1) * sizeof(WCHAR)) == STATUS_SUCCESS,
"RtlUnicodeToMultiByteN failed\n");
- ok(test->rfile && !lstrcmpiA(rfileA,test->rfile), "Got \"%s\" expected \"%s\"\n",rfileA,test->rfile);
+ ok((test->rfile && !lstrcmpiA(rfileA,test->rfile)) ||
+ (test->alt_rfile && !lstrcmpiA(rfileA,test->alt_rfile)),
+ "Got \"%s\" expected \"%s\"\n",rfileA,test->rfile);
}
else
{
ok( !test->rfile, "Got NULL expected \"%s\"\n", test->rfile );
}
}
-
- /* "c:/test../file", "c:\\test.\\file", "file"}, */
- pRtlMultiByteToUnicodeN(pathbufW, sizeof(pathbufW), NULL,
- "c:/test../file", strlen("c:/test../file") + 1);
- ret = pRtlGetFullPathName_U(pathbufW, MAX_PATH, rbufferW, &file_part);
- ok(ret == strlen("c:\\test.\\file") * sizeof(WCHAR) ||
- ret == strlen("c:\\test..\\file") * sizeof(WCHAR), /* Vista */
- "Expected 26 or 28, got %d\n", ret);
- status = pRtlUnicodeToMultiByteN(rbufferA, MAX_PATH, &reslen, rbufferW,
- (lstrlenW(rbufferW) + 1) * sizeof(WCHAR));
- ok(status == STATUS_SUCCESS, "RtlUnicodeToMultiByteN failed\n");
- ok(!lstrcmpiA(rbufferA, "c:\\test.\\file") ||
- !lstrcmpiA(rbufferA, "c:\\test..\\file"),
- "Expected \"c:\\test.\\file\" or \"c:\\test..\\file\", got \"%s\"\n", rbufferA);
- status = pRtlUnicodeToMultiByteN(rfileA, MAX_PATH, &reslen, file_part,
- (lstrlenW(file_part) + 1) * sizeof(WCHAR));
- ok(status == STATUS_SUCCESS, "RtlUnicodeToMultiByteN failed\n");
- ok(!lstrcmpiA(rfileA, "file"), "Got \"%s\" expected \"file\"\n", rfileA);
}
START_TEST(path)
More information about the wine-cvs
mailing list