[PATCH v2 2/3] ntdll/tests: Simplify ProcessImageFileName test.
Zebediah Figura
z.figura12 at gmail.com
Thu Mar 1 18:16:04 CST 2018
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
v2: fix test failures
dlls/ntdll/tests/info.c | 21 ++++++++-------------
dlls/ntdll/tests/ntdll_test.h | 1 +
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/dlls/ntdll/tests/info.c b/dlls/ntdll/tests/info.c
index 54321e5..75afd76 100644
--- a/dlls/ntdll/tests/info.c
+++ b/dlls/ntdll/tests/info.c
@@ -1416,12 +1416,11 @@ static void test_query_process_handlecount(void)
static void test_query_process_image_file_name(void)
{
+ static const WCHAR deviceW[] = {'\\','D','e','v','i','c','e','\\'};
NTSTATUS status;
ULONG ReturnLength;
UNICODE_STRING image_file_name;
- void *buffer;
- char *file_nameA;
- INT len;
+ UNICODE_STRING *buffer = NULL;
status = pNtQueryInformationProcess(NULL, ProcessImageFileName, &image_file_name, sizeof(image_file_name), NULL);
if (status == STATUS_INVALID_INFO_CLASS)
@@ -1437,18 +1436,14 @@ static void test_query_process_image_file_name(void)
status = pNtQueryInformationProcess( GetCurrentProcess(), ProcessImageFileName, &image_file_name, sizeof(image_file_name), &ReturnLength);
ok( status == STATUS_INFO_LENGTH_MISMATCH, "Expected STATUS_INFO_LENGTH_MISMATCH, got %08x\n", status);
- buffer = HeapAlloc(GetProcessHeap(), 0, ReturnLength);
+ buffer = heap_alloc(ReturnLength);
status = pNtQueryInformationProcess( GetCurrentProcess(), ProcessImageFileName, buffer, ReturnLength, &ReturnLength);
ok( status == STATUS_SUCCESS, "Expected STATUS_SUCCESS, got %08x\n", status);
- memcpy(&image_file_name, buffer, sizeof(image_file_name));
- len = WideCharToMultiByte(CP_ACP, 0, image_file_name.Buffer, image_file_name.Length/sizeof(WCHAR), NULL, 0, NULL, NULL);
- file_nameA = HeapAlloc(GetProcessHeap(), 0, len + 1);
- WideCharToMultiByte(CP_ACP, 0, image_file_name.Buffer, image_file_name.Length/sizeof(WCHAR), file_nameA, len, NULL, NULL);
- file_nameA[len] = '\0';
- HeapFree(GetProcessHeap(), 0, buffer);
- trace("process image file name: %s\n", file_nameA);
- todo_wine ok(strncmp(file_nameA, "\\Device\\", 8) == 0, "Process image name should be an NT path beginning with \\Device\\ (is %s)\n", file_nameA);
- HeapFree(GetProcessHeap(), 0, file_nameA);
+todo_wine
+ ok(!memcmp(buffer->Buffer, deviceW, sizeof(deviceW)),
+ "Expected image name to begin with \\Device\\, got %s\n",
+ wine_dbgstr_wn(buffer->Buffer, buffer->Length / sizeof(WCHAR)));
+ heap_free(buffer);
}
static void test_query_process_debug_object_handle(int argc, char **argv)
diff --git a/dlls/ntdll/tests/ntdll_test.h b/dlls/ntdll/tests/ntdll_test.h
index 167e5ca..a8066c5 100644
--- a/dlls/ntdll/tests/ntdll_test.h
+++ b/dlls/ntdll/tests/ntdll_test.h
@@ -33,3 +33,4 @@
#include "winternl.h"
#include "wine/test.h"
+#include "wine/heap.h"
--
2.7.4
More information about the wine-devel
mailing list